Android SDKのエラーを処理する

SDKから返されるエラーはすべて AdaptyError です。

Tip

デバッグ前に詳細ログを有効にしてください。 ほとんどの AdaptyError は、Play Billing、ネットワーク、またはバックエンドのエラーをラップしています。詳細ログを有効にすると(Adapty.logLevel = AdaptyLogLevel.VERBOSEログ記録を参照)、ラップされたエラーがコンソールに出力され、実際の原因がわかることがほとんどです。

Important

これらの解決策で問題が解決しない場合は、サポートに問い合わせる前にその他の問題を参照して、より効率的にサポートできるよう手順をご確認ください。

エラー解決策
UNKNOWN不明または予期しないエラーが発生したことを示します。
ITEM_UNAVAILABLEこのエラーは主にテスト段階で発生します。プロダクトが本番環境に存在しないか、ユーザーが Google Play のテスターグループに属していない可能性があります。
ADAPTY_NOT_INITIALIZEDAdapty SDK が有効化されていません。
スプラッシュスクリーンや早期の UI フックが Adapty.activate の完了前に Adapty のメソッドを呼び出している場合によく見られます。実機ではエミュレーターと実行タイミングが異なるため、断続的に発生してエミュレーターでは再現しないことがあります。他の SDK 呼び出しをスケジュールする前に Adapty.activate が完了するまで待機してください。完全なシーケンスについては Android SDK の呼び出し順序 を参照してください。また、Adapty.activate メソッドを使用して Adapty SDK を正しく設定 する必要があります。
PROFILE_WAS_CHANGED操作中にユーザープロファイルが変更されました。
Adapty.identify の実行中に別のメソッドを呼び出した場合に発生します。処理中の呼び出しが切り替わる直前のプロファイルに対して実行されてしまい、SDK がそれを拒否します。他の SDK 呼び出しをスケジュールする前に Adapty.identify が完了するまで待機してください。詳しくは Android SDK の呼び出し順序 を参照してください。
PRODUCT_NOT_FOUND購入しようとしたプロダクトがストアで見つからないことを示します。

CURRENT_SUBSCRIPTION_TO_UPDATE

_NOT_FOUND_IN_HISTORY

変更対象の元のサブスクリプションが、有効なサブスクリプション内に見つかりません。
BILLING_SERVICE_TIMEOUTGoogle Play が応答する前にリクエストが最大タイムアウトに達したことを示します。Play Billing Library の呼び出しによって要求されたアクションの実行に遅延が生じた場合などに発生します。
FEATURE_NOT_SUPPORTED要求された機能が、現在のデバイスの Play Store でサポートされていません。
BILLING_SERVICE_DISCONNECTEDBillingClient 経由でのクライアントアプリと Google Play Store サービス間の接続が切断されたことを示します。
BILLING_SERVICE_UNAVAILABLEGoogle Play Billing サービスが現在利用できないことを示します。ほとんどの場合、クライアントデバイスと Google Play Billing サービス間のどこかでネットワーク接続の問題が発生しています。
BILLING_UNAVAILABLE

購入プロセス中に課金の問題が発生したことを示します。考えられる原因は次のとおりです:

1. ユーザーのデバイスに Play Store アプリがないか、バージョンが古い。

2. ユーザーがサポート対象外の国にいる。

3. ユーザーが、管理者によって購入が無効化されているエンタープライズアカウントを使用している。

4. Google Play がユーザーの支払い方法に請求できなかった(例:クレジットカードの有効期限切れ)。

5. ユーザーが Play Store アプリにログインしていない。

DEVELOPER_ERRORAPI の使い方が正しくないことを示します。
BILLING_ERRORGoogle Play 内部の問題を示します。
ITEM_ALREADY_OWNEDそのプロダクトはすでに購入済みです。
ITEM_NOT_OWNEDユーザーがそのアイテムを所有していないため、要求されたアクションが失敗したことを示します。
BILLING_NETWORK_ERRORデバイスと Play システム間のネットワーク接続に問題が発生したことを示します。
NO_PRODUCT_IDS_FOUND

ペイウォール内のプロダクトがいずれもストアで利用できないことを示します。

