iOSのアプリでサブスクリプションを実装したので、テストもかねてプロモーションコードを使ってみました。
プロモーションコードとは
限られたユーザーにアプリや課金コンテンツを提供するための機能です。
デベロッパーサイトからコードを発行して、ユーザがそのコードを入力することで使用できます。
条件など
- アプリが公開されたあとで(デベロッパーによる公開待ちでも可)、App Store Connectから発行できます。
- アプリのバージョン毎に100個まで発行できます。
- アプリとは別にアプリ内課金の各アイテムのコードも発行できます。
- コードは発行してから4週間有効です。
- 1つのコードは一度のみ使用できます。
- コードの使用数は1月1日と7月1日にリセットされます。
- などなど
これを使えば、アプリ公開前に本番環境での動作確認が行えたり、特定のお得意様にアプリをプレゼントしたりできます。
サブスクリプションのプロモーションコード
アプリのほうのプロモーションコードについては結構情報があったのですが、サブスクリプションのプロモーションコードについてはあまり見つけることができなかったので、使ってみました。
分かったこと
- 発行されたコードを使用すると、AppleIDに対して課金した状態になる。
- 購入状態にはるが、自動継続はOFFになっている。
- レシートを見た限り、通常の購入と同じ。
- 購読中の状態で同じアイテムのプロモーションコードを使用すると、アップグレード?クロスグレード?扱いになる。(※)
※レシートには、同じアイテムでも「"is_upgraded": "true"」が追加されるので、アップグレードを同じ動きをすると思われる。
つまり、購入が即日反映され、有効期限が更新される。
(例)
有効期限が1か月のアイテムAがあった場合、
- 1月1日にプロモーションコードを使用してアイテムAを購入→有効期限は2月2日
- 1月10日にプロモーションコードを使用してアイテムAを購入→有効期限は2月11日
よって、プロモーションコードをまとめて使用することはお勧めしません。
なお、最初の購入が通常の購入だった場合、残りの20日分はおそらく返金されるのではないかと思われますが、未確認です。
課金まわりの本番環境での確認(特にサーバでのレシートの検証など)はリリースしたアプリでないとできないので、有効に使えそうです。