Перейти к основному содержимому
Версия: 3.5.1

Покупки в приложении

Автоматическая верификация и отправка информации о покупке

к сведению

Начиная с Appodeal SDK 3.7.0+, появилась возможность автоматически верефицировать и отправлять информацию о покупках/подписках в Appodeal, а также получать информацию о покупках из Appodeal SDK с помощью Appsflyer.

Чтобы активировать эту функцию, свяжитесь с нами по электронной почте support@appodeal.com или в чате и попросите включить функцию ROI360.

Перед началом интеграции ROI360 следует получить данные из AppStoreConnect.

Для этого вам необходимо выполнить следующие шаги:

Шаг 1. Получение данных из App Store для валидации покупок ROI360

Получите следующие учетные данные из App Store Connect и передайте эту информацию нашей службе поддержки:

  • In-App Purchase key
  • Key ID
  • Issuer ID

Для получения данных по iOS:

  1. В App Store Connect, зайдите в Users and Access
  1. В Users and Access нажмите вкладку Integrations, в разделе Keys, выберите In-App Purchase.
  1. Нажмите + чтобы сгенерировать новый In-App Purchase key.
  1. Введите название вашего API key.

  2. Нажмите Generate.

  3. Нажмите Download In-App Purchase Key и сохраните его у себя для дальнейшей передачи. Примечание: Вы можете загрузить и сохранить этот ключ только один раз.

  4. Далее в App Store Connect, скопируйте Key ID.

  1. Далее в App Store Connect, скопируйте Issuer ID. Примечание: если Issuer ID не отображается в верхней части страницы, создайте ключ API App Store Connect (с любым уровнем доступа). После этого Issuer ID появится в верхней части страницы для ключа In-App Purchase.".

Шаг 2. Отправка уведомлений от App Store непосредственно в AppsFlyer

Перед продолжением обязательно запросите AppsFlyer server notifications endpoint у нашей службы поддержки.

  1. В App Store Connect, в разделе App Information найдите App Store Server Notifications в графе Production Server URL, нажмите Edit.
  1. Вставьте AppsFlyer server notifications endpoint, предоставленный нашей службой поддержки. Выберите Version 2 Notifications и нажмите Save.
  1. Далее, найдите Sandbox Server URL и нажмите Edit.
  1. Вставьте AppsFlyer server notifications endpoint. Выберите Version 2 Notifications и нажмите Save.

Опционально. Шаг 3 Настройка вызова AppodealPurchaseCallback

После того как функциональность выше будет включена и настроена, при совершении покупки в вашем приложении Appodeal SDK автоматически определит, проверит и отправит данные о покупках или подписках на Appodeal Dashboard. Если вы хотите получать информацию о покупках в самом приложении, выполните следующие шаги:

  1. Установите purchase delegate. Мы рекомендуем делать это в AppDelegate -didFinishLaunchingWithOptions::
@UIApplicationMain
final class MyAppDelegate: UIResponder, UIApplicationDelegate, AppodealInitializationDelegate {
func application(
_ application: UIApplication, didFinishLaunchingWithOptions
launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
) -> Bool {
Appodeal.setLogLevel(.verbose)

// Optional delegate for initialization completion
Appodeal.setInitializationDelegate(self)

// Optional delegate for for ROI360
Appodeal.setPurchaseDelegate(self)

/// Any other pre-initialization
/// app specific logic

Appodeal.initialize(
withApiKey: "APP_KEY",
types: .interstitial
)

return true
}
}
  1. Реализуйте методы протокола AppodealPurchaseDelegate:
extension AppDelegate: AppodealPurchaseDelegate {
func didReceivePurchase(_ successPurchases: [String: Any]?) {
print("[ROI360] successPurchases: ", successPurchases)
}

func didFailPurchase(_ error: (any Error)?) {
print("[ROI360] failPurchases: ", error?.localizedDescription)
}
}

Данные о покупках содержат следующую информацию:

