テスト購入のトラブルシューティング

トランザクションの問題が発生した場合は、まずリリースチェックリストに記載されているすべての手順を完了しているかご確認ください。すべての手順を完了しても問題が解決しない場合は、以下のガイダンスに従って対処してください。

モバイルアプリでエラーが返される

お使いのプラットフォームのエラーリストをご参照ください: iOS向けAndroid向けReact Native向けFlutterUnity。記載の推奨事項に従って問題を解決してください。

サンドボックス購入が「未承認」として拒否される

ストアに You are not authorized to make purchases of this in-app in sandbox at this time のようなアラートが表示される場合、拒否しているのは Adapty ではなく Apple です。テストデバイスと App Store Connect で以下の点を確認してください。

  • デバイスでアプリ内課金が許可されている: 設定 > スクリーンタイム > コンテンツとプライバシーの制限 > App Store で、アプリ内課金許可に設定されている必要があります。Appleはこの設定についてTurn off Apple In-App Purchases from Screen Timeで説明しています。
  • サンドボックスアカウントが正しい場所でサインインしている: メインのApple アカウント設定ではなく、設定 > Developer > Sandbox Apple Accountからサインインしてください。Appleの指示では、「設定のSandboxサインインオプションを使用し、メインのApple アカウント設定は使わない」とされています。
  • テスターのメールアドレスが既存のApple アカウントと重複していない: Appleは、重複したアドレスを使うと「テスト中にエラーが発生する」と述べています。テスターのメールアドレスは作成後に変更できないため、別のアドレスで新しいテスターを作成してください。

モバイルアプリでエラーが返されないのにイベントフィードにトランザクションが表示されない

この問題を解決するには、以下の点をご確認ください。

  1. iOS の場合: シミュレーターではなく実機を使用していることを確認してください。
  2. アプリの Bundle ID/Package nameApp settings に設定されているものと一致していることを確認してください。
  3. アプリ内の PUBLIC_SDK_KEY が Adapty ダッシュボードの Public SDK key と一致していることを確認してください: App settings -> General タブ -> API keys セクション
  4. サンドボックスアカウントを使用していることを確認してください(ローカル StoreKit 設定ファイルではなく)。以前にローカル StoreKit 設定ファイルをテストに使用していた場合は、現在のビルドでそれを使用していないことを確認してください。

テスト用プロファイルにイベントが表示されない

これは正常な動作です。新しいユーザープロファイルレコードは、以下のタイミングで Adapty に自動作成されます。

  • ユーザーが初めてアプリを起動したとき
  • ユーザーがアプリからログアウトしたとき

この動作の理由: すべてのトランザクションとイベントは、最初のトランザクションを生成したプロファイルに紐付けられます。これにより、トランザクション履歴全体(トライアル、購入、更新)が同じプロファイルにリンクされ続けます。

表示される内容: 新しいプロファイルレコード(「非オリジナルプロファイル」と呼ばれます)はイベントなしで表示されることがありますが、アクセスレベルは保持されます。access_level_updated イベントが表示される場合があります。これは期待される動作です。

テスト時の注意: 複数のプロファイルが作成されないようにするため、アプリを再インストールするたびに新しいテストアカウント(サンドボックス Apple ID)を作成してください。

詳細については、プロファイルの作成をご覧ください。

以下は非オリジナルプロファイルの例です。User history にイベントがなく、アクセスレベルが設定されていることに注目してください。

98d0dad-non-original_profile.webp

App Store Connect で設定した実際の価格が反映されない

サンドボックスおよびアプリ内課金にサンドボックス環境を使用する TestFlight では、価格の正確さよりも購入フローが正しく機能しているかどうかを確認することが重要です。Apple の API は、デバイスやアカウントに異なる地域が設定されている場合など、不正確なデータを返すことがあります。価格はストアから直接取得されるものであり、Adapty のバックエンドは購入価格に一切影響を与えないため、Adapty を通じた購入テスト中の価格の不正確さは無視していただいて構いません。

そのため、価格の正確さよりも購入フロー自体のテストを優先し、意図した通りに機能していることを確認してください。

イベントフィードのトランザクション時刻が正しくない

Event FeedApp Settings で設定されたタイムゾーンを使用します。イベントのタイムゾーンをローカル時刻に合わせるには、App settings -> General タブReporting timezone を変更してください。

ペイウォールとプロダクトの読み込みに時間がかかる

この問題は、テストアカウントのトランザクション履歴が長い場合に発生することがあります。App Store Connect でサンドボックステストアカウント(サンドボックス Apple ID)を作成するセクションに記載の通り、毎回新しいテストアカウントを作成することを強くお勧めします。

新しいアカウントを作成できない場合は、iOS デバイスで以下の手順に従って現在のアカウントのトランザクション履歴を消去できます。

  1. 設定を開き、App Store をタップします。
  2. サンドボックス Apple ID をタップします。
  3. ポップアップで 管理 を選択します。
  4. アカウント設定ページで 購入履歴を消去 をタップします。

詳細については、Apple Developer ドキュメントをご覧ください。