記事


あなたのアプリ内での販売による再獲得提供


再獲得提供オファーシートを使用するか、カスタム売買を実装して、あなたのアプリ内で対象顧客に再獲得提供オファーを提示します。





概観


顧客が再獲得提供オファーの対象となる場合、StoreKit はあなたのアプリでそのオファーを売買するためのいくつかの方法を提供します。デフォルトでは、StoreKit はアプリの起動時に、対象となる顧客に再獲得提供オファーシートを自動的に表示します。Message API を使用してこのシートの表示を抑制(または遅延)したり、StoreKit views を使用して再獲得提供オファーを表示したり、StoreKit API を使用して UI をカスタマイズすることができます。


WWDC24 の関連セッション
セッション 1010: App Store オファーの実装


再獲得提供オファーの構成、利用済みオファーの処理などについては、あなたのアプリ内で再獲得提供をサポートする を参照してください。


再獲得提供オファーシートとともにオファーを提示する


デフォルトでは、StoreKit は App Store から winBackOffer メッセージを受信すると、アプリの起動時に再獲得提供オファーシートを表示します。このデフォルトの動作を選択するためにコードを記述する必要はありません。


あなたのアプリで再獲得提供オファーの表示方法をカスタマイズしている場合は、このメッセージを遅延させたり、抑制することもできます。アプリの起動時に、messages 非同期シーケンスを使用してメッセージに注目します。winBackOffer の理由がある再獲得提供オファーメッセージをさえぎります。メッセージを抑制するには、何もせずに無視します。


以下のサンプルコードは、再獲得提供オファーの引き換えメッセージを抑制し、他のすべての App Store メッセージを直ちに表示します。


struct MessageExampleView: View {
    @Environment(\.displayStoreKitMessage) private var displayStoreMessage

    var body: some View {
        MyContentView()
            .task {
                for await message in StoreKit.Message.messages {
                    if message.reason != .winBackOffer {
                        // Ask the system to display messages now.
                        try? displayStoreMessage(message)
                    }
                }
            }
    }
}

App Store メッセージの詳細については、Message を参照してください。


注意

再獲得提供オファーシートでオファーを利用すると、StoreKit ではアプリ外で発生する取引と同じように扱われる取引となり、あなたのアプリは updates シーケンスで取引を監視します。


StoreKit ビューで再獲得提供オファーを提示する


StoreKit ビューは、顧客が利用可能なすべてのサブスクリプションオファー(再獲得提供オファーを含む)の価格詳細を SubscriptionStoreView に自動的に表示するのをサポートします。StoreKit ビューはオファーのメタデータを取得し、あなたの購入手続きを設定します。顧客が複数のオファーの対象となる場合は、ビュー修飾子 preferredSubscriptionOffer(_:) を使用して、表示するオファーを制御します。


preferredSubscriptionOffer(_:) 修飾子は、グループ内の各サブスクリプションに対して StoreKit が呼び出す関数という単一のパラメータを取ります。この関数では、StoreKit は製品オブジェクト、サブスクリプション情報、そして顧客が利用できるすべてのオファーのリストを提供します。この情報とあなた独自のロジックを使用して提示すべきオファーを決定し、その Product.SubscriptionOffer オブジェクトを返します。nil をあなたが返した場合、顧客がお試しオファーの対象であれば、アプリは常にビューにそのお試しオファーを表示します。



再獲得提供オファー体験をカスタマイズする


アプリ内の売買体験を完全に制御することをあなたが選択した場合は、以下の API を使用して、顧客の再獲得提供オファーの資格とオファーの詳細に関する情報を取得します。


  • Product.SubscriptionInfo.RenewalInfoeligibleWinBackOfferIDs をチェックして、顧客が対象となる製品の再獲得提供オファーのリストを取得します。顧客が複数のオファーの対象となる場合、App Store はこの配列を最適なオファーを先頭に並べ替えます。

  • Product.SubscriptionOfferwinBackOffers 配列から再獲得提供の詳細を取得します。この配列には、App Store Connect であなたが構成する利用可能なすべての再獲得提供オファーが含まれています。eligibleWinBackOfferIDs 配列の ID と、winBackOffers 配列内の Product.SubscriptionOfferid を比較してください。

  • 購入に再獲得提供オファーを追加するには、購入オプション purchase(options:) に顧客が選択した再獲得提供 オファーを含めます。





    以下も見よ


    サブスクリプションのオファーとオファーコード


    あなたのアプリ内で再獲得提供をサポートする

    特定の期間、自動更新サブスクリプションの無料または割引オファーを提供して、以前の購読者に再度契約します。


    あなたのアプリでサブスクリプション提供コードをサポート
    (Supporting subscription offer codes in your app)

    App Store またはあなたのアプリ内でオファーコードを利用する顧客達にサブスクリプションサービスを提供します。


    struct SubscriptionOffer

    App Store Connect であなたが構成するサブスクリプションオファーに関する情報。


    struct OfferType

    自動更新サブスクリプションのオファーの種類。














    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