既存のアプリをAmazonアプリストアへ移植する方法
アプリによっては、そのコードベースを更新しなければFire OSデバイスで正常に動作しないものもあります。このページでは、AmazonアプリストアにFire OSアプリを申請する際に満たすべき要件と、移植時の推奨事項について説明します。
移植プロセスの概要
既存のAndroidアプリをFire OSに対応させてAmazonアプリストアに移植するには、以下の手順を使用します。
- Fire OSでサポートされていないAPI・サービス・機能をアプリが使用しているかどうかを特定し、サポートされている同等のものに移行します。詳細については、サポート対象のAPI・サービス・機能を参照してください。
- サポートする予定のFire OSデバイスに合わせて最小APIレベルを更新します。
- サポート対象外の機能をすべてアプリから削除します。詳細については、アプリのコンプライアンスを参照してください。
- アプリを再コンパイルします。
- Amazonアプリストアにアプリを申請します。
サポート対象のAPI・サービス・機能
Fire OSでサポートされていないAPI・サービス・機能をアプリで使用している場合は、Amazonがサポートしている同等のサービスや機能を使用するようにコードを更新します。
移行すべき一般的なサービス・機能
以下の表は、AndroidアプリをFire OSに対応させる場合に変更する必要のあるAPI・サービス・機能の一覧です。
API・サービス・機能 | アクション |
---|---|
Googleログイン | 認証のガイドワークフローを使用して、アプリのニーズに基づいてソリューションを決定します。
Amazonでは次のオプションを提供しています。 |
Google Playアプリ内課金 | アプリ内課金(IAP)のガイドワークフローを使用して、アプリのニーズに基づいてソリューションを決定します。
Amazonでは次のオプションを提供しています。
|
Firebase Cloud Messaging | クラウドメッセージングのガイドワークフローを使用して、アプリのニーズに基づいてソリューションを決定します。
Amazonでは次のオプションを提供しています。
|
Google Drive | A3L認証SDKを使用し、Google APIと統合してください。 |
Googleマップ | Amazon Maps APIを使用します。 |
モバイルデータプランを使用しないタブレットのGPS位置情報 | 位置情報のガイドワークフローを使用して、アプリのニーズに基づいてソリューションを決定します。 |
すべての通話機能 | 適切に機能を制限するようにアプリをコーディングします。 |
デバイスの向きの設定 | デバイスの向きを参照してください。 |
インテント | 対応しているAndroidのインテントを参照してください。 |
画面サイズとレイアウト | 画面のレイアウトと解像度を参照してください。 |
Firebaseと代替ライブラリ
アプリでFirebaseのライブラリを使用している場合は、まずそのライブラリがAmazon Fireデバイスでサポートされているかどうかを特定します。一部のFirebaseライブラリはFireデバイスと互換性があり、アプリを移植するときにも引き続き使用できます。Firebaseライブラリに互換性がない場合は、別のソリューションを使用するか、Fireデバイスでライブラリを無効にします。
FirebaseライブラリがFireデバイスで動作するかどうかを特定するには、次の手順に従います。
-
ライブラリがGoogle Play開発者サービスを必須としているかどうかを特定します。そのためには、Firebaseのドキュメントにアクセスし、「Google Play開発者サービスは不要」という表を確認します。ライブラリがGoogle Play開発者サービスを必要としていなければ、Fireデバイスでも引き続き使用できます。
注: アプリがFirebaseUIとFirebase Authenticationを使用している場合は、Fire OSデバイスで機能しない可能性があります。代わりにA3L Authenticationを使用できます。アプリに応じた詳細なソリューションについては、認証のガイドワークフローを使用してください。 -
ライブラリが「Google Play開発者サービスが必須または推奨」というセクションに記載されているかどうかを確認します。
-
ライブラリに推奨と記載されている場合は、部分的に互換性がある可能性があります。
現在、AdMobライブラリとアナリティクスライブラリには推奨と記載されています。つまり、ほとんどの機能は機能するはずですが、一部の自動インサイトはGoogle Play開発者サービスのあるデバイスでしか利用できません。
-
ライブラリにGoogle Play開発者サービスが必須の場合は、代替となるライブラリを使用するか、Fireデバイスでライブラリを無効にします。
-
代替ライブラリの使用を検討する場合は、次の表を参考にして、Fireデバイスと互換性のある適切な代替ライブラリを選択してください。
サポートされていないFirebase機能 | 説明 | 互換性のある代替ライブラリ |
---|---|---|
App Check Play Integrityプロバイダー | 権限のないクライアントがアプリのAPIリソースにアクセスするのを防ぎます。 | カスタムのApp Checkプロバイダ |
App Check SafetyNetプロバイダー | セキュリティ上の脅威からアプリを保護します。このライブラリは非推奨になりました。 | カスタムのApp Checkプロバイダ |
App Indexing | Google検索アプリに表示するコンテンツをインデックス登録します。このライブラリは非推奨になりました。 | 要件に応じてAndroidアプリリンクまたはAppSearch |
クラウドメッセージング | クライアントアプリに通知メッセージを送信します。 | A3L Messaging |
Dynamic Links | ユーザーがリンクをクリックした環境に基づいて、リンクが開く場所を決定します。 | Branch(英語のみ)またはGetSocial(英語のみ) |
Firebase Machine Learning(ML) | モバイルアプリ用のオンデバイス機械学習です。 | AWS機械学習 - ニーズに合ったソリューションを使用してください。 |
Firebase MLカスタムモデル | カスタムMLモデルを作成します。 | AWS機械学習 - ニーズに合ったソリューションを使用してください。 |
サポート対象のAPIレベル
すべてのFireタブレットとの互換性を確保するために、最小APIレベルを10に設定することをお勧めします。FireタブレットのAndroid OSバージョンについては、Fireタブレットのデバイス仕様:概要を参照してください。
アプリで使用するメソッドが以下に示すAPIレベルで導入されたものである場合、対処が必要になります。
- APIレベル11~15:Kindle Fire(第1世代)でこれらのメソッドを呼び出さないよう、実装を変更してください。
- APIレベル16または17:Kindle Fire(第1世代)およびKindle Fire(第2世代)でこれらのメソッドを呼び出さないよう、実装を変更してください。
- APIレベル18以降:Kindle Fire(第3世代)でこれらのメソッドを呼び出さないよう、実装を変更してください。
詳細については、Androidトレーニングガイドの各種のプラットフォームバージョンをサポートするに記載の実行時にシステムバージョンをチェックするを参照してください。
アプリでAPIレベルを指定する方法については、Androidトレーニングガイドの最小APIレベルと対象APIレベルを指定するを参照してください。
アプリのコンプライアンス
Amazonアプリストアにアプリを申請する前に、アプリがすべての要件を満たしていることを確認してください。
- サポート対象外の機能: 以下の機能は、いずれもAmazonアプリストアではサポート対象外のため、アプリに含めることはできません。
- テーマ
- 壁紙
- スクリーンセーバー
- カスタムまたはサードパーティ製のオンスクリーンキーボード(代わりにデフォルトのオンスクリーンキーボードを使用してください)
- ユーザーインターフェイスを操作するホーム画面ウィジェット
- disable_keyguardのパーミッション
- ロック画面のカスタマイズ
注: アプリでFire OS非対応のAPIやハードウェアテクノロジーが使用されている場合、そのサービスを要する機能を削除するか、適切に制限することをお勧めします(例:「お使いのデバイスでは、現在この機能を使用できません」といったエラーメッセージを表示させて対応する)。 - アプリのコンテンツ: Amazonのコンテンツガイドラインに準拠する必要があります。Amazonアプリストアのコンテンツポリシーを参照してください。
- アプリテスト: Amazonアプリストアに申請する前に、アプリを入念にテストします。テスト基準と推奨されるテストケースを確認するには、Amazonアプリストアにおけるアプリ申請時のテスト基準を参照してください。
関連リソース
Last updated: 2023年12月5日