Este punto final solo debe utilizarse al enviar datos de ingresos por impresión (ILRD) directamente a través de S2S para un proveedor de mediación que aún no esté integrado oficialmente con Tenjin.
Autenticación #
Autenticamos cada solicitud enviada al servidor de Tenjin utilizando la clave API como nombre de usuario en la autenticación básica o como parámetro «api_key».
Punto final genérico #
Ruta: https://track.tenjin.com/v0/ad_impressions/
Método: POST
Content-Type: application/x-www-form-urlencoded
Parámetros de información del dispositivo #
Los parámetros marcados con * son obligatorios
| Parámetros | Ejemplo | Descripción |
bundle_id* | com.tenjin.wordfinder | ID de paquete de la aplicación. |
advertising_id* | be277924-d076-456d-9a20-3c8dee5663d3 | The raw advertising ID of the device. Please note that the request will only be accepted with a valid device id (any of advertising_id, developer_device_id, and analytics_installation_id). It’s important to stay consistent in sending the device id types. For iOS, it should be IDFA. In the case of no user consent, advertising_id can be empty or all zeros, and IDFV needs to be provided in developer_device_id along with analytics_installation_id For Android, either advertising_id or analytics_installation_id should be provided. |
developer_device_id* | 5f4dcc3b-5aa5-40e1-8914-7a9c5d5ebf31 | Campo alternativo para el identificador único del dispositivo, que se utiliza cuando no hay un identificador de publicidad. En el caso de iOS, debe ser el IDFV. |
analytics_installation_id* | 91d1c313-dd94-4bd3-bbbb-16c8b7afa054 | Tenjin ha generado un identificador específico para la instalación de la aplicación. Está disponible mediante la llamada de retorno del cliente o el SDK.SDK de AndroidSDK de iOSSDK de Unity |
platform* | iOS | Plataforma de la aplicación. ios,android (con Google Play Store), android_other (sin Google Play Store, por ejemplo, dispositivos con tiendas de aplicaciones chinas), amazon (con la aplicación Amazon de la App Store) |
app_version* | 1.5 | The version of your app For Android: String app_version = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName + “.” + context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode) For iOS: [[[NSBundle mainBundle] infoDictionary] objectForKey:@”CFBundleShortVersionString”] |
app_version_code | 2 | Solo Android Versión de la aplicación Android: https://developer.android.com/studio/publish/versioning |
build_id | RQ3A.211001.001 | Para Android: String build = String.valueOf(Build.ID) Para 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 | Operador de telefonía móvil (proveedor de servicios de Internet) |
connection_type | wifi | móvil/wifi |
country | US | La norma ISO sobre códigos de país de configuración regional (véase, por ejemplo, la documentación de Apple). |
device | línea azul | Android: android.os.Build.DEVICE (referencia)iOS: systemInfo.machine (referencia) |
device_brand | ||
device_manufacturer | ||
device_model | Pixel 3 | Para Android: String dispositivo = Build.MODEL; Para 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 | línea azul | Solo Android: build.PRODUCT |
language | es | Código ISO 639-1 de dos letras |
limit_ad_tracking | FALSO | ¿El dispositivo limita el seguimiento publicitario? (verdadero, falso) |
opt_in | VERDADERO | Consentimiento de aceptación en el dispositivo para el cumplimiento del RGPD: Implementación del SDK de Tenjin |
locale | en_US | Para Android:String locale = Locale.getDefault().toString() Para iOS:[[NSLocale currentLocale] localeIdentifier] |
os_version | 14 | Para Android: String.valueOf(Build.VERSION.SDK_INT) Para iOS: [[UIDevice currentDevice] systemVersion] |
os_version_release | 14.3.1 | Solo para Android: versión completa del sistema operativo |
timezone | Europa/Liubliana | |
user_agent | Linux; U; Android 11; SM-A505FN Build/RP1A.200720.012 | Agente de usuario del dispositivo del usuario |
screen_height | 2028 | |
screen_width | 1080 | |
sent_at | 1693581566830 | Tiempo de la época en milisegundos |
session_id | f4239af1-cd6f-49e8-8b97-f61a9e81a7e0 | |
source_app_store | Google Play | Solo Android: unspecified, googleplay, amazon, other |
ip_address* (Obligatorio para determinar el país del dispositivo) | 87.123.246.9 | La dirección IP del usuario. Se utiliza para identificar el país a efectos de los parámetros de consentimiento de los usuarios de Google DMA. |
ad_user_data (Requerido por Google) | 1 | Parámetro «Signal» de consentimiento del usuario de Google: «consent» indica la transmisión a terceros de datos a nivel de usuario con fines publicitarios; «1» significa que se ha otorgado el consentimiento; «0», que se ha denegado. Elimina por completo el parámetro de la solicitud (no lo dejes en blanco) cuando no haya datos sobre el consentimiento del usuario. |
ad_personalization (Requerido por Google) | 1 | Parámetro «Google User Consent Signal»: «consent» para anuncios personalizados1; «0» para consentimiento denegado. Elimina por completo el parámetro de la solicitud (no lo dejes en blanco) cuando no haya datos sobre el consentimiento del usuario. |
Parámetros de información sobre ingresos #
Los parámetros marcados con * son obligatorios
| Parámetros | Ejemplo | Descripción |
ad_revenue_mediation* | máx. | Nombre de la plataforma de mediación; utiliza los valores que se indican a continuación:max,ironsource,admob,topon,cas,tradplusPara otros tipos de mediación, utiliza custom. |
network_name* | mintegral | Nombre de la red en la que se muestra el anuncio, que suele facilitar el proveedor de mediación |
currency* | USD | Los códigos de moneda de la ISO, por ejemplo, USD, JPY |
revenue_decimal* | 0.001 | Los ingresos en formato decimal para UNA sola impresión solo requieren «revenue_decimal» o «revenue_cpm». Si se reciben ambos, se dará prioridad a «revenue_decimal». |
revenue_cpm | 1.0 | Los ingresos en CPM equivalen a revenue_decimal * 1.000 |
mediation_country | US | País del proveedor de mediación, en los códigos de país de dos letras de la ISO; p. ej., US |
ad_unit_id | 09807a44b2f855cc | ID del bloque publicitario facilitado por la red ganadora |
ad_format | banner | Formato del bloque publicitario: banner, mrec, xpromo, native, leaderboard/leader, interstitial/inter, rewarded/reward, rewarded_inter/rewarded_interstitial |
precision | BID | Valor transmitido por mediación, que indica la fuente de los ingresos, como BID, CPM o RATE. |
creative_id | 9299584 | Valor transmitido por mediación, |
placement | Banner123 | Valor pasado mediante mediación para el nombre de la ubicación publicitaria definida por el editor |
network_placement | Nombre del banner | Nombre de la ubicación de la red publicitaria externa |
auction_id | 27d38ef0-847c-11ec-8b8d-3fe5d30476ca_765960010 | Valor transmitido por mediación |
Ejemplo de solicitud #
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'