RudderStack es una plataforma de datos de clientes (CDP) de código abierto que permite a las empresas recopilar, unificar y dirigir los datos de los clientes a varios destinos. Proporciona una plataforma centralizada para la gestión de canalizaciones de datos de clientes, permitiendo a las organizaciones recopilar fácilmente datos de diversas fuentes, como sitios web, aplicaciones móviles, servidores y servicios en la nube.
Singular puede recibir datos de eventos de Rudderstack a través de las API REST de Singular Server-to-Server (S2S) para la actividad móvil de iOS y Android. Esto se denomina Destino "Modo Nube". Las siguientes instrucciones ilustran cómo añadir el Destino Singular en Rudderstack.
Guía para | Equipos de Ingeniería |
Requisitos previos | Este artículo asume que usted ya tiene el Rudderstack iOS o Android SDK integrado en su aplicación. |
Para utilizar esta integración, debe estar utilizando los SDK móviles de Rudderstack. Esta integración NO es compatible con datos de eventos No Móviles. Servidor o Web Eventos no son compatibles.
RudderStack admite dos tipos de eventos de seguimiento que puede enviar a Singular a través de "Cloud-Mode":
- Eventos de sesión
- Eventos personalizados
- Atribución de instalación básica
- Atribución de referencias de instalación de Google
- Soporte SkAdNetwork Versión 3 (Modo Manual)
- Atribución de anuncios de búsqueda de Apple
- Seguimiento de eventos personalizados en la aplicación
- Seguimiento de ingresos
- ID de usuario personalizado
- Seguimiento de desinstalación
- Soporte SkAdNetwork Versión 4
- Modo gestionado de SkAdNetwork para modelos de conversión
- META Install Referrer Attribution
- Enlaces profundos
- Soporte limitado para compartir datos
Si necesita soporte S2S para la "Funcionalidad Completa" ofrecida por Singular, debe implementar las API REST de Singular S2S independientemente de Rudderstack. Consulte la Guía de integración de servidor a servidor (S2S ) AQUÍ.
Primeros pasos
- Desde su panel de RudderStack, añada la fuente. A continuación, en la lista de destinos, seleccione Singular.
- Asigne un nombre a su destino y haga clic en Continuar.
Configuración de la conexión
Para configurar correctamente Singular como destino, debe configurar los siguientes ajustes:
-
Clave API: Introduzca aquí su "Clave SDK" de Singular. Este campo es obligatorio.
Obtenga su "SDK KEY" de Singular, que encontrará en el panel de control de Singular, en "Herramientas para desarrolladores > Integración SDK > SDK Keys".
Nota: Para la integración "Cloud-Mode", SÓLO debe introducir el valor de la API Key (SDK Key).
Deje el "Secreto" en blanco. -
Nombre de evento de sesión: Introduzca los nombres de los eventos que se utilizarán como eventos de sesión. Este ajuste sólo es aplicable para el envío de eventos a través del modo nube.
RudderStack envía los eventos de sesión a Singular a través de la API de lanzamiento de Singular.
RudderStack considera un evento como evento de sesión solo si se especifica en la configuración del cuadro de mandos o si es uno de los tres eventos de ciclo de vida siguientes:
- Aplicación instalada
- Aplicación abierta
- Aplicación actualizada
RudderStack rastrea automáticamente los tres eventos de ciclo de vida anteriores si el rastreo de eventos de ciclo de vida está habilitado.
- Utilice el modo de dispositivo para enviar eventos: Estos toggles deben estar desactivados cuando se utiliza el "Modo Nube". Cuando utilice las plataformas Android o iOS, puede habilitar esta configuración para enviar eventos a través del modo de dispositivo. A continuación, sigue la guía Singular Device Mode para conocer los pasos necesarios para añadir Singular a tu proyecto.
Requisitos de eventos de sesión
Asignaciones de eventos de sesión compatibles
Esta sección enumera los mapeos de las propiedades de eventos RudderStack a los campos Singular relevantes.
La siguiente tabla enumera el mapeo de los atributos capturados automáticamente por RudderStack para las plataformas móviles(Android e iOS):
Propiedad RudderStack | Atributo Singular | Presencia | Descripción |
---|---|---|---|
context.os.name |
p |
Requerido | La plataforma de origen (Android o iOS). |
context.app.namespace |
i |
Obligatorio | El nombre del paquete (Android) o el ID del paquete (iOS) de tu aplicación. |
context.app.version |
app_v |
Obligatorio | La versión de la aplicación. |
context.ip / request_ip(en este orden) |
ip |
Obligatorio | La dirección IP del usuario. Consulte la nota siguiente para obtener información sobre cómo anonimizar su IP. |
context.os.version |
ve |
Obligatorio | La versión del sistema operativo del dispositivo en el momento de la sesión. |
context.device.model |
mo |
Obligatorio | El modelo del dispositivo. Este parámetro debe utilizarse con el parámetro ma. |
context.device.manufacturer |
ma |
Obligatorio | La marca del hardware del dispositivo. Este parámetro debe utilizarse con el parámetro mo. |
context.locale |
lc |
Obligatorio | La etiqueta local IETF del dispositivo utilizando el código de idioma y país de dos letras, separados por un guión bajo. |
context.device.id |
idfv |
Obligatorio | El IdentifierForVendor sin procesar en mayúsculas con guiones. Solo es aplicable a las aplicaciones iOS. |
context.device.id |
andi |
Obligatorio | El identificador sin procesar de Android en minúsculas. Sólo es aplicable a las aplicaciones Android y sólo se requiere cuando el identificador de publicidad de Android no está disponible en el dispositivo. |
context.app.build |
bd |
Obligatorio | La compilación del dispositivo (URL codificada). |
context.device.adTrackingEnabled |
dnt |
Obligatorio | Pasa true si do not track(dnt) está desactivado (dnt=0), si no pasa false(dnt=1). Esto se captura automáticamente si pasas el ID de publicidad al SDK. |
context.app.name |
n |
Opcional | El nombre de la aplicación legible por humanos tal y como se muestra en la interfaz de usuario. |
utime |
Opcional | La hora de la sesión (en tiempo UNIX). | |
context.network.wifi |
c |
Opcional | El tipo de conexión (WiFi o portadora). |
context.network.carrier |
cn |
Opcional | El nombre del operador del proveedor de Internet. |
Para anonimizar su IP, puede enviar un marcador de posición IP en el campo context.ip. RudderStack la utiliza como dirección IP en lugar de capturarla automáticamente desde el backend. En el caso de SDKs móviles, puede aprovechar la función de transformaciones para hacer esto - al enviar eventos a través del modo de nube.
La siguiente tabla muestra la asignación de los atributos que deben pasarse a través de las propiedades del evento:
Estas propiedades no persisten en el SDK y deben ser pasadas con cada evento.
Propiedad RudderStack | Atributo Singular | Presencia | Descripción |
---|---|---|---|
properties.install_ref |
install_ref |
Requerido | La información de referencia de la instalación de Google. |
properties.referring_application |
install_source |
Obligatorio | El nombre del paquete de origen de la instalación en Android. Utilice getInitiatingPackageName() para recuperarlo. |
properties.install_receipt |
install_receipt |
Obligatorio | El recibo recibido de la instalación. Para recuperarlo, siga la guía Recibo de instalación de iOS. |
properties.asid |
asid |
Obligatorio | El ID del conjunto de aplicaciones para dispositivos Android v12+. |
properties.url |
openui |
Obligatorio | Si la aplicación se abre a través de un enlace profundo o universal, el valor de la URL codificada del enlace profundo. |
context.device.attTrackingStatus |
att_authorization_status |
Obligatorio | El estado de autorización de App Tracking Transparency. |
userId |
custom_user_id |
Opcional | El ID de usuario pasado a través de la llamada de identificación. |
properties.attribution_token |
attribution_token |
Opcional | Se utiliza para atribuir anuncios de búsqueda de Apple para iOS 14.3 y versiones posteriores. Más información aquí. |
properties.skan_conversion_value |
skan_conversion_value |
Opcional | El último valor de SkAdNetwork en el momento de la notificación de sesión. |
properties.skan_first_call_timestamp |
skan_first_call_timestamp |
Opcional | Marca de tiempo UNIX de la primera llamada realizada a la API SkAdNetwork. |
properties.skan_last_call_timestamp |
skan_last_call_timestamp |
Opcional | Fecha y hora UNIX de la última llamada realizada a la API SkAdNetwork en el momento de la notificación de sesión. |
properties.install |
install |
Opcional | Indicador de instalación. Se establece en true en la primera sesión tras la instalación de la aplicación o en false en caso contrario. Es necesario para poder realizar un seguimiento de la reinstalación. |
La siguiente tabla muestra la asignación de los atributos que deben pasarse sólo una vez a través de las propiedades de evento:
Estas propiedades se mantienen en el SDK y deben pasarse sólo una vez.
Propiedad RudderStack | Atributo singular | Presencia | Descripción |
---|---|---|---|
context.device.token |
fcm |
Opcional | El token de dispositivo de Firebase Cloud Messaging. Es necesario para el seguimiento de la desinstalación en Android. |
context.device.token |
apns_token |
Opcional | El token de dispositivo del servicio de notificaciones push de Apple. Es necesario para el seguimiento de desinstalaciones en iOS. |
context.device.advertisingId |
idfa |
Requerido | El ID de publicidad en bruto en mayúsculas con guiones. Sólo es aplicable para aplicaciones iOS. |
context.device.advertisingId |
aifa |
Requerido | Se trata del ID de publicidad sin procesar en minúsculas con guiones. Sólo aplicable a aplicaciones Android. |
Para obtener más información sobre la configuración del token de dispositivo, consulte la documentación del SDK correspondiente:
RudderStack sólo soporta fcm para mapear el token de dispositivo.
Requisitos de eventos personalizados
RudderStack envía todos los eventos distintos de los eventos de sesión como eventos personalizados a través del punto final evt de Singular.
Eventos soportados
En esta sección se enumeran las asignaciones de las propiedades de eventos RudderStack a los campos Singular pertinentes.
La siguiente tabla enumera el mapeo de los atributos capturados automáticamente por RudderStack para las plataformas móviles(Android e iOS):
Propiedad RudderStack | Atributo Singular | Presencia | Descripción |
---|---|---|---|
context.os.name |
p |
Requerido | La plataforma de origen (Android o iOS). |
context.app.namespace |
i |
Obligatorio | El nombre del paquete (Android) o el ID del paquete (iOS) de tu aplicación. |
context.ip / request_ip(en el mismo orden) |
ip |
Obligatorio | La dirección IP del usuario. |
context.device.advertisingId |
idfa |
Obligatorio | El IdentifierForVendor en mayúsculas con guiones. Esto sólo es aplicable a las aplicaciones iOS. |
context.device.advertisingId |
aifa |
Obligatorio | El identificador de publicidad sin procesar en minúsculas con guiones. Sólo aplicable a aplicaciones Android. |
context.device.id |
idfv |
Obligatorio | Se trata del identificador de publicidad sin procesar en mayúsculas y con guiones. Sólo aplicable a aplicaciones iOS. |
context.device.id |
andi |
Obligatorio | El identificador de Android sin procesar en minúsculas. Sólo es aplicable a las aplicaciones Android y sólo se requiere cuando el identificador de publicidad de Android no está disponible en el dispositivo. |
context.os.version |
ve |
Obligatorio | La versión del sistema operativo del dispositivo en el momento de la sesión. |
utime |
Opcional | La hora de la sesión (en tiempo UNIX). |
Singular prefiere aifa sobre asid y asid sobre andi (en Android) e idfa sobre idfv (en iOS).
La siguiente tabla muestra la asignación de los atributos que deben pasarse a través de las propiedades de evento:
Estas propiedades no persisten en el SDK y deben ser pasadas con cada evento.
Propiedad RudderStack | Atributo Singular | Presencia | Descripción |
---|---|---|---|
event |
n |
Requerido | El nombre del evento. Lo define el usuario. |
context.device.attTrackingStatus |
att_authorization_status |
Obligatorio | Estado de autorización de la transparencia de seguimiento de aplicaciones. |
userId |
custom_user_id |
Opcional | El ID de usuario pasado a través de la llamada de identificación. |
properties.skan_conversion_value |
skan_conversion_value |
Opcional | El último valor de SkAdNetwork en el momento de la notificación de sesión. |
properties.skan_first_call_timestamp |
skan_first_call_timestamp |
Opcional | Marca de tiempo UNIX de la primera llamada realizada a la API SkAdNetwork. |
properties.skan_last_call_timestamp |
skan_last_call_timestamp |
Opcional | Fecha y hora UNIX de la última llamada realizada a la API SkAdNetwork en el momento de la notificación de sesión. |
properties.eventAttributes |
e |
Opcional | Los atributos personalizados del evento en formato JSON. Es necesario pasarlos con cada evento, ya que no se conservan en el SDK. |
properties.is_revenue_event |
is_revenue_event |
Opcional | Determina si un evento es un evento de ingresos. Necesita pasar esto a través de las propiedades con cada evento ya que no se mantiene en el SDK. |
La siguiente tabla lista el mapeo de los atributos definidos por el usuario específicos para eventos de ingresos:
Propiedad RudderStack | Atributo singular | Presencia | Descripción |
---|---|---|---|
properties.total/ properties.value / properties.revenue |
amt |
Opcional | Importe de la moneda. |
properties.currency |
cur |
Opcional | El código de moneda ISO 4217 de tres letras. Debe ir junto con el parámetro amt. |
properties.purchase_receipt |
purchase_receipt |
Opcional | El recibo recibido de una compra. |
properties.product_id/properties.sku |
purchase_product_id |
Opcional | El identificador SKU del producto. |
properties.orderId / properties.purchase_transaction_id(en ese orden) |
purchase_transaction_id |
Opcional | El identificador de la transacción. |
Si establece cualquiera de las propiedades value, revenue o total, RudderStack considera automáticamente el evento como un evento de ingresos, a menos que se mencione explícitamente mediante la propiedad is_revenue_event.
A continuación se enumeran algunas consideraciones importantes en caso de eventos personalizados:
- RudderStack toma el agente de usuario de context.userAgent para Android y de las propiedades del evento en caso de iOS.
- RudderStack almacena los atributos extra pasados en el evento personalizado en el campo e de Singular.
Pruebas
¿Cómo puedo verificar si los eventos se entregan correctamente a Singular?
Para verificar si los eventos se entregan correctamente a Singular, puede utilizar la función Destino de eventos en directo de RudderStack.
También puede verificar la entrega de eventos yendo a su panel de Singular y siguiendo estos pasos:
Siga la guía detallada aquí sobre cómo utilizar la Consola de Pruebas
- Vaya a "Developer Tools > Testing Console".
- Haga clic en Añadir dispositivo e introduzca el identificador de dispositivo correspondiente:
- Debería poder ver un registro en tiempo real de todos los eventos enviados a Singular: