2014年2月10日月曜日

Kindleでアプリ開発~Amazon SDK

Kindleでアプリ開発するにあたりメモ。
AndroidOS と Fire OSとの差異やAmazon SDKなどについて。
開発はUnity利用を想定しているのでその辺も随時触れてみる。



Androidタブレットは普通Android OSを搭載しているが、KindleはFire OSを搭載している。

Fire OSはAndroidベースにアマゾンが手を加えたものでAndroid OSと互換性がある。


アマゾンのテストによると、市場の1600個のAndroidアプリのうち75%はKindle Fireでそのまま動作したとのこと。
この数字で互換性が高いとみるかどうかはなんともいえないが、互換性が100%ではないということは示唆している。
ランチャー等もアマゾン独自のものとなっているので、一見すると別物にみえる。



■ベースとなっているAndroid OSバージョン


を整理すると以下のような感じ。



(第一世代)Android 2.3.3(Gingerbread / API level10)ベース
Kindle Fire


(第二世代)Android4.0.3( Ice Cream Sandwich / API level15)ベース
Kindle Fire
Kindle Fire HD
Kindle Fire HD8.9

(第三世代) Fire OS 3.0。Android4.2.2(JellyBean / API level17)ベース
Kindle Fire HD   
Kindle Fire HDX
Kindle Fire HDX 8.9



アプリ開発において見るべきはAPI levelの部分。


現行最新Unity 4.3.4.f1では Gingerbread 2.3.1 API level9 でコンパイルできるので全て網羅できる。

API level10は一部の携帯端末等でまだ使われているが、このAPI搭載の機器は性能が非力な傾向がある。このAPI levelに対応するのならば実装を充分軽くする工夫が必要になるかもしれない。昨今のデバイスを主軸におくならもはや API level15 としていいかもしれない。特にUnityで3Dアプリを作る場合は機器の性能がある程度必要だと思われるので。





■Amazon Mobile App SDK

KindleFire用アプリ開発でも、一般的なAndroid開発と同じものを使用(Eclipse+Andoird SDK、Unity等)。

それらに追加する形でアマゾンサービス特化のSDK「Amazon Mobile App SDK」がアマゾンより提供されている。(https://developer.amazon.com/public/ から、GETTING STARTED > Android / Fire OS > Get the SDK)

このSDKに含まれている機能の概要は以下のようなもの。基本的に利用は全て無料。
※特に利用する必要がなければ使う必要はないので必須というわけではない。

一部の機能は既にUnityプラグイン対応済み。これはちょっと嬉しいかも。さすがアマゾン。


◆アプリ内課金

アプリ内からゲーム内通貨を販売できるAPI。
デジタルコンテンツ=ゲーム内アイテム等や定期購読にも対応らしい。
※ちなみにアマゾンは独自のゲーム内通貨を既に用意しています。
※Unityプラグイン対応有




◆モバイル広告

アプリに広告をのせるためのAPIとサンプル。いわゆるCPM。
出稿元はアマゾンと商標広告主。アマゾンと他のAndroidストアに配信。
※これはUSユーザーのみ対象。




◆モバイルアソシエイト

アプリを通じて製品販売が成立した場合6%収益。
※これはUSユーザーのみ対象。


◆Amazon Device Messaging

略してADM。クラウド側からKindle端末へメッセージをPushできる。
ユーザーに対して何かNotificationを送る等に使えるらしい。
いろいろ使い道はありそうだが、これは少々上級者向けかもしれない。




◆GameCircle API 

ゲームの付加機能を提供するもの。
ゲームでのクリア履歴や達成項目リスト、ランキングなどをクラウド側で記憶したり、ゲームのセーブをクラウドに行えるAPIを提供。
これは便利な気がする。
※Unityプラグイン対応有


◆Amazon Map API

Google map APIの代替え。
KindleではGoogle APIが使えないとのことで、Amazon APIを使う。
これは地味にアプリの互換性に関わる。Kindleで動作しないアプリの多くはGoogleAPI絡みではないだろうか。
アプリ実装時点から考慮しておけばAndoid、Kindle両対応は難しいものではないと思う。


◆A/Bテスト


A/Bテスト。ちょっと具体的に何をA/Bテストするのか公式サイトから読みきれてない。
5種類のアプリを用意してテストにかけるような記述がチラホラ。


◆アナリティクス

使ってないのでなんともだが、どうも以下のような感じ。

アプリのダウンロード/インストールの統計。
アプリを繰り返し遊んだか、どれくらい長い時間アプリを使用したか。
アプリの保持率(インストールしたままの期間?)
アプリでユーザーが取った特殊な行動について。




■無料アプリテストサービス

アマゾン公式のDeveloperサイトでは無料アプリテスト「App Testing Service」を提供している。
このサイトに作成したアプリをアップロードすると問題がないか検査してくれる。
※検査が通るとそのままストアにアップロードに移れる
※どこまで検査しているのかわからないが、一応通しておく方が良い。




■まとめ

コンパイル時のAPI level に注意すればKindleでも基本的に動く。Kindleだからとあまり深く考える必要もない。

ただしGoogleAPIを使う際は注意。Kindle対応ならAmazon SDKを利用しなければならない。1つのアプリで両対応する場合はKindleか否かを判定する必要もでてくる。


ゲーム作成においてゲーム内課金を考慮すると、Amazon Mobile App SDK提供のGameCircle API 、アプリ内課金APIには注目。
課金収益をアマゾンが管理してくれるのは面倒がなくてありがたい。しかもUnityプラグイン対応済みである。(※ただしEINに注意。要確認)

これはゲーム開発としては結構良いソリューションではないかと思う。
しかも実はこのAmazon Mobile App SDK、あくまで「アマゾンのサービス」を利用するSDKなので、デバイスはIOS、Android、KindleFireで使えると明言されている。

私的には Unity+Amazon Mobile App SDK でゲーム内課金/アイテム販売というのは一般開発者からみるとすごく敷居が低くなった気がする。





0 件のコメント:

コメントを投稿