アプリ内購入を測定する

アプリ内購入(IAP)とは Google Play または Apple App Store 経由で販売できる、モバイルアプリ内のデジタル コンテンツまたは機能であり、販売する際にアプリ内で決済を処理する必要がありません。アプリ内購入の例としては、定期購入コンテンツや特別なゲーム コンテンツが挙げられます。

Analytics では、アプリ内購入レポートに IAP イベントが表示されます。

Android アプリの場合、Analytics SDK は Google Play に統合されています。Apple プラットフォーム アプリの場合、SDK は、Apple の StoreKit 1 API と StoreKit 2 API を使用して Apple App Store に統合されています。

ほとんどの場合、Analytics SDK は自動的に IAP イベントを収集するため、アプリ内で API 呼び出しを行う必要はありません。iOS では、自動収集される IAP イベントに加えて、WebView で IAP イベントを手動でログに記録することもできます。このガイドでは、プロジェクトの自動トラッキングを設定する方法と、数行のコードを記述する必要がある特殊なケースについて説明します。

始める前に

Android アプリ

  • アプリで Analytics SDK v17.3.0 以降(または Firebase Android BoM v25.2.0 以降)を使用していることを確認します。

  • Firebase アプリを Google Play にリンクします。

Apple プラットフォーム アプリ

  • 最新の SDK を使用していることを確認します。

    • アプリ内購入の自動トラッキングの場合: アプリでアナリティクス SDK v6.20.0 以降を使用していることを確認します。

    • アプリ内購入の手動トラッキングの場合: アプリでアナリティクス SDK v12.5.0 以降を使用していることを確認します。

  • Apple のドキュメントをお読みになり、アプリ内購入 API である Apple StoreKit 1 と StoreKit 2 について十分に理解していることを確認してください。

実装

ほとんどの場合、アナリティクス SDK は追加のコードを必要とせずに自動的に IAP イベントをログに記録します。

Android アプリでの実装

Android アプリの場合は、Google Play にリンクするとすぐに IAP イベントを測定できます。

Apple プラットフォーム アプリでの実装

iOS アプリでは、StoreKit 1 を使用している場合、アナリティクス SDK は自動的に IAP イベントをログに記録します。StoreKit 2 を使用している場合、次のコード スニペットを使用して、確認済みのアプリ内購入イベントをログに記録できます。

また、App Store 以外で行われたアプリ内購入をトラッキングする必要がある場合は、WebView で IAP イベントを手動でログに記録できます。SDK は、可能な限り、アプリ内購入イベントを自動でログに記録し続けます。また、手動で記録されたアプリ内購入イベントの重複除去は行いません。 アプリ内購入を手動でトラッキングする場合は、アナリティクス SDK v12.5.0 以降を使用していることを確認します。

Swift

StoreKit 1 を使用している場合、Analytics SDK は自動的に IAP イベントをロギングします。

StoreKit 2 を使用している場合、次のコードを使用して IAP イベントをロギングします。

import StoreKit
import FirebaseAnalytics

// A user tapped a button to purchase an item.
func userTappedPurchaseUpgradeButton() {
  let product = ...
  purchaseSomeProduct(product)
}

func purchaseSomeProduct(_ product: Product) {
  // Purchase a Product. This is mostly standard boilerplate StoreKit 2
  // code, except for the Analytics.logTransaction() call.
  let result = try await product.purchase()
  switch result {
  case .success(let verification):
      let transaction = try checkVerified(verification)

      // Call this Firebase API to log the in-app purchase event.
      Analytics.logTransaction(transaction)

      await transaction.finish()
  ...
}

Objective-C

StoreKit 1 を使用している場合、Analytics SDK は自動的に IAP イベントをロギングします。

StoreKit 2 は Swift のみであるため、Objective-C 実装はサポートされていません。