GRIT UPGRIT UP

Blog

RevenueCat × SandBoxでの購入履歴を削除する方法

モバイルアプリSwiftiOS
RevenueCat × SandBoxでの購入履歴を削除する方法

はじめに

iOSアプリでアプリ内課金を導入した際に、購入履歴の削除に手こずったので記録しておきます。購入前後のテストをしたい時に、購入履歴が消えなく困っている方は試してみてください。

前提条件

  • サーバー: RevenueCat
  • 使用言語: Swift
  • Xcode: Version 13.3.1
  • StoreKit用のスキームで実行(Sandbox)
  • アプリ内で購入トランザクションができる状態

結論:サーバーのユーザーと、Xcodeのトランザクションを削除!

以下2点を実施すればシミュレーターから購入履歴が消えます。デバイスでのシミュレーションの場合は、プラスで1手順必要です。

  • RevenueCatのSandBoxユーザ履歴から、ユーザを削除
  • Xcodeで、シミュレーター起動時にタブからTransactionを削除する
  • 実機の場合は、App StoreのSandBoxテスターから購入履歴を削除

さらに、アプリ内のデータ(Realm情報など)が消えていいのであれば、シミュレーターや端末上のアプリをアンインストールするだけでも購入履歴が消えるのでこちらが最も楽です。

RevenueCatから、ユーザを削除する

まずはサーバー側のユーザー情報を削除します。上部タブのSandBoxトグルをオンにすると、ユーザが表示されます。

その後ユーザを選択して、下の方にある「Delete user」をクリックします。

confirmと記入してDeleteを押せば削除完了です。

Xcodeからトランザクションを削除

次にXcodeのSandbox上に記録されているtransactionを削除します。in-App Purchaseを入れたスキームを実行する必要があるので、未実施の方はRevenueCatの公式ドキュメントを参考に実施してください。

こちらのスキームでデバッグ中に、Xcodeのデバッグ用タブを見てください。普段見慣れない矢印マークがあるので、そちらをクリックしtransactionを削除すれば完了です。

実機の場合はTestFlightユーザーの購入履歴を削除

次にApp Store Connect"ユーザーとアクセス" → "テスター" から、テスター情報を開きます。次に編集をクリックし、購入履歴を削除で対象を選んで削除すれば完了です。

以上で全ての削除手順は完了です。ただし、どれかの削除の反映が遅いことがあり、体感的には2〜3分後に購入状態がリセットされる感じです。 消えない場合は少し待ってみてください。

まとめ

  • RevenueCatのSandBoxユーザ履歴から、ユーザを削除
  • Xcodeで、シミュレーター起動時にタブからTransactionを削除する
  • 実機の場合は追加手順として、App StoreのSandBoxテスターから購入履歴を削除

アプリ内データが消えていい場合は、アプリを削除し再インストールが最も簡単です。

Contact

お問い合わせ

少しでも興味いただけましたらご連絡ください。

※ご連絡から1週間以内に返信いたします

CONTACT