既存のAndroidアプリをFire OSに移植する方法
Androidアプリによっては、そのコードベースを更新しなければFire OSデバイスで正常に動作しないものもあります。このページでは、AmazonアプリストアにFire OSアプリを申請する際に満たすべき要件と、移植時の推奨事項について説明します。
- 移植プロセスの概要
- 手順1:サポートされていないAPI・サービス・機能がないかどうかを特定する
- 手順2:最小APIレベルを更新する
- 手順3:サポートされていない機能を削除する
- 手順4:アプリを再コンパイルしてテストする
- 手順5:アプリを申請する
- Fire OSと互換性のあるSDKおよびライブラリ
移植プロセスの概要
既存のAndroidアプリをFire OSに対応させてAmazonアプリストアに移植するには、以下の手順を使用します。
- Fire OSでサポートされていないAPI・サービス・機能をアプリが使用しているかどうかを特定し、サポートされている同等のものに移行します。
- サポートする予定のFire OSデバイスに合わせて最小APIレベルを更新します。
- サポート対象外の機能をすべてアプリから削除します。
- アプリを再コンパイルしてテストします。
- Amazonアプリストアにアプリを申請します。
これらの手順の詳細については、以下のセクションを参照してください。
手順1:サポートされていないAPI・サービス・機能がないかどうかを特定する
既存のAndroidアプリをGoogle Playに公開している場合、そのアプリでは、Fire OSでサポートされていないGoogle Playサービスを使用している可能性があります。Fire OSでサポートされていないAPI・サービス・機能をアプリで使用している場合は、Amazonがサポートしている同等のサービスや機能を使用するようにコードを更新します。このプロセスを支援するために、次のセクションでは、アプリで使用している可能性のあるAPI・サービス・機能に対応する、Amazonでサポートされているソリューションを示します。
Google Playからの移植時に使用できるソリューション
AndroidアプリにGoogle Play開発者サービスやAndroidスマートフォンの機能が必要な場合は、次の表を参考にして、Fire OSで動作する代替API・サービス・機能を特定してください。
API・サービス・機能 | アクション |
---|---|
Google Playアプリ内課金 | Appstore請求サービス対応SDKを使用します。 |
Firebase Cloud Messaging | A3L Messaging SDKを使用します。
クラウドメッセージングのガイドワークフローを使用して、アプリのニーズに基づいてソリューションを決定することもできます。 |
Googleログイン | A3L Authentication SDKを使用します。
認証のガイドワークフローを使用して、アプリのニーズに基づいてソリューションを決定することもできます。 |
Google位置情報サービス | A3L Location SDKを使用します。 |
Google Drive | A3L Authentication SDKを使用し、Google APIと統合してください。 |
モバイルデータプランを使用しないタブレットのGPS位置情報 | 位置情報のガイドワークフローを使用して、アプリのニーズに基づいてソリューションを決定します。 |
すべての通話機能 | 適切に機能を制限するようにアプリをコーディングします。 |
デバイスの向きの設定 | デバイスの向きを参照してください。 |
インテント | 対応しているAndroidのインテントを参照してください。 |
画面サイズとレイアウト | 画面のレイアウトと解像度を参照してください。 |
太字で表示されている項目は、既存のAndroidアプリの移植用に構築された、Amazonアプリストアによって提供されるSDKです。
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機械学習 - ニーズに合ったソリューションを使用してください。 |
手順2:最小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レベルを指定するを参照してください。
手順3:サポートされていない機能を削除する
アプリをAmazonアプリストアに申請する前に、サポートされていない機能をすべて削除します。以下の機能は、Amazonアプリストアではサポートされていません。
- テーマ
- 壁紙
- スクリーンセーバー
- カスタムまたはサードパーティ製のオンスクリーンキーボード(代わりにデフォルトのオンスクリーンキーボードを使用してください)
- ユーザーインターフェイスを操作するホーム画面ウィジェット
- disable_keyguardのパーミッション
- ロック画面のカスタマイズ
手順4:アプリを再コンパイルしてテストする
アプリのコードを更新したら、アプリを再コンパイルしてテストできます。Amazonアプリストアに申請する前に、アプリを入念にテストします。テスト基準と推奨されるテストケースを確認するには、Amazonアプリストアにおけるアプリ申請時のテスト基準を参照してください。
手順5:アプリを申請する
アプリをテストしてAmazonアプリストアのガイドラインに準拠していることを確認したら、Amazonアプリストアにアプリを申請できます。詳細な手順については、Amazonアプリストアにアプリを申請する方法を参照してください。
Fire OSと互換性のあるSDKおよびライブラリ
Fire OSと互換性のあるAndroid SDKの一覧については、互換性のあるAndroid SDKを参照してください。
Google Play開発者サービスを必要とせずにFire OSで使用できるFirebaseライブラリの一覧については、AndroidデベロッパードキュメントのGoogle Play開発者サービスに対するFirebase Android SDKの依存関係を参照してください。
Last updated: 2024年6月27日