
AmazonアプリストアにFireタブレット用のアプリをリリースする手順徹底攻略
概要
きっかけ
アプリ開発におけるプラットフォームといえば「Android(PlayStore)」か「iOS(AppStore)」の2強である。
もう少し選択肢はないのだろうか?
と、常々考えていた。
そこで調べてみたところ『FireOS(Amazonアプリストア)』というフロンティアがあるらしく、開拓していこうかと思った。
本記事は、Amazonアプリストアにアプリをリリースする手順の備忘録である。
興味のある方は、是非読んで欲しく思う。
FireOS
FireOSとはアマゾンが独自にAndroidをカスタマイズしたOSである。
アマゾンが出しているデバイスであるFireタブレットに搭載されている。
Androidで作成したものを使えるが、実装の内容によってはFireOSように改修する必要な場合もある。
( ※ 詳しくは『目次:Fire OS - A3L SDK』などを見ていただきたい )
Fireタブレット
なお、Fireタブレットという性質上、Amazonアプリストアにリリースするものは基本タブレット向きのものであろう。
よって、スマホよりタブレット向きのアプリを開発したい人には打ってつけの市場である事は言うまでもない。
もちろん、ポテンシャル的にも興味深い市場だ。
ちなみに、Fireタブレットは「8インチ」より『10インチ』の方が売れている。
Amazonアプリストアは競合が少ないように思えるので、今後は積極的に進出するつもりだ。
まだ、Fireタブレットは持っていないが進出が順調に進むようであれば購入したいと思っている。
Fire OS
Fireタブレットについて
Fireタブレットについての公式トップページ(開発者用)
シュミレーターについて
私の場合、Fireタブレットを持っていないと言うこともあり、シュミレーターを活用したく思う。
が、『Fireタブレットのシュミレーター』そのものは無い。
1.Fireタブレットのサイズや機能に近い、Androidのシュミレーターを使う。
2.カスタムサイズのシュミレーターにする。
の候補があがる。「2」は面倒なので『1』にする。
Android → FireOS
本記事は「リリース手順」に関してなので、詳細は公式ぺーじを確認して欲しい。
A3L SDK
●既存のAndroidアプリを移植する場合
「Firebase SDK」等は使えず『A3L SDK』にする必要がある
デバイスの向き(センサーベース、カメラ、加速度計 など)
インテントのサポート状況
などなど、詳細は公式を参照すること。
Amazon開発者アカウント
Amazon開発者アカウントに登録する
通常のAmazonアカウントがある場合、それでログインする事も可能。
この場合、開発者コンソールが開発者アカウントを自動的に作成して、通常アカウントと紐付けるらしい。
何はともあれ、早速登録をする。
(通常のAmazonアカウントがあるので、それと紐づけるパターンを例とする)

『Amazon開発者向けポータル』にアクセスし「ログイン」クリック

ログインします。
💡 通常のAmazonアカウントがある場合、それでログインする事も可能です
この場合、開発者コンソールが開発者アカウントを自動的に作成してくれます
(※ もちろん、別途「Amazon Developerアカウントを作成」する事も出来ます )
確認コード

アカウントのメールアドレスに確認コードが送られます。
それを60秒以内に入力する必要があります。
すぐ対応出来るよう、予めメールの受信トレイを開いておくと良いでしょう。
開発者情報

「開発者情報」を入力していきます。

「その他の情報」も入力していきます。

『Amazon Developer Services Agreement』のリンクをクリック。
内容を読んで問題無いようなら「同意して継続」押下。

登録完了後、トップ画面に遷移します。
予め用意しておくもの
予め用意しておく
アプリのリリースは「App BundleまたはAPKファイル」はもちろんの事、その他(スクリーショットの画像など)も用意するものがあります。
また「アプリの説明」とかは登録画面で入力出来ますが、予めメモ帳に書いておいてコピペするようにした方がスムーズに進むでしょう。
アプリの説明
・表示タイトル(200文字以内)
・簡潔な説明(1200文字以内)
・詳細説明(4000文字以内)
・検索キーワード(カンマやスペース区切り)
・アプリの特徴(箇所書き10個まで)
📝 「ローカリゼーション」のデフォルトの英語は必須です
そこに日本語も追加するので、「日本語」「英語」の2通り必要となります。
※ アセット類も2通り用意します
タブレットのアセット
●アイコン
・512 x 512pxのPNG(透過)
・114 x 114pxのPNG(透過)
●スクリーンショット(最低3点)
800 x 480px | 1024 x 600px | 1280 x 720px | 1280 x 800px | 1920 x 1080px |1920 x 1200px | 2560 x 1600px(PNGまたはJPG)
●プロモーション用画像(推奨)
1024 x 500px(横長のみ)のPNGまたはJPG
●動画(推奨)
最大5つまでアップロード可能。サポートされるファイル形式はMPEG-2、WMV、MOV、FLV、AVI、H.264 MPEG-4。幅720px - 1080px(4:3または16:9)。速さ1200kbps以上
カスタマーサポート連絡先
・サポート用のメールアドレス(必須)
・電話(省略可能)
・ウェブサイト(省略可能)
アプリの価格
無料か有料か?
有料なら価格を決めておくこと。
カテゴリー
・カテゴリー
・サブカテゴリー
※ プルダウンより選択するので、項目を確認しておく
(『手順1: アプリファイルをアップロード』画面 )
プライバシーポリシー
例えばAdMobを貼っている場合は、その旨を開示する必要があります。
詳細は「ユーザーデータのプライバシーポリシー」を確認してください。
AAB/APKファイルと署名
●AAB/APKファイル
AABもしくはAPKファイルに対応してます。
📝 詳細は公式「App Bundle」「Android App Bundleをサポート開始へ」を参照してください
●署名
AmazonDeveloperコンソールでアプリ申請時に「Amazonアプリストアの証明書ハッシュ」が発行されます。
説明を見る限り、AAB/APKファイル作成時に自分で組み込んだ署名は適応されないように思えます。
ちなみに、私は一応AABファイル作成時に署名を組み込んでおきました(まあ、おそらく適応されませんが ……)
その他
その他、もう既に出ているAmazonアプリの説明など参考にすれば、説明などのアイデアが出るかも知れません💡
新規アプリの申請
手順1: アプリファイルをアップロード

