
Новый AdServices фреймворк позволяет получить токен устройства, используемый в Apple Ads Attribution API. С помощью данного API можно атрибуцировать установки из ваших Apple Search Ads кампаний.
Взаимодействие между Apple Ads Attribution API и AdServices frameworkВ зависимости от того, дал ли пользователь согласие на ATT отслеживание, будет отдаваться полный или неполный вариант атрибуции.
Полный вариант атрибуции выглядит следующий образом:
{
"attribution": true,
"orgId": 40669820,
"campaignId": 542370539,
"conversionType": "Download",
"clickDate": "2020-04-08T17:17Z",
"adGroupId": 542317095,
"countryOrRegion": "US",
"keywordId": 87675432,
"creativeSetId": 542317136
} А неполный вариант атрибуции выглядит так:
{
"attribution": true,
"orgId": 40669820,
"campaignId": 542370539,
"conversionType": "Download",
"adGroupId": 542317095,
"countryOrRegion": "US",
"keywordId": 87675432,
"creativeSetId": 542317136
}Как видим, отличие только в clickDate. Но так как дату установки можно легко определить по App Store чеку или времени первого запуска, то по факту атрибуция работает для всех установок независимо от статуса ATT. Заманчиво, не правда ли?
Атрибуция по умолчанию отдает лишь id кампании и кейворда, для того, чтобы получить настоящее название, необходимо выполнить дополнительные запросы с использованием OAuth авторизации.
Процесс выглядит следующим образом:
После всего этого можно выполнять запросы для получения названия кампаний и кейвордов по их id.
Подключить новую интеграцию с Apple Search Ads в Apphud легко, так как сервис делает все за вас:
updateConversionValue.
Страница пользователя в Apphud, пришедшего из Apple Search Ads кампании
Анализируйте Apple Search Ads кампании в Apphud в реальном времениСо стороны приложения достаточно вызвать один метод для передачи токена в Apphud SDK.
import AdServices
import iAd // optional
private func trackAppleSearchAds() {
if #available(iOS 14.3, *) {
DispatchQueue.global(qos: .default).async {
if let token = try? AAAttribution.attributionToken() {
DispatchQueue.main.async {
Apphud.addAttribution(data: nil, from: .appleAdsAttribution, identifer: token, callback: nil)
}
}
}
} else {
// optional: send old Search Ads attribution data from older iOS versions
ADClient.shared().requestAttributionDetails { data, _ in
data.map { Apphud.addAttribution(data: $0, from: .appleSearchAds, callback: nil) }
}
}
}Более подробно с интеграцией можно ознакомиться в нашей документации.
Хорошего дня!