ПараметрОписание
product_idИдентификатор приобретённого продукта
purchase_dateДата и время совершения покупки
transaction_idУникальный идентификатор транзакции, присвоенный App Store

На этом подключение автоматических покупок полностью завершено.

примечание

Отчеты о покупках будут автоматически загружаться в Личный кабинет 2 раза в день

Ручная верификация и отправка информации о покупке

к сведению

Отслеживание покупок в приложении будет работать только при подключении к Adjust или AppsFlyer. Чтобы подключить их, следуйте этому руководству для Adjust и этому руководству для AppsFlyer.

Вы можете отслеживать информацию о покупках в приложении и отправлять информацию на серверы Appodeal для аналитики. Это позволяет группировать пользователей по факту покупки. Это поможет вам настроить рекламу для таких пользователей или просто отключить ее, если это необходимо. Чтобы эта настройка работала правильно, отправьте информацию о покупке через Appodeal SDK.

Шаг 1. Отслеживание Покупок В Приложении

Чтобы все работало правильно, отправьте информацию о покупке через Appodeal SDK.

к сведению

Обязательно используйте все параметры из приведенного ниже метода и не удаляйте ни один из них.

Appodeal.validateAndTrack( 
inAppPurchase: "some product id",
type: .autoRenewableSubscription,
price: "9.99",
currency: "USD",
transactionId: "some transaction id",
additionalParameters: additionalParameters,
success: { [weak self] in self?.alert("Purchase is valid", message: $0.description) },
failure: { [weak self] error, _ in self?.alert("Purchase is invalid", message: error?.localizedDescription) }
)
к сведению

Убедитесь, что если вы создали продукт в приложении в App Store Connect, чтобы использовать:

  • .consumable или .nonConsumable для типа покупки,
  • .autoRenewableSubscription или .nonRenewingSubscription для подписок.
ПараметрОписаниеИспользование
inAppPurchaseИдентификатор продуктаAdjust/AppsFlyer
type

Тип должен быть одним из:

  • .consumable или .nonConsumabl
  • .autoRenewableSubscription or .nonRenewingSubscription
Adjust/AppsFlyer
priceДоход от событий в приложении.Adjust/AppsFlyer/Appodeal
currencyВалюта события в приложении.Adjust/AppsFlyer/Appodeal
transactionIdИдентификатор транзакцииAdjust/AppsFlyer
additionalParametersДополнительные параметры события в приложении.
к сведению

Если вы используете ваш собственный Adjust аккаунт, вам необходимо выполнить шаг 2 из нашей (документации по отслеживанию событий)(./event-tracking) и создать необходимые события на стороне Adjust.

Шаг 2. Свяжитесь С нами

После выполнения всех шагов свяжитесь с нашей службой поддержки по электронной почте support@appodeal.com или в онлайн-чате со следующей информацией:

  1. Логика реализации покупок в вашем приложении (когда и где вы вызываете метод валидации покупок и валидируете покупки).
  2. Предоставьте нам доступ для тестирования покупки в приложении и отправьте testflight по электронной почте support@appodeal.com.

Шаг 3. Тестирование

После того, как вы связались с нашей службой поддержки и предоставили всю необходимую информацию, вы можете протестировать свое приложение, чтобы убедиться, что покупки валидированы.

  1. Перейдите по пути App Settings → Attribution Settings → и измените Adjust Environment с Production на Sandbox, чтобы протестировать валидацию покупок, и не забудьте нажать Save в конце страницы.

  2. Подключите ваше устройство к компьютеру с открытой консолью (iOS Console) и отсортируйте логи по слову purchase.

  3. Теперь вы можете открыть свое приложение и совершить пробную покупку. Если в консоли отображается надпись Valid Purchase, значит, валидация прошла успешно.

  4. Если валидация не прошла успешно, то убедитесь, что все шаги выполнены.

  5. После тестирования, смените ваш Adjust Environment на Production по пути App Settings → Attribution Settings.