Данную конечную точку следует использовать только при отправке данных о доходах на уровне показов (ILRD) напрямую через S2S для посредника, который ещё не интегрирован официально с Tenjin.
Аутентификация #
Мы аутентифицируем каждый запрос, отправляемый на сервер Tenjin, используя API-ключ в качестве имени пользователя при базовой аутентификации или в качестве параметра api_key.
Примечание: интеграция «сервер-сервер» не является стандартной функцией для всех клиентов Tenjin. Если вы хотите, чтобы вам предоставили доступ к этой функции, обратитесь к своему менеджеру по работе с клиентами Tenjin.
Общий конечный пункт #
Путь: https://track.tenjin.io/v0/ad_impressions/
Метод: POST
Content-Type: application/x-www-form-urlencoded
Параметры информации об устройстве #
Поля, отмеченные звездочкой (*), являются обязательными для заполнения
| Параметры | Пример | Описание |
bundle_id* | com.tenjin.wordfinder | Идентификатор пакета приложения. |
advertising_id* | be277924-d076-456d-9a20-3c8dee5663d3 | Идентификатор устройства в исходном формате. Обратите внимание: запрос будет принят только при указании действительного идентификатора устройства (any of advertising_id, developer_device_id, and analytics_installation_id). Важно соблюдать единообразие при отправке типов идентификаторов устройства. Для iOS это должен быть IDFA. В случае отсутствия согласия пользователя поле advertising_id может быть пустым или содержать одни нули, а в поле developer_device_id необходимо указать IDFV вместе с analytics_installation_id Для параметра Android необходимо указать либо advertising_id, либо analytics_installation_id. |
developer_device_id* | 5f4dcc3b-5aa5-40e1-8914-7a9c5d5ebf31 | Альтернативное поле для уникального идентификатора устройства, используемое в случае отсутствия рекламного идентификатора. Для iOS это должно быть значение IDFV. |
analytics_installation_id* | 91d1c313-dd94-4bd3-bbbb-16c8b7afa054 | Tenjin сгенерировал идентификатор, связанный с установкой приложения. Доступен через обратный вызов клиента или SDK.SDK AndroidSDK iOSUnity SDK |
platform* | iOS | Платформа приложения. ios,android (с Google Play Store), android_other (без Google Play Store, например, устройства с китайскими магазинами приложений), amazon (с приложением Amazon из App Store) |
app_version* | 1.5 | Версия вашего приложения Для Android: String app_version = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName + “.” + context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode) Для iOS: [[[NSBundle mainBundle] infoDictionary] objectForKey:@”CFBundleShortVersionString”] |
app_version_code | 2 | Только Android Версия приложения Android: https://developer.android.com/studio/publish/versioning |
build_id | RQ3A.211001.001 | Для Android: String build = String.valueOf(Build.ID) Для iOS: @import Darwin.sys.sysctl; NSString *build(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname(“kern.osversion”, buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding];} |
carrier | T-2 | Мобильный оператор (интернет-провайдер) |
connection_type | Wi-Fi | мобильный/Wi-Fi |
country | США | Стандарт ISO, определяющий коды стран локалей (см., например, документацию Apple). |
device | blueline | Android: android.os.Build.DEVICE (ссылка)iOS: systemInfo.machine (ссылка) |
device_brand | ||
device_manufacturer | ||
device_model | Pixel 3 | Для Android: String device = Build.MODEL; Для iOS: @import Darwin.sys.sysctl; NSString *device(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname(“hw.machine”, buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding];} |
device_product | blueline | Только для Android: build.PRODUCT |
language | en | Двухбуквенный код по стандарту ISO 639‑1 |
limit_ad_tracking | ЛОЖНО | Устройство ограничивает отслеживание рекламы? (да, нет) |
opt_in | TRUE | Согласие на использование устройства в целях соблюдения требований GDPR: Реализация Tenjin SDK |
locale | en_US | Для Android:String locale = Locale.getDefault().toString() Для iOS:[[NSLocale currentLocale] localeIdentifier] |
os_version | 14 | Для Android: String.valueOf(Build.VERSION.SDK_INT) Для iOS: [[UIDevice currentDevice] systemVersion] |
os_version_release | 14.3.1 | Только для Android: полная версия ОС |
timezone | Европа/Любляна | |
user_agent | Linux; U; Android 11; SM-A505FN Сборка/RP1A.200720.012 | Пользовательский агент устройства пользователя |
screen_height | 2028 | |
screen_width | 1080 | |
sent_at | 1693581566830 | Время эпохи в миллисекундах |
session_id | f4239af1-cd6f-49e8-8b97-f61a9e81a7e0 | |
source_app_store | googleplay | Только Android: unspecified, googleplay, amazon, other |
ip_address* (Требуется для определения страны, в которой находится устройство) | 87.123.246.9 | IP-адрес пользователя. Он используется для определения страны в целях соблюдения требований Google DMA в отношении согласия пользователей. |
ad_user_data (Требование Google) | 1 | Параметр «Google User Consent Signal»: «consent» — передача данных на уровне пользователя третьим сторонам для рекламы; «1» — согласие дано; «0» — согласие не дано. Если данные о согласии пользователя отсутствуют, полностью удалите этот параметр из запроса (не оставляйте поле пустым). |
ad_personalization (Требование Google) | 1 | Параметр «Google User Consent Signal»: «consent» — для персонализированной рекламы¹; «0» — для отказа в согласии. Если данные о согласии пользователя отсутствуют, полностью удалите этот параметр из запроса (не оставляйте поле пустым). |
Параметры информации о выручке #
Поля, отмеченные звездочкой (*), являются обязательными для заполнения
| Параметры | Пример | Описание |
ad_revenue_mediation* | макс. | Название платформы для медиации (пожалуйста, используйте приведённые ниже варианты):max,ironsource,admob,topon,cas,tradplusДля других видов медиации используйте custom. |
network_name* | mintegral | Название сети, в которой отображается реклама; обычно передается провайдером медиации |
currency* | долл. США | Валютные коды ISO, например, USD, JPY |
revenue_decimal* | 0.001 | Доход в десятичной форме за ОДНО показывание: требуется указать либо revenue_decimal, либо revenue_cpm. При наличии обоих параметров приоритет будет отдаваться revenue_decimal. |
revenue_cpm | 1.0 | Доход в CPM равен значению revenue_decimal, умноженному на 1 000 |
mediation_country | США | Страна, в которой находится посредник, в формате двухбуквенного кода страны по стандарту ISO, например, US |
ad_unit_id | 09807a44b2f855cc | Идентификатор рекламного блока, указанный сетью-победителем |
ad_format | баннер | Формат рекламного блока: banner, mrec, xpromo, native, leaderboard/leader, interstitial/inter, rewarded/reward, rewarded_inter/rewarded_interstitial |
precision | BID | Значение, передаваемое посредством медиации, указывает на источник дохода, например BID, CPM, RATE |
creative_id | 9299584 | Значение, передаваемое посредством посредничества, |
placement | Баннер123 | Значение, передаваемое посредством медиации для имени места размещения рекламы, определённого издателем |
network_placement | Название баннера | Название размещения внешней рекламной сети |
auction_id | 27d38ef0-847c-11ec-8b8d-3fe5d30476ca_765960010 | Значение, передаваемое посредством посредничества |
Пример запроса #
curl -X POST https://track.tenjin.com/v0/ad_impressions/ -H "Content-Type: application/x-www-form-urlencoded" -d 'api_key=api_key&advertising_id=123&ad_revenue_mediation=max&network_name=google&mediation_country=US¤cy=USD&ad_unit_id=1&ad_format=banner&revenue_decimal=0.01&precision=BID&creative_id=2&placement=banner_1&auction_id=3&bundle_id=com.tenjin.test&platform=ios&ad_user_data=1&ad_personalization=1'