記事

Appへのお試しオファーの実装

対象となるユーザーに対し、自動更新サブスクリプションのお試し価格をオファーします。

概要

自動更新サブスクリプションを提供するAppでは、対象となるユーザーに対して、無料トライアルなどの割引お試し価格をオファーできます。そのプロダクト、または同じサブスクリプショングループの任意のプロダクトについて以前にお試しオファーを利用したことがないお客様に対し、お試しオファーを提供できます。

始めるには、App Store Connectでお試しオファーを設定してください。これについては「App Store Connectデベロッパヘルプ」を参照してください。次に、Appで、ユーザーにお試しオファーの利用資格があるかどうかを判断します。AppがApp Storeに利用可能なプロダクトのリストをクエリすると、ユーザーがお試しオファーの対象であればお試し価格が表示されます。

お試しオファーを設定する

Appでお試しオファーを表示するには、まずApp Store Connectでオファーを設定する必要があります。詳しくは、「自動更新登録のお試しオファーの設定」を参照してください。

支払いモードの異なる3種類のお試しオファーから、いずれかを選択します。すべてのサブスクリプションは、お試し期間が終了すると通常価格で更新されます。オファーの種類には、「都度払い」「前払い」「無料トライアル」があります。

都度払い

SKProductDiscount.PaymentMode.payAsYouGo(英語)の値は、都度払いのオファータイプを表します。サブスクリプションの新規登録者は、一定期間にわたり、お試し価格を請求期間ごとに支払います(例:3か月間毎月1.99ドル)。

都度払いのタイムライン

前払い

SKProductDiscount.PaymentMode.payUpFront(英語)の値は、前払いのオファータイプを表します。サブスクリプションの新規登録者は、一定期間分のお試し価格を前払いします(例:2か月で1.99ドル)。

前払いのタイムライン

無料トライアル

SKProductDiscount.PaymentMode.freeTrial(英語)の値は、無料トライアルのオファータイプを表します。サブスクリプションの新規登録者は、一定期間、無料でコンテンツにアクセスできます。サブスクリプションはすぐに開始されますが、無料トライアル期間が終了するまで請求が行われることはありません。

無料トライアルのタイムライン

利用資格を判断する

ユーザーにお試しオファーの利用資格があるかどうか判断するため、レシートを確認します。

  1. App Storeでのレシートの検証」に記載されているように、レシートを検証します。

  2. レシートで、すべてのApp内課金トランザクションについて、サブスクリプションのトライアル期間(英語)サブスクリプションのお試し価格期間の値を確認します。あるサブスクリプションでこれらのフィールドのいずれかがtrueになっている場合、ユーザーは、そのサブスクリプションプロダクトまたは同じサブスクリプショングループ内のほかのプロダクトでお試しオファーを利用できません。

通常、サーバからユーザーの利用資格を確認します。可能な場合は、Appを最初に起動したときなど、早い段階で利用資格を判断することが推奨されます。

サブスクリプションの新規登録者、およびサブスクリプションを中断していた登録者のうち、以前にお試しオファーを利用していない登録者が、お試しオファーを利用できることを示す図。

レシートに基づいて、新規および再開のカスタマーが無料トライアルなどのお試しオファーを利用できるかどうか、次のように確認できます。

  • サブスクリプションの新規登録者は、常に利用できます。

  • サブスクリプションを中断していた登録者が更新する場合は、以前にそのプロダクト(または同じサブスクリプショングループのプロダクト)でお試しオファーを利用したことがなければ、利用できます。

お試しオファーを表示する

ユーザーがお試しオファーを利用できるかどうか判断したら、App Storeに利用可能なプロダクトをクエリし、ユーザーにオファーを提示します。

  1. 指定されたサブスクリプションプロダクトのリストについて、App Storeからローカライズされた情報を取得します。この際、SKProductsRequest(英語)クラスを使用します。App Store Connectで利用可能な割引が定義されているプロダクトには、常にintroductoryPrice(英語)オブジェクトが含まれます。

  2. introductoryPrice(英語)オブジェクトのプロパティを使用して、サブスクリプションの割引価格を表示します。(SKProductDiscount.PaymentMode(英語)で表される)お試しオファーのタイプに基づいて、それぞれのオファーを説明するUIを表示します。

デザインに関するガイダンスは、「Human Interface Guidelines」>「In-App Purchase」(英語)を参照してください。

関連項目

お試しオファーの提供

お試しオファーのテスト

さまざまなユーザーシナリオでお試し価格をテストします。

class SKProductDiscount(英語)

サブスクリプションプロダクトの割引オファーの詳細です。