前回の続き。本番環境でアプリ内課金をはじめるまえの考慮事項(*´ω`*)
App Subscription Launch Checklist
本番環境でアプリ内課金をはじめるまえの考慮事項が
チェックリストとしてまとまっていた。ありがたい。
1. Know your plan limits
Plan Limits
RevenueCatの無料枠は、売上2,500ドル/月まで。
クレジットカードの登録を早めに済まそう
2. Testing user identity in RevenueCat
App User ID関連。
Verify App User IDs are set properly
App User IDが正しく設定されていることを確認する。
以下の「Tips for Setting App User IDs」も合わせて確認
Verify all users are tracked in customer view
Customersビューで、すべてのユーザが追跡されているか。
購入した内容がチャンと追跡されて、表示されているかを確認する。
No unexpected aliases on user
予期しないaliasなどが発生していないかを確認する
くわしくはこのあたり。
3. Testing purchases
テストでの購入処理関連。
Sign agreements, tax forms, and enter banking info efficiently
リリース前に、契約書/納税フォーム/銀行口座情報など、
すべてが署名/設定されていることを確認する。
また、更新が必要なときがあるので、定期的に確認する
All products are available
すべての課金アイテムが有効かどうか。
RevenueCatで、ちゃんと取得できていることを確認する。
- Configuring Products | In-App Subscriptions Made Easy – RevenueCat
- App Store Connect In-App Purchase Configuration
Test purchases unlock content
購入後に、商品を受け取れているか。
購入が完了したら、購入したプランの機能が開放されているかを確認する。
Subscriptions status is up-to-date
自動更新時に、サブスクが有効であるかを確認する。
継続だけでなく、解約時の処理も確認する。
Restoring purchases
再インストールした際の復元処理を確認する。
非匿名IDの場合は、ログインすると復元無しで、
購入したプランの機能が開放されているかを確認する。
iOSの場合、アンインストール後しても、
sandbox内に履歴が保存されているため、購入を復元できないらしい。
- Restoring Purchases | In-App Subscriptions Made Easy – RevenueCat
- RevenueCat入門 その12 | 購入を復元する - くらげになりたい。
4. Verify webhooks and integrations
Proプランのwebhookを利用している場合
No webhook failures
エラーがないこと、すべてのイベントタイプが正しく処理されていることを確認する
Integrations delivered to correct user
正しいユーザに紐づいたイベントを受け取っているかを確認する
5. Prepare release
リリースの準備関連。
Store description(iOS only)
ストアの説明文を確認する。
RevenueCatのブログはこれ。
App Privacy
各ストアでプライバシーやデータセーフティの設定をする。
それぞれ、RevenueCatのガイドが用意されているのでこれを見ながら。
Phased rollout
段階的リリースを活用する。
リリースした際、一部のユーザだけであれば、問題が発生した場合に対応しやすい
Choose to manually release app(iOS only)
手動でのリリースを活用する。
新しい課金アイテムを追加した際は、
課金アイテムの承認とアプリの承認がずれることがある。
そのため、手動リリースを選択し、
課金アイテムが有効になったあとにリリースする。
IDFA guidelines(iOS only)
Pro機能のAttribution Integrationを利用している場合、
IDFA仕様のガイドラインに準拠しているかを確認する
First release on App Store(iOS only)
そのアプリで、はじめてリリースする場合、
アプリ内購入が有効になる前にリリースしないといけない
マーケティングやリリース告知を開始する前に、
リリース後、最大24時間待ってから、
アプリ内購入が有効になることを事前に確認するのが推奨
iOSのアプリ審査関連のブログもあるよう
App Store Rejections
iOSアプリをリリース審査時、リジェクトされたときの対応方法まとめ
Understanding the rejection reason
Apple'sApp Review Centerによると40%以上は、ちゃんとと動かないことが要因らしい。
アプリ内購入に関していえば、以下の購入フローで発生する。
- 課金アイテムの取得
- 購入時のエラー
- 購入後の機能開放/報酬受取
Issues fetching products
課金アイテムの取得に関する問題
アプリの審査では、sandboxやTestflight環境ではない。
ちゃんとアプリと一緒に課金アイテムの審査を提出しているかを確認する。
すでにリリース済みで、新たな機能と課金アイテムを追加する場合、
課金アイテムを先に提出して、購入できる状態になってから、
アプリの審査を提出するようにする。
Error during purchase
購入時に関する問題
ただしくエラーハンドリングしていないと、問題になることがある。
以下のガイドを見て、ちゃんとと対応できているかを確認する。
"Cannot connect to iTunes Store"」
このメッセージは、AppleのSKErrorsの汎用メッセージ
STORE_PROBLEM - "There was a problem with the App Store"
RevenueCatでよくあるエラー。Appleのsandbox環境がダウンしているときなど。
再度、アップロードして再提出するか、レビュー担当者に状況を説明する。
それぞれでステータスを書くにすることができる。
Content not unlocked after purchase
購入後の機能開放/報酬受取に関する問題
- ちゃんと実装されているか
- サブスクのステータスを正しくチェックしているか
- Entitlementに課金アイテムが正しく紐づいているか
などを再度確認する。
Other Tips
Reviewer provided "Next Steps"
レビュアーが「Next Step」といってくるとがあるが、
課金関連ではあまり役立たないらしい。
ネイティブの課金処理でのコメントが多く、
RevenueCatを利用している場合は、RevenueCatがおこなう部分のため。
My app is live - but purchases are broken!
アプリを初めて公開するときや、既存のアプリに課金アイテムを追加する場合、
App Storeで有効になるまでに、24時間かかる場合がある。
そのため、手動リリースなどを活用して、有効になってから、
告知やマーケティングなどをおこなうのがいいっぽい。
以上!! チェックリストとしてまとまってて、ありがたい。。
iOSの審査は大変そうだ。。。(*´ω`*)