「新規アプリを追加する」押下。

「アプリタイトル」などを入力していき「保存」押下
●アプリファイル
AABもしくはAPKファイルをアップロードします

📝 前述した署名に関してですが「Amazonアプリストアの証明書ハッシュ」より確認できます。

・「サポート言語」を選択
・「カスタマーサポート連絡先」を入力
●DRMの適応

ファイルアップロード完了すると「DRMの適応」の選択欄がでます。


まあ、私は「DRMの適応」を有効にしておきました
●関連情報

アプリIDとリリースIDが表示されます。
●Amazonアプリストアの証明書ハッシュ

「Amazonアプリストアの証明書ハッシュ」をクリックで表示される。
ご覧の通り、開発者の署名は取り除かれる模様。
手順2: アプリのターゲットを指定

アプリのターゲットを指定していきます

「レーティングに関するアンケート」も忘れずに選択しましょう
(※「アンケートを表示」クリックで選択画面が出ます)

手順3: Amazonアプリストアの詳細

Amazonアプリストアの詳細を記述します。
英語が選択されている英語版を入力していきます。

「ローカリゼーション」が曲者でして、英語(米国)は必須で、英語版で入力

「追加」ボタンで日本語を選択。

日本語を選択して、日本語版を入力します。

アセット類もアップロード

なお説明文だけでなく、アセット類も「ローカリゼーション」があるので日本語版も追加していきましょう

日本語を追加

日本語版のアセット類をアップロードし終わると「準備中 → 完了」となる。
(※ 繰り返しになりますが、英語版は必須です)
手順4: 確認と申請

「コンプライアンス」を確認して、問題無いようならチェック。


私の場合「アプリを申請」ボタン押下時にこのようなエラーが発生しました。
で、適当にページ更新していたら、何故か申請が出来る。

申請完了画面が表示されます。
なお、申請完了の旨のメールも届きます。
審査が通れば、Amazonアプリストアに掲載されるはずです。
☑️ AdMobを張っている場合は、ストア掲載後にAdMob審査依頼を出します
「承認」「公開」された場合
承認される

承認されると、このように表示されます。
「アプリの内容や」「時期」にもよるのでしょうけど、思ったより早く承認されました(およそ40分)

「近日公開」とでます。
自分で作ったアプリが「Amazonアプリストア」で公開されるとはワクワクします。
公開される

公開された場合はこのような表示になる。
私の調査不足かとは思うが、公開されているアプリページ自体のリンクが見当たらない。
よってアマゾンのトップ画面から普通に検索して見つけた。
プロジェクトは分ける
何故分けるのか?
AndroidネイティブだろうがFlutterだろうが、AndroidとFireOSでプロジェクトを分ける必要がある。
もとより技術的な仕様が違うし、その他にも要因がる。
その1つとしてAdMobの例を見てみよう。
AdMobアプリケーションIDを分けることが出来ない
AndroidManifest.xml の中身は直接のIF分岐が出来ない。
AndroidとFireOSでコメントで分けるのも現実的ではない。
広告ユニットIDの分岐が不明
if (Platform.isAndroid) {
// 「Android」と「FireOS」で混同されるかも?
} else if (Platform.isIOS) {
// 「iOS」の場合
} else {
// それ以外の場合
}
Flutterでは、AndroidとiOSの分岐が出来る。
ところが「FireOS」の場合、Platform.isAndroidで判定されるかもなのでAndroidと混同してしまう可能性がある。
📝 ”かもなので”とか”可能性がある”と曖昧な表現をしているが、FireOSのシュミレーターは無いし、私自身がFireタブレットを持っていないので検証が出来ないのです。
リリースしたアプリ
リリースしたアプリ
手前味噌で恐縮だが、私がリリースした『四柱推命の命式作成』というアプリのリンクを張っておく。
FireOS(Amazonアプリストア)
Android(PlayStore)
著書
【辛島信芳の著書】
IT技術などに興味のある方は、是非ご覧になってください。