class SKProductDiscount (英語)
概要
自動更新サブスクリプションを提供するアプリでは、対象となるユーザーに対して、無料トライアルなどの割引お試し価格をオファーできます。そのプロダクト、または同じサブスクリプショングループの任意のプロダクトについて以前にお試しオファーを利用したことがないユーザーに対し、お試しオファーを提供できます。
まず、App Store Connectでお試しオファーを設定してください。次に、ユーザーにお試しオファーの利用資格があるかどうかを判断します。App Storeに提供可能なプロダクトのリストを照会して、ユーザーがお試しオファーの対象であれば、お試し価格を表示します。
お試しオファーを設定する
アプリでお試しオファーを表示するには、まずApp Store Connectでオファーを設定する必要があります。詳しくは、「自動更新登録のお試しオファーの設定」を参照してください。
支払いモードの異なる3種類のお試しオファーから、いずれかを選択します。すべてのサブスクリプションは、お試し期間が終了すると通常価格で更新されます。オファーの種類には、「都度払い」「前払い」「無料トライアル」があります。
都度払い
SKProduct
(英語)の値は「都度払い」オファータイプを表します。サブスクリプションの新規登録者は、一定期間にわたり、お試し価格を請求期間ごとに支払います(例:3か月間毎月1.99ドル)。
前払い
SKProduct
(英語)の値は「前払い」オファータイプを表します。サブスクリプションの新規登録者は、一定期間分のお試し価格を前払いします(例:2か月で1.99ドル)。
無料トライアル
SKProduct
(英語)の値は「無料トライアル」オファータイプを表します。サブスクリプションの新規登録者は、一定期間、無料でコンテンツにアクセスできます。サブスクリプションはすぐに開始されますが、無料トライアル期間が終了するまで請求が行われることはありません。
利用資格を判断する
ユーザーにお試しオファーの利用資格があるかどうか判断するため、レシートを確認します。
-
「App Storeでのレシートの検証」に記載されているように、レシートを検証します。
-
レシートで、すべてのアプリ内課金トランザクションについて、
is
(英語)と_trial _period is
(英語)の値を確認します。あるサブスクリプションでこれらのフィールドのいずれかが_in _intro _offer _period true
になっている場合、ユーザーは、そのサブスクリプションプロダクトまたは同じサブスクリプショングループ内のほかのプロダクトでお試しオファーを利用できません。responseBody.Pending_renewal_info(英語)配列内のsubscription
を使って、サブスクリプションが属するサブスクリプショングループを判断します。_group _identifier
通常、サーバからユーザーの利用資格を確認します。可能な場合は、アプリを最初に起動したときなど、早い段階で利用資格を判断してください。
レシートに基づいて、新規ユーザーおよび利用を再開するユーザーが無料トライアルなどのお試しオファーを利用できるかどうかを確認できます。
-
サブスクリプションの新規登録者は、常に利用できます。
-
サブスクリプションを中断していた登録者が更新する場合は、以前にそのプロダクト(または同じサブスクリプショングループのプロダクト)でお試しオファーを利用したことがなければ、利用できます。
既にサブスクリプションを利用中の登録者は、同じサブスクリプショングループのプロダクトでお試しオファーを利用することはできません。たとえば、登録者が別のプロダクトのサブスクリプションをアップグレード、ダウングレード、またはクロスグレードする場合、過去のお試しオファーの利用の有無に関わらず、利用資格はありません。
お試しオファーを表示する
ユーザーのお試しオファーの利用資格を判断したら、App Storeに利用可能なプロダクトをクエリし、ユーザーにオファーを提示します。
-
指定されたサブスクリプションプロダクトのリストについて、App Storeからローカライズされた情報を取得します。この際、
SKProducts
(英語)クラスを使います。App Store Connectで利用可能な割引が定義されているプロダクトには、常にRequest introductory
(英語)オブジェクトが含まれます。Price -
introductory
(英語)オブジェクトのプロパティを使用して、サブスクリプションの割引価格を表示します。(Price SKProduct
(英語)で表される)お試しオファーのタイプに基づいて、それぞれのオファーを説明するUIを表示します。Discount .Payment Mode
デザインに関するガイダンスは、「ヒューマンインターフェイスガイドライン」>「アプリ内課金」を参照してください。