Android SDKのエラーを処理する
SDKから返されるエラーはすべて AdaptyError です。
デバッグ前に詳細ログを有効にしてください。 ほとんどの AdaptyError は、Play Billing、ネットワーク、またはバックエンドのエラーをラップしています。詳細ログを有効にすると(Adapty.logLevel = AdaptyLogLevel.VERBOSE — ログ記録を参照)、ラップされたエラーがコンソールに出力され、実際の原因がわかることがほとんどです。
これらの解決策で問題が解決しない場合は、サポートに問い合わせる前にその他の問題を参照して、より効率的にサポートできるよう手順をご確認ください。
| エラー | 解決策 |
|---|---|
| UNKNOWN | 不明または予期しないエラーが発生したことを示します。 |
| ITEM_UNAVAILABLE | このエラーは主にテスト段階で発生します。プロダクトが本番環境に存在しないか、ユーザーが Google Play のテスターグループに属していない可能性があります。 |
| ADAPTY_NOT_INITIALIZED | Adapty 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_TIMEOUT | Google Play が応答する前にリクエストが最大タイムアウトに達したことを示します。Play Billing Library の呼び出しによって要求されたアクションの実行に遅延が生じた場合などに発生します。 |
| FEATURE_NOT_SUPPORTED | 要求された機能が、現在のデバイスの Play Store でサポートされていません。 |
| BILLING_SERVICE_DISCONNECTED | BillingClient 経由でのクライアントアプリと Google Play Store サービス間の接続が切断されたことを示します。 |
| BILLING_SERVICE_UNAVAILABLE | Google Play Billing サービスが現在利用できないことを示します。ほとんどの場合、クライアントデバイスと Google Play Billing サービス間のどこかでネットワーク接続の問題が発生しています。 |
| BILLING_UNAVAILABLE | 購入プロセス中に課金の問題が発生したことを示します。考えられる原因は次のとおりです: 1. ユーザーのデバイスに Play Store アプリがないか、バージョンが古い。 2. ユーザーがサポート対象外の国にいる。 3. ユーザーが、管理者によって購入が無効化されているエンタープライズアカウントを使用している。 4. Google Play がユーザーの支払い方法に請求できなかった(例:クレジットカードの有効期限切れ)。 5. ユーザーが Play Store アプリにログインしていない。 |
| DEVELOPER_ERROR | API の使い方が正しくないことを示します。 |
| BILLING_ERROR | Google Play 内部の問題を示します。 |
| ITEM_ALREADY_OWNED | そのプロダクトはすでに購入済みです。 |
| ITEM_NOT_OWNED | ユーザーがそのアイテムを所有していないため、要求されたアクションが失敗したことを示します。 |
| BILLING_NETWORK_ERROR | デバイスと Play システム間のネットワーク接続に問題が発生したことを示します。 |
| NO_PRODUCT_IDS_FOUND | ペイウォール内のプロダクトがいずれもストアで利用できないことを示します。 このエラーが発生した場合は、以下の手順で解決してください:
|
| NO_PURCHASES_TO_RESTORE | Adapty Android SDK 3.17.3 および 4.0.2 で非推奨となりました。restorePurchases() はこのエラーを返さなくなりました。復元するものがない場合、メソッドは現在のプロファイルとともに正常に完了するため、その中のアクセスレベルのステータスを確認してください。それ以前の SDK バージョンでは、このエラーは Google Play が復元対象の購入を見つけられなかったことを示します。 |
| AUTHENTICATION_ERROR | Adapty.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 以降では、これらのエラーはメソッド呼び出しの戻り値としてではなく、AdaptyFlowEventListener の onError を通じて報告されます。詳しくはAndroid SDK でのイベント処理を参照してください。
| エラー | 解決策 |
|---|---|
| WRONG_ASSET_TYPE | フロー内の画像要素が、カラーまたはグラデーションフィルのアセットを参照しているため、SDKがその場所にプレースホルダーをレンダリングします。フロー & ペイウォールビルダーで、その要素に画像アセットを割り当ててください。 |
| JS_EXCEPTION | フローのJavaScriptが例外をスローしました。エラーメッセージ内の例外テキストを確認してください。 |
| NAVIGATOR_NOT_FOUND | 画面を開くアクションが、フローのビュー設定に存在しないナビゲーターを指定しており、フォールバック用のdefaultナビゲーターもフローに存在しません。フロー & ペイウォールビルダーでアクションのターゲットを確認してください。 |
| INVALID_ACTION_URL | URLを開くアクションが、URLとして解決できない文字列IDを参照しています。フロー & ペイウォールビルダーでそのアクションに有効なURLを設定してください。 |
その他の問題
まだ解決策が見つかっていない場合は、次のステップを試してみてください。
- SDKを最新バージョンにアップグレードする: 最新のSDKバージョンは安定性が高く、既知の問題の修正が含まれているため、常にアップグレードをおすすめします。
- サポートチームへの問い合わせ、またはコミュニティでの質問: サポートフォーラムで他の開発者に質問することもできます。
- support@adapty.io またはチャットでサポートチームに連絡する: SDKのアップグレードが難しい場合や、アップグレードしても解決しない場合は、サポートチームにお問い合わせください。詳細ログを有効化してログを共有いただくと、問題の解決が早くなります。関連するコードスニペットを添付することもできます。