XCode 16.4 日本語化計画
販売促進対象のアプリ内購入をあなたの製品ページに表示し、ユーザーが App Store で開始した購入を処理します。
iOS では、App 内課金を促進することで、ユーザーが App Store 上で直接閲覧できるようになります。販売促進された App 内課金は、あなたの製品ページや検索結果に表示されるほか、App Store の適切なタブに表示されることもあります。ユーザーは App Store で購入手続きを開始すると、あなたのアプリ内で取引を進めることができます。
ユーザーがアプリ内製品の購入を選択した時点であなたのアプリがインストールされていない場合、App Store は自動的にアプリをダウンロードするか、ユーザーに購入を促すプロンプトを表示します。インストールされているあなたのアプリのバージョンが、アプリ内購入販売促進に対応していない古いバージョンである場合、App Store はユーザーにアプリのアップグレードを促します。
アプリ内購入を促進するには、以下の 2 つの手順が必要です。
Product.PromotionInfo API を使用すると、特定のデバイスでユーザーに表示される販売促進対象のアプリ内購入がどれかをカスタマイズできます。販売促進対象のアプリ内購入を App Store に表示するために Product.PromotionInfo を使用する必要はありません。
この機能に関するマーケティングガイダンスについては、アプリ内購入のプロモーション をご覧ください。
販売促進対象のアプリ内購入をテストするには、販売促進対象のアプリ内購入のテスト (Testing promoted In-App Purchases) をご覧ください。
App Store Connect で、販売促進画像をアップロードし、販売促進対象の App 内課金を設定します。App Store Connect の「App Store Promotion(販売促進)」機能を使用して、デフォルトの表示順と表示回数を管理できます。設定の詳細については、アプリ内課金のプロモーション を参照してください。
ユーザーが App Store でアプリ内購入を開始すると、StoreKit は自動的にあなたのアプリを開き、PurchaseIntent の intents 内の非同期シーケンスで商品情報を送信します。あなたのアプリは購入取引を完了し、それに関連するアクションを実行する必要があります。
取引を完了するには、PurchaseIntent の product に対して purchase(options:) メソッドを呼び出します。購入コンテンツのロック解除や取引の終了(finish())など、アプリ内購入であなたのアプリが使用するのと同じワークフローに従ってください。
以下のコード例は、App Store からの購入意図を注目します。ユーザーが App Store で販売促進されたアプリ内購入をタップすると、Product オブジェクトを受け取り、その購入ワークフローを実行します。
for await purchaseIntent in PurchaseIntent.intents {
// Complete the purchase workflow.
do {
try await purchaseIntent.product.purchase()
}
catch {
<#Handle Error#>
}
}
場合によっては、あなたのアプリで購入取引を延期またはキャンセルする必要があります。例えば、ユーザーが購入取引の途中であれば取引を延期し、完了後に完了させる必要があるかもしれません。また、ユーザーが購入しようとしている商品を既にロック解除している場合は、取引をキャンセルする必要があるかもしれません。
取引を延期するには、購入意図を保存し、ユーザーが購入取引を完了した後、または延期が必要なその他のアクションを完了した後に処理します。
取引をキャンセルするには、purchase(options:) を呼び出さないでください。代わりに、ユーザーにフィードバックを提供してください。この手順はオプションですが、フィードバックを提供しないと、ユーザーが App Store で購入手続きを開始した後にアプリが何もアクションを起こさないことがバグのように見える可能性があります。
デバイス上で販売促進対象のアプリ内購入をカスタマイズするには、Product.PromotionInfo を使用してデフォルトの表示順序と表示設定をオーバーライドできます。この機能を使うと、あなたのアプリの使用経験や過去の購入履歴に基づいて、あなたのユーザーにとって関連性の高い販売促進のみを表示できます。例えば、あるゲームで、各ゲームレベルごとに販売促進対象のアプリ内購入があるとします。この場合、ユーザーのゲームレベルに応じた販売促進対象商品みを表示し、既に購入済みのアイテムは非表示にすることができます。
販売促進されたアプリ内購入がデバイス上の App Store に表示されるかどうかを制御するには、以下のいずれかの方法を使用します。
これらのオーバーライドはデバイス固有であり、ユーザーがアプリを少なくとも 1 回起動した後に有効になります。
以下のコード例では、製品 ID の配列を使用してその順序を設定しています。currentOrder を呼び出して Product.PromotionInfo オブジェクトを取得し、それらの表示設定を直接設定します。次に、updateAll(_:) を呼び出して変更を保存します。
// Set the product order. let orderedProductIdentifiers = [ "com.example.ExampleApp.product1", "com.example.ExampleApp.product2", "com.example.ExampleApp.product3" ] do { try await Product.PromotionInfo.updateProductOrder(byID: orderedProductIdentifiers) } catch { <#Handle Error#> } // Get the current product order. var promotions: [Product.PromotionInfo] = [] do { promotions = try await Product.PromotionInfo.currentOrder } catch { <#Handle Error#> } // Set the visibility for all the products and save the changes. for i in promotions.indices { promotions[i].visibility = .visible } do { try await Product.PromotionInfo.updateAll(promotions) } catch { <#Handle Error#> }
以下のコード例では、ユーザーが、販売促進された商品を購入した後に非表示にします。
// Change the visibility to hide a promoted product after a user purchases it.
let purchasedProductIdentifier = "com.example.ExampleApp.product1"
do {
try await Product.PromotionInfo.updateProductVisibility(.hidden,
for: purchasedProductIdentifier)
}
catch {
<#Handle Error#>
}
App Store Connect からの販売促進の表示を制御するには、App 内での visibility 値をデフォルトの Product.PromotionInfo.Visibility.appStoreConnectDefault に設定します。この値が設定された製品は、App Store Connect であなたの構成した設定に基づいて表示または非表示になります。App Store Connect の使い方について詳しくは、アプリ内課金のプロモーション をご覧ください。
例えば、祝日に全ユーザー向けに商品を販売促進する場合、アプリで商品の表示設定を Product.PromotionInfo.Visibility.appStoreConnectDefault に設定してください。App Store Connect では、まず商品の表示設定を非表示に設定しておきます。祝日に、App Store Connect を使って手動で商品を表示するように変更します。販売促進された商品は、App Store で自動的に全ユーザーに表示されます。
あなたのアプリが販売促進対象商品の順序と表示設定に対して行った変更をリセットするには、空の配列を指定して updateAll(_:) メソッドまたは updateProductOrder(byID:) メソッドを呼び出します。これによりオーバーライドがキャンセルされ、ユーザーは販売促進対象商品のアプリ内購入をデフォルトの順序で表示できるようになります。
オーバーライドのリストを取得するには、currentOrder を呼び出します。リストが空の場合、デバイスは販売促進対象商品のアプリ内購入をデフォルトの順序で表示します。
購入意図を発行するインスタンス。これは、顧客があなたのアプリ外で購入を開始し、アプリが完了することを示します。
デバイス上での順序と表示をカスタマイズする、販売促進対象のアプリ内購入に関する情報。
あなたのアプリを App Store で利用可能にする前に、アプリ内購入をテストしましょう。