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. アプリの パッケージ名 が Google Play Console のものと一致しているか確認してください。
  3. アプリストアのプロダクト識別子がダッシュボードに追加したものと一致しているか確認してください。ストアにすでに Bundle ID が含まれている場合を除き、識別子に Bundle ID を含めないようにしてください。
  4. Google の税設定でアプリの支払いステータスが Active になっているか確認してください。税務情報が最新であり、証明書が有効であることを確認してください。
  5. アプリに銀行口座が紐付けられていることを確認して、収益化の対象となるようにしてください。
  6. プロダクトが自分の地域で利用可能か確認してください。
  7. アプリがいずれかのテストトラックに含まれているか確認してください。内部テストトラックはレビューが不要でユーザーに非公開のため、最も簡単な選択肢です。
NO_PURCHASES_TO_RESTOREAdapty Android SDK 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のアップグレードが難しい場合や、アップグレードしても解決しない場合は、サポートチームにお問い合わせください。詳細ログを有効化してログを共有いただくと、問題の解決が早くなります。関連するコードスニペットを添付することもできます。