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 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のアップグレードが難しい場合や、アップグレードしても解決しない場合は、サポートチームにお問い合わせください。詳細ログを有効化してログを共有いただくと、問題の解決が早くなります。関連するコードスニペットを添付することもできます。