App Store Connectヘルプ
アプリ内課金のオファーコードの作成
オファーコードを使用すると、アプリ内課金の割引や無料トライアルを提供でき、カスタマーの新規獲得や維持、再獲得に役立てることができます。オファーコードの作成や管理はApp Store Connectで行います。作成時には利用対象となるユーザの条件を定義します。カスタマーは、引き換えURLにアクセスするか、App Storeまたはアプリ内でコードを直接入力することでオファーコードを利用できます。同時に有効にできるオファー数は最大10件で、各アプリにつき四半期ごとに発行できるコード数は最大100万件です。
利用対象となるユーザの条件は、以下のいずれかで定義します。
-
アプリ内で購入したことがない
-
過去30日以内にアプリ内で購入した
-
30日以上前にアプリ内で購入した
コードは、対象となるユーザの条件を十分に検討したうえで作成・配布するようにしてください。
オファーコードには、全部で3種類あります。
ワンタイムコード
ランダムに生成された一意のコードで、1回のみ使用できます。
-
コードの引き換え方法:コードは、一意の引き換えURLにアクセスするか、App Storeで入力することで利用できます。また、アプリが対応している場合に限り、アプリ内で直接入力することでも引き換えられます。デベロッパは、有効期限日を6か月以内の任意の日付に指定できます。有効期限が過ぎるとコードは無効となります。
-
アプリ内での引き換え要件:アプリ内でコードを引き換えるには、カスタマーがiOS 16.3以降、macOS 15.0以降、visionOS 1.0以降のいずれかを搭載のデバイスを使用し、かつアプリが適切なStoreKitメソッドをサポートしている必要があります。
-
おすすめの利用シーン:
-
配布対象を小規模に絞る場合(例:特別割引として個人に配布する場合や、コンテスト優勝者に配布する場合など)。
-
コードの対象者を厳密に管理する必要がある場合(例:発行数を絞って無料配布する場合やイベント参加者限定とする場合、コードをプロダクトに印刷する場合など)。
-
対象者を絞ったプロモーションで、限定的に配布する場合。
-
カスタムコード
SUMMER25、VIPACCESSなど、デベロッパが指定した一意の名前で作成するコード。カスタムコードはワンタイムコードとは異なり、デベロッパが事前に設定した上限回数まで複数ユーザが使用できます。
-
コードの引き換え方法:コードは、引き換えURLにアクセスすることで利用できます。また、アプリが対応している場合に限り、アプリ内で直接入力することでも引き換えられます。
-
アプリ内での引き換え要件:アプリ内でコードを引き換えるには、カスタマーがiOS 16.3以降、macOS 15.0以降、visionOS 1.0以降のいずれかを搭載のデバイスを使用し、かつアプリが適切なStoreKitメソッドをサポートしている必要があります。
-
おすすめの利用シーン:
-
マーケティングキャンペーンを大々的に行う場合(例:あらゆる新規ユーザに割引をプロモーションする場合など)。
-
特定のカスタマーグループを対象としたプロモーションを行う場合(例:30日間でアプリを一度も開いたことがないユーザに対する特別オファーを提供する場合など)。
-
特定のカスタマーコホートを獲得、維持、再獲得する目的で配布する場合。
-
Sandboxコード
テスト用のワンタイムコードです。アプリが適切なStoreKitメソッドをサポートしている場合、iOS 16.3以降、macOS 15.0以降、visionOS 1.0以降のいずれかを搭載のデバイスでSandboxアカウントの設定を使用することで、コードの引き換えをテストできます。
-
おすすめの利用シーン:
-
アプリのSandbox環境で、コード引き換えの一連の流れを検証する場合。
-
実際のユーザや本番環境のデータに影響を及ぼすことなく、価格などさまざまなオファー構成をテストしたい場合。
-
レシート検証とエンタイトルメントの付与プロセスが、アプリで正しく処理されるか確認する場合。
-
必要な役割:Account Holder、Admin、App Manager、またはMarketing。「役割の権限」を参照してください。
オファーの設定
-
「アプリ」から、目的のアプリを選択します。
-
サイドバーで、「アプリ内課金」をクリックします。
-
「オファー」セクションまで下にスクロールして「オファーを作成」をクリックするか、「非更新サブスクリプション」セクションまで下にスクロールして「管理」、「作成」をクリックします。
-
オファーの参照名を入力します。この参照名は、App Store Connectでのオファーの管理に使用されます。参照名は、オファーの作成後に変更することはできません。
注:同一アプリで提供される別のオファーで使用中の参照名は使えません。
-
アプリ内課金の履歴に基づき、オファーを利用できるカスタマーを指定します。以下から1つまたは複数選んでください。
-
アプリ内で購入したことがない
-
過去30日以内にアプリ内で購入した
-
30日以上前にアプリ内で購入した
オプションをすべて選択した場合、オファーはすべてのユーザが利用できるようになります。
-
-
「次へ」をクリックします。
-
オファーを提供する国または地域を選択し、「次へ」をクリックします。
-
「有料オファー」または「無料」を選択します。
-
基準とする国や地域に対して割引価格を選択し、「次へ」をクリックします。さらに多くの価格が掲載された一覧を確認する場合は、「他の価格を確認」をクリックします。
-
税制と為替に基づき、選択した価格と同等の価格がApp Storeの全175の国と地域に対し提示されます。特定のストアフロントに対して異なる価格を設定する場合は、そのストアフロントに対する価格を変更し、「次へ」をクリックします。
-
オファーの詳細が正しいことを確認の上、「確認」をクリックします。
注:作成後のオファーを編集することはできません。オファーを利用できるユーザを変更する必要がある場合は、新しいオファーを作成してください。
ワンタイムコードの作成
カスタマーがコードを使用するには、アプリが「配信準備完了」のステータスである必要があります。
-
「アプリ」から、目的のアプリを選択します。
-
サイドバーで、「アプリ内課金」をクリックします。
-
コードを作成するアプリ内課金を選択します。
-
「オファー」セクションまで下にスクロールし、リスト内で目的のオファーを特定します。
-
参照名をクリックします。
-
「ワンタイムコード」セクションで、「ワンタイムコードを作成」ボタンをクリックします。
-
「ワンタイムコードを作成」ボタンをクリックします。
-
ポップアップウィンドウで、作成するコードの数を選択します。
選択できる数は、500〜25,000の範囲となります。25,000を超える回数が必要となる場合は、同じオファーに対してコードの作成を複数回実行してください。
-
有効期限日を選択します。これが、コードの有効期限になります。コードの使用可能回数は1回のみです。有効期間は最長6か月で、コードは選択した日の午前12時(PT)に期限が切れます。
-
「作成」をクリックします。
カスタマーがコードを引き換えることができるようになるまで、最大1時間かかります。
ワンタイムコードのダウンロード
ワンタイムコードをユーザに配布するには、作成後App Store Connectからダウンロードする必要があります。
-
「アプリ」から、目的のアプリを選択します。
-
サイドバーで、「アプリ内課金」(または「非更新サブスクリプション」)をクリックします。
-
コードを作成するアプリ内課金を選択します。
-
「オファー」セクションまで下にスクロールし、リスト内で目的のオファーを特定します。
-
参照名をクリックします。
-
ダウンロードするコードを見つけて、「ダウンロード」をクリックします。
-
解凍されたテキストファイル(
.csv)をスプレッドシートアプリケーションで開きます。
カスタムコードの作成
-
「アプリ」から、目的のアプリを選択します。
-
サイドバーで、「アプリ内課金」をクリックします。
-
コードを作成するアプリ内課金を選択します。
-
「オファー」セクションまで下にスクロールし、リスト内で目的のオファーを特定します。
-
参照名をクリックします。
-
リストからオファーを選択します。
-
「カスタムコード」セクションで、「カスタムコードを作成」ボタンをクリックします。
-
カスタムコードに使用する文字列を入力します。最大64文字で、特殊文字は使用できません。
-
利用回数の上限を選択します。これは、このカスタムコードをユーザ全体で利用できる回数の合計で、一度に選択できる回数は最大25,000回です。これを超える回数が必要な場合は、同じオファーに対してコードの作成を複数回実行してください。
-
有効期限日を選択します。これは、コードの有効期限(最大6か月)です。コードは選択した日の午前12時(PT)に期限が切れます。
コードに有効期限を設定しない場合は、日付選択時に「終了日なし」を選択します。有効期限は一度設定すると、変更できません。
-
「作成」をクリックします。
カスタマーがコードを引き換えることができるようになるまで、最大1時間かかります。
Sandboxコードの作成
Sandboxコードは、テストを目的としたワンタイムコードです。アプリが適切なStoreKit APIをサポートしている場合、iOS 16.3以降、macOS 15.0以降、visionOS 1.0以降のいずれかを搭載のデバイスでSandboxアカウントの設定を使用することで、コードの引き換えをテストできます。詳しくはこちらを参照してください。
-
「アプリ」から、目的のアプリを選択します。
-
サイドバーで、「アプリ内課金」(または「非更新サブスクリプション」)をクリックします。
-
Sandboxコードを設定するアプリ内課金を選択します。
-
「オファー」セクションまで下にスクロールし、リスト内で目的のオファーを特定します。
-
参照名をクリックします。
-
「Sandboxコード」セクションで、「Sandboxコードを作成」ボタンをクリックします。
-
ポップアップウィンドウで、作成するコードの数を選択します。選択できる数は10〜10,000の範囲となります。
-
有効期限日を選択します(オプション)。これが、コードの有効期限になります。Sandboxコードの有効期間は最長6か月で、コードは指定した日の午前12時(PT)に期限が切れます。
オファーコードの無効化
-
「アプリ」から、目的のアプリを選択します。
-
サイドバーで、「アプリ内課金」をクリックします。
-
コードを無効にするアプリ内課金を選択します。
-
「オファー」セクションまで下にスクロールし、リスト内で目的のオファーを特定します。
-
参照名をクリックします。
-
無効にするコードの横にある「無効化」をクリックします。
-
もう一度「無効化」をクリックして、操作を実行します。
コードはただちに期限切れとなります。すでにコードを使用したサブスクリプション登録者に影響はありません。未使用分については失効し、利用可能回数として再カウントされることはありません。