Kotlin Multiplatform SDKの購入に関するトラブルシューティング

このガイドでは、Kotlin Multiplatform SDKで手動購入を実装する際によく発生する問題の解決方法を説明します。

makePurchaseは正常に呼び出されるが、プロファイルが更新されない

問題: makePurchaseメソッドが正常に完了するにもかかわらず、ユーザーのプロファイルとサブスクリプションの状態がAdaptyに反映されない。

原因: 通常、これはGoogle Play Storeのセットアップが不完全か、設定に問題があることを示しています。

解決策: Google Playのセットアップ手順がすべて完了しているか確認してください。

makePurchaseが2回呼び出される

問題: 同じ購入に対してmakePurchaseメソッドが複数回呼び出されている。

原因: UIの状態管理の問題や、ユーザーの素早い操作によって購入フローが複数回トリガーされる場合に発生します。

解決策: Google Playのセットアップ手順がすべて完了しているか確認してください。

オブザーバーモードでのAdaptyError.cantMakePayments

問題: オブザーバーモードでmakePurchaseを使用するとAdaptyError.cantMakePaymentsが発生する。

原因: オブザーバーモードでは、AdaptyのmakePurchaseメソッドを使用せず、購入処理を自前で行う必要があります。

解決策: 購入にmakePurchaseを使用している場合は、オブザーバーモードを無効にしてください。makePurchaseを使用するか、オブザーバーモードで自前の購入処理を行うか、どちらか一方を選択する必要があります。詳細はオブザーバーモードの実装を参照してください。

Adaptyエラー: (code: 103, message: Play Market request failed on purchases updated: responseCode=3, debugMessage=Billing Unavailable, detail: null)

問題: Google Play Storeから課金不可のエラーが返される。

原因: このエラーはAdatyとは無関係です。デバイスで課金が利用できないことを示すGoogle Play Billing Libraryのエラーです。

解決策: このエラーはAdaptyとは無関係です。Play Storeのドキュメントで詳細を確認できます: Handle BillingResult response codes | Play Billing | Android Developers。

makePurchasesCompletionHandlersが見つからない

問題: makePurchasesCompletionHandlersが見つからないというエラーが発生する。

原因: 通常、これはサンドボックステストに関連する問題です。

解決策: 新しいサンドボックスユーザーを作成して再試行してください。これにより、サンドボックス環境での購入完了ハンドラーの問題が解決することが多いです。