くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

RevenueCat入門 その16 | サブスク開始前の考慮事項

前回の続き。本番環境でアプリ内課金をはじめるまえの考慮事項(*´ω`*)

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で、ちゃんと取得できていることを確認する。

Test purchases unlock content

購入後に、商品を受け取れているか。
購入が完了したら、購入したプランの機能が開放されているかを確認する。

Subscriptions status is up-to-date

自動更新時に、サブスクが有効であるかを確認する。
継続だけでなく、解約時の処理も確認する。

Restoring purchases

再インストールした際の復元処理を確認する。
非匿名IDの場合は、ログインすると復元無しで、
購入したプランの機能が開放されているかを確認する。

iOSの場合、アンインストール後しても、
sandbox内に履歴が保存されているため、購入を復元できないらしい。

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"」

このメッセージは、AppleSKErrorsの汎用メッセージ

STORE_PROBLEM - "There was a problem with the App Store"

RevenueCatでよくあるエラー。Appleのsandbox環境がダウンしているときなど。
再度、アップロードして再提出するか、レビュー担当者に状況を説明する。

それぞれでステータスを書くにすることができる。

Content not unlocked after purchase

購入後の機能開放/報酬受取に関する問題

などを再度確認する。

Other Tips

Reviewer provided "Next Steps"

レビュアーが「Next Step」といってくるとがあるが、
課金関連ではあまり役立たないらしい。

ネイティブの課金処理でのコメントが多く、
RevenueCatを利用している場合は、RevenueCatがおこなう部分のため。

My app is live - but purchases are broken!

アプリを初めて公開するときや、既存のアプリに課金アイテムを追加する場合、
App Storeで有効になるまでに、24時間かかる場合がある。

そのため、手動リリースなどを活用して、有効になってから、
告知やマーケティングなどをおこなうのがいいっぽい。


以上!! チェックリストとしてまとまってて、ありがたい。。
iOSの審査は大変そうだ。。。(*´ω`*)