はじめに
現在、サブスクアプリハッカソン に出場しています。このハッカソンでは、期間中にRevenueCatによるサブスク収益管理を行なっているアプリをストアにリリースすることが要件になっています。
今回初めてリリースするアプリにRevenueCat SDKを実装するので、まずはRevenueCat SDKの動作確認を検証用のテストアプリで行いたいと考えました。RevenueCatはストアとのAPIにより収益管理を行うソリューションですので、iOSの場合はAppStore Connectにアプリが登録されていることが前提条件となります。ただ、これは単にアプリ登録しているだけではダメで、ストアとのAPIが使えるように一定の条件を満たす必要があります。RevenueCat の実装よりも、この対応に結構時間を使ってしまいました。
この記事では、RevenueCat実装の前提として、App Store Connectで必要な設定と、取得しておくべき情報をまとめます。
やりたかったこと
アプリを審査提出前にRevenueCatを実装し、Paywallでサブスクリプション課金のプランを表示ができることを確認したい。
App Store Connectでの設定
以下のような状態になっていることが、App Store Connect APIでのデータ取得の前提となり、RevenueCat利用にあたっては必要であるようです。
1. アプリのアイコンがApp Store Connectに見えていること
2. サブスクリプショングループが作られていること
3. 上記のサブスクリプショングループの中に、サブスクリプションが作られ、ステータスが「送信準備完了(Ready to Submit)」になっていること
審査提出前のアプリで稼働確認する場合は、ここが要注意!
「メタデータが不足(Missing Meta)」のステータスが解消されるまで、各種のメタデータの登録不備のエラーを地道に潰す必要がありますが、サブスクリプション内の税金カテゴリの情報を入れたり、スクリーンショットをアップロードしたり。
一通りデータを入力してもステータスが変わらずハマりました。ググると同じような事象に遭遇している人も複数いるようですが、具体的にどのメタデータが不足しているかのメッセージが出ないので辛い。
- 主に原因として上げられているのは、審査に関する情報のスクリーンショットの登録不備のようでした。サイズ変更をして登録し直したらうまくいく例もあるようです。
- 私の場合には、なぜかサブスクリプショングループの方の「ローカリゼーション」に情報を登録したらステータスが変わりました。
なお、すでに審査提出済みのアプリの場合にはこのステータスが「承認(Approved)」になるようですが、もちろんそのステータスでも問題ありません。
4. 有料アプリ契約(Paid Applications Agreement)に署名していること。
具体的には、有料アプリ契約ステータスが「ユーザー情報を保留中(Active(Pending User Info))」となっていれば良いようです。
App Store Connectから事前に取得しておく情報
RevenueCat側での設定には、以下の情報が必要になりますので、メモしておくことをオススメします。
- App Bundle ID (バンドルID)
- アプリ > アプリ情報 で確認
- App Store Connect App-Specific Shared Secret(アプリ用共有シークレット)
- アプリ > アプリ情報 内で生成
- In-App Purchase Key
- ユーザーとアクセス > 統合 > アプリ内課金で「SubscriptionKey_XXXX.p8」という証明書を発行
- App Store Connect API のキー
- ユーザーとアクセス > 統合 > App Store Connect API
内で、Adminアクセスで「AuthKey_XXXX.p8」という証明書を発行
- ユーザーとアクセス > 統合 > App Store Connect API
- Issuer ID
- ユーザーとアクセス > 統合 > App Store Connect API で確認
- Vendor number(ベンダー番号)
- レポート画面の左上で確認
- わかりにくいがビジネス画面でも確認可(住所の隣に書いてある8桁の番号)
次の記事では、RevenueCat側での設定についてまとめたいと思います。