なおさんのブログ

iOSエンジニアのブログのはずがいろいろ書いてます。

iOSのアプリ内課金を無償で公開する方法

はじめに

iOSのアプリ内課金コンテンツをプロモーションの観点から一時的に無償で公開したいケースがあります。 アプリで専用の仕組みを入れれば何かしらできるとは思うがもう少しスマートな方法がないものか。 調べてみるとAppStoreConnectに以下の機能があったので詳細を調べてみました。

  • プロモーションコードによる公開
  • お試しオファーによる公開
  • プロモーションオファーによる公開
  • オファーコードによる公開

プロモーションコードによる公開

アプリ内課金コンテンツに対してプロモーションコードを発行して、そのコードをユーザーに入力してもらうことにより購入したのと同様の状態にできる

  • アプリ内課金コンテンツに対して最大100個リセット、合計1,000個まで作成可能(利用可能数は1/1と7/1にリセット)
  • 非営利目的でのみ使用可能(コード自体が商材になる使い方は不可)

お試しオファーによる公開

アプリ内課金コンテンツに対してお試し期間を設定し、アプリ内課金コンテンツ購入者に購入直後から一定期間無償で利用させる

  • 無償期間後に自動で有償コンテンツに移行
  • 無償期間は1回のみ有効

プロモーションオファーによる公開

アプリ内課金コンテンツに対して、一定期間割引もしくは無償価格でアプリ内課金を購入できるようにする

  • 無償期間後に自動で有償コンテンツに移行
  • 対応するには別途アプリ側の実装が必要。プロモーションオファーとして購入処理を実行する必要がある

オファーコードによる公開

アプリ内課金コンテンツにに対してオファーコードを生成して、そのコードをユーザーに入力してもらうことにより購入したのと同様の状態にできる

  • 四半期ごとに最大150,000 のコードまで生成可能
  • アプリ内にコード入力画面を実装することも可能

比較

内容 プロモーションコード お試しオファー プロモーションオファー オファーコード
配布方法 コードの配布 課金コンテンツ購入 課金コンテンツ購入 コードの配布
配布数 100個まで 制限なし 制限なし 150,000個
用途 非営利目的のみ 一般ユーザー配布可 一般ユーザー配布可 一般ユーザー配布可
アプリ実装 不要 不要 必要 不要(実装すればアプリ内でコード入力も可)

結論

それぞれ制限事項は配布方法が違うため用途によって使い分けるのが良さそうかなと思います。

参考資料

backapp.co.jp tech.dely.jp https://help.apple.com/app-store-connect/#/deve1d49254f