AmazonアプリストアEasy Port請求アスペクト
AmazonアプリストアEasy Port請求アスペクト
重要: AmazonアプリストアEasy Portは現在、開発者プレビューの段階にあります。
アプリがGoogle Play請求サービスを使用していて、Play Billing Libraryバージョン5.2.1(英語のみ)と統合されている場合は、アプリでAmazonアプリストアEasy Portの請求アスペクトを使用することで、アプリをFire OSに移植できます。Easy Portの請求アスペクトは、Play Billing Library v5.2.1を対象に、ライブラリのAPI呼び出しをAppstore請求サービス対応v4.1.0の呼び出しに置き換えます。
要件
- アプリがまだAmazonアプリ内課金(IAP)APIと統合されていないことが必要です。アプリでは、Appstore SDKやAppstore請求サービス対応SDKを通じてAmazon IAPを使用することはできません。
- アプリがAmazonアプリストアEasy Portプラグインと統合されている必要があります。統合手順については、AmazonアプリストアEasy Portプラグインとの統合を参照してください。
- アプリのターゲットAPIレベルが24以上であるか、アプリでJava8+ APIの脱糖(desugaring)(英語のみ)が有効になっている必要があります。
- メインUIスレッドのアクティビティで、アプリが
onCreate()
メソッドでGoogleのBillingClient
オブジェクトをインスタンス化している必要があります。アプリでは、BillingClient
のインスタンスを一度に1つだけ保持している必要があります。 - アプリ内課金に関連するすべてのビジネスロジックが、単一のモジュールに含まれている必要があります。アスペクトはそのモジュールに適用します。アスペクトを複数のモジュールに適用することはできません。
アスペクトと関連リソースの追加
プロジェクトにAmazonアプリストアEasy Portの請求アスペクトと関連リソースを追加するには、以下の手順を使用します。
- Play Billing Library v5.2.1と直接統合されているモジュールを特定し、そのモジュールにEasy Portプラグインを適用します。手順については、AmazonアプリストアEasy Portプラグインの適用と構成を参照してください。
- プラグインを構成して変更を同期した後、Gradleタスクを確認すると、
easy Port
グループの下にAspectDownloadTask
という名前のタスクが見つかります。このタスクを実行すると、必要なアスペクトがダウンロードされ、次のように適切なフォルダにアセットがコピーされます。- src/easyPort - アスペクトクラスを含むフォルダ
- src/main/java/easyport - Easy Portアノテーションを含むフォルダ
libs/appstore-billing-compatibility-<バージョン>.jar - Appstore請求サービス対応SDKのJARファイル
Appstore請求サービス対応SDKのJARファイルのパスを特定するには、
AspectDownloadTask
のログを確認してください。
ログの例は次のようになります。Add the following libs to the dependencies block in build.gradle. [libs/appstore-billing-compatibility-4.1.0.jar]
注: モジュールで標準のAndroidフォルダ構造(src/main/java)を使用していない場合は、以下の手順を使用して、手動でアスペクトを追加する必要があります。アスペクトを追加する代替方法次の手順を使用すると、アスペクトとリソースを手動でダウンロードして追加できます。
- 以下から請求アスペクトをダウンロードします。
- モジュールのsrcフォルダに、アスペクトファイルを含むeasyPortフォルダを追加します。
- 以下から請求アノテーションファイルをダウンロードします。
- モジュールのメインのjavaフォルダに、アノテーションを含むeasyportフォルダを追加します。
- Appstore請求サービス対応SDKをダウンロードし、JARライブラリファイルをモジュールのlibsフォルダにコピーします。コードを難読化する場合は、IAPとコード難読化のガイダンスに従って、IAP機能がコード難読化の影響を受けないようにしてください。
- 前のステップでダウンロードしたJARファイルを、次のようにモジュールのビルドファイルのdependenciesブロックに追加します。
easyPortImplementation(files("libs/appstore-billing-compatibility-<バージョン>.jar"))
easyPortImplementation(files("libs/appstore-billing-compatibility-<バージョン>.jar"))
<バージョン>
には、ダウンロードしたAppstore請求サービス対応SDKのJARファイルのバージョンを指定します。 - 手順2で追加された、アスペクトを格納しているeasyPortフォルダに、assetsフォルダを作成してAppstoreAuthenticationKey.pemファイルを追加します。PEMファイルを取得するには、Appstore SDKにパブリックキーを設定するの手順に従います。
- アプリで定期購入型アイテムを提供する場合は、次の手順に従います。
- 開発者コンソールで定期購入型アイテムを追加し、JSONファイルにエクスポートします。手順については、Appstore請求サービス対応定期購入型アイテムを参照してください。
- アプリ内課金(IAP)アイテムのリストをエクスポートしたら、amazon.sdktester.jsonファイルをeasyPortフォルダの下のassetsフォルダに保存します。
- 競合がある場合は解決します。
重要: AmazonアプリストアEasy Portは、Google Play請求サービスAPI呼び出しを検出して変換し、Amazon IAP API呼び出しに置き換えます。正常にビルドするには、プロジェクトのEasy Portフレーバーに、Google Play Billing Libraryと統合コードが含まれている必要があります。この依存関係は、デフォルト構成に追加することも、Easy Port固有の構成に追加することもできます。
関連トピック
Last updated: 2024年5月23日