Как отслеживать покупки в приложении

Выберите платформу: iOS+ Android Unity


Покупки в приложении – это цифровой контент или функции, которые можно продавать в мобильном приложении через Apple App Store. В этом случае приложению не нужно обрабатывать финансовые транзакции. Примеры покупок в приложении: контент по подписке или специальные игровые предметы.

Analytics показывает события покупок в приложении в отчете "Покупки в приложении".

В приложениях для платформы Apple SDK интегрируется с Apple App Store с помощью API StoreKit 1 и StoreKit 2 от Apple.

В большинстве случаев SDK Analytics автоматически собирает события покупки в приложении без необходимости вызывать API в приложении. В iOS вы также можете регистрировать события покупки в приложении вручную в WebView в дополнение к автоматически собранным событиям покупки в приложении. В этом руководстве рассказывается, как настроить автоматическое отслеживание в проекте, а также описаны особые случаи, в которых для реализации отслеживания требуется добавить несколько строк кода.

Подготовка

  • Настройте проект Firebase и базу кода приложения, как описано в статье Начало работы с Google Analytics.

  • Свяжите проект Firebase с ресурсом Google Аналитики 4.

  • Убедитесь, что вы используете последнюю версию SDK:

    • Для автоматического отслеживания покупок в приложении убедитесь, что в вашем приложении используется Analytics SDK версии 6.20.0 или более поздней.

    • Для ручного отслеживания покупок в приложении убедитесь, что в вашем приложении используется Analytics SDK версии 12.5.0 или более поздней.

  • Ознакомьтесь с документацией Apple по API для покупок в приложении StoreKit 1 и StoreKit 2.

Реализация

В большинстве случаев SDK Аналитики автоматически регистрирует события покупки в приложении без необходимости добавлять дополнительный код.

Если вы используете StoreKit 1 в приложении для iOS, Analytics SDK автоматически регистрирует события покупки в приложении. Если вы используете StoreKit 2, то можете регистрировать проверенные события покупки в приложении с помощью приведенного ниже фрагмента кода.

Если вам нужно отслеживать покупки в приложении, совершенные не в App Store, вы можете регистрировать события покупки в приложении вручную в WebView. Обратите внимание, что SDK продолжит автоматически регистрировать покупки в приложении, если это возможно, и не будет удалять дубликаты событий in_app_purchase, зарегистрированных вручную. При отслеживании покупок в приложении вручную убедитесь, что вы используете Analytics SDK версии 12.5.0 или более поздней.

Swift

Если вы используете StoreKit 1, SDK Analytics автоматически регистрирует события покупки в приложении.

Если вы используете StoreKit 2, для регистрации событий покупки в приложении используйте следующий код:

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, SDK Analytics автоматически регистрирует события покупки в приложении.

StoreKit 2 написан только на языке Swift, поэтому реализация на Objective-C не поддерживается.