【Swift】サブスクの実装とハマりポイント

今後もアプリ開発でサブスク実装を行なっていくので手順だけ備忘録として残しておきます。実装については解説しないぞ!

サブスクリプションを作成

サブスクリプショングループを作成

アプリ名 Subscription Groupみたいな名前にする

サブスクリプションを作成

こちらも基本はアプリ名+Monthlyがスタンダードかと思います。

ローカリーゼーションの作成

各言語に対応するためにローカリーゼーションを作成します

審査への提出

初めてアプリ審査提出で同時にサブスクリプションも実装したため、アプリの審査と同時に提出する必要がありました。既にアプリのリリースをされてサブスクリプションも実装されている場合はサブスクリプションのみの審査提出だけで良いかと思います。

動作確認について

まず一番困ったのは開発時には実際に登録しているはずのサブスクリプション(ProductID)が取得できなかったことです。何度もAppStoreConnectの設定やProductIDなどを見直しましたがそれでも取得できずに諦めかけていました。

試しにApple Store ConnectへアップロードしてTestFlightで確認すると取得できました…

あとはSandbox環境で動作を確認するためにSandbox用のAppleのアカウントを作成してそちらを利用して動作確認することができました。

そもそもアプリの審査と一緒に出せみたいな表記があったので自分は審査に通ってからProductIDの取得ができると思っていましたができんのかい!

ローカライズに関しては地域と言語の設定でEnglishに変更するも表記は日本円のままで、これは地域と言語の設定で変わるものではなくApple IDに紐付いている国または地域の設定に依存しているためです。

完全ローカルで確認する場合はStoreKit Configurationを設定すればいいけど、TestFlightなど本番に近い環境での動作確認は必要だと感じる。

何回かリジェクトされた

サブスクの登録画面が分からない&利用規約をアプリの概要に貼れという理由でした (UIの不備なのかサブスク表記の不備なのかが不明)

    一度落ちるとサブスクリプションがリジェクト扱いになります、またローカリーゼーションも却下される形になるのでこれでいいのかも分からなくなりました。

    バイナリ更新して再提出すると承認されてリジェクトとなっていたサブスクリプションとローカリーゼーションは承認済みとなりました(^_^)

    ちなみにローカリーゼーションが却下となっていたので一度削除して再作成後に再審査に出すもリジェクトされたお。却下理由までちゃんと書いて欲しい…