このエラーが発生した場合は、以下の手順で解決してください:

  1. すべてのプロダクトが Adapty ダッシュボードに追加されているか確認してください。
  2. アプリの Package name が Google Play Console のものと一致していることを確認してください。
  3. アプリストアのプロダクト識別子がダッシュボードに追加したものと一致していることを確認してください。Bundle ID がストアに含まれていない場合は、識別子に Bundle ID を含めないようにしてください。
  4. Google の税設定でアプリの有料ステータスが Active になっていることを確認してください。税務情報が最新であり、証明書が有効であることも確認してください。
  5. 収益化の対象となるよう、アプリに銀行口座が紐付けられているか確認してください。
  6. プロダクトがお住まいの地域で利用可能か確認してください。
  7. アプリがいずれかのテストトラックに含まれていることを確認してください。Internal testing トラックはレビューが不要でアプリをユーザーに非公開にできるため、最も手軽な選択肢です。
NO_PURCHASES_TO_RESTOREAdapty Android SDK 3.17.3 および 4.0.2 で非推奨となりました。restorePurchases() はこのエラーを返さなくなりました。復元するものがない場合、メソッドは現在のプロファイルとともに正常に完了するため、その中のアクセスレベルのステータスを確認してください。それ以前の SDK バージョンでは、このエラーは Google Play が復元対象の購入を見つけられなかったことを示します。
AUTHENTICATION_ERRORAdapty.activate メソッドを使用して Adapty SDK を正しく設定 する必要があります。
BAD_REQUESTリクエストが不正です。
Google Play との連携 に必要なすべての手順を完了していることを確認してください。
SERVER_ERRORサーバーエラーです。
REQUEST_FAILED適切に特定できないネットワークの問題を示します。
DECODING_FAILEDレスポンスをデコードできませんでした。
コードを確認し、送信しているパラメーターが有効であることを確認してください。たとえば、無効な API キーを使用している場合にこのエラーが発生することがあります。
ANALYTICS_DISABLED外部アナリティクスをオプトアウト しているため、アナリティクスイベントを処理できません。
WRONG_PARAMETER

一部のパラメーターが正しくないことを示します。空白にできない項目が空白になっている、型が間違っているなどのケースが該当します。

また、SDK がローカルのフォールバックファイルを読み込めない場合もこのエラーが返されます。多くの場合、ファイルのバージョンが SDK のバージョンと一致していないことが原因です。ダッシュボードから新しいファイルをダウンロードしてください。

LOGGING_OUT_UNIDENTIFIED_USER一度も識別されていないユーザーに対して Adapty.logout() が呼び出されました。Adapty.identify を呼び出した後にのみ使用してください。

フローレンダリングエラー

Adapty SDK 4.0 以降では、これらのエラーはメソッド呼び出しの戻り値としてではなく、AdaptyFlowEventListeneronError を通じて報告されます。詳しくはAndroid SDK でのイベント処理を参照してください。

エラー解決策
WRONG_ASSET_TYPEフロー内の画像要素が、カラーまたはグラデーションフィルのアセットを参照しているため、SDKがその場所にプレースホルダーをレンダリングします。フロー & ペイウォールビルダーで、その要素に画像アセットを割り当ててください。
JS_EXCEPTIONフローのJavaScriptが例外をスローしました。エラーメッセージ内の例外テキストを確認してください。
NAVIGATOR_NOT_FOUND画面を開くアクションが、フローのビュー設定に存在しないナビゲーターを指定しており、フォールバック用のdefaultナビゲーターもフローに存在しません。フロー & ペイウォールビルダーでアクションのターゲットを確認してください。
INVALID_ACTION_URLURLを開くアクションが、URLとして解決できない文字列IDを参照しています。フロー & ペイウォールビルダーでそのアクションに有効なURLを設定してください。

その他の問題

まだ解決策が見つかっていない場合は、次のステップを試してみてください。

  • SDKを最新バージョンにアップグレードする: 最新のSDKバージョンは安定性が高く、既知の問題の修正が含まれているため、常にアップグレードをおすすめします。
  • サポートチームへの問い合わせ、またはコミュニティでの質問: サポートフォーラムで他の開発者に質問することもできます。
  • support@adapty.io またはチャットでサポートチームに連絡する: SDKのアップグレードが難しい場合や、アップグレードしても解決しない場合は、サポートチームにお問い合わせください。詳細ログを有効化してログを共有いただくと、問題の解決が早くなります。関連するコードスニペットを添付することもできます。