Rudderstack - Destino Singular (Modo Dispositivo)

Documento

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, lo que permite a las organizaciones recopilar fácilmente datos de diversas fuentes, como sitios web, aplicaciones móviles, servidores y servicios en la nube.

Singular SDK está disponible como plug-in para Rudderstack, denominado Destino "Device-Mode". Las instrucciones siguientes ilustran cómo añadir el destino Singular en Rudderstack.

Tenga en cuenta que esta integración está construida y mantenida por Rudderstack. Consulte con Rudderstack si surgen problemas durante la implementación.

Guía para Equipos de ingeniería
Requisitos previos Este artículo asume que ya tienes el SDK de Rudderstack iOS, Android, React Native o Cordova integrado en tu aplicación. Consulte la documentación de Rudderstack para obtener más detalles sobre el modo de dispositivo y los SDK móviles.

Para utilizar esta integración, debe utilizar el SDK móvil de Rudderstack para: iOS (Native Obj-C o Swift), Android (Java o Kotlin), React Native o Cordova. ¡Esta integración NO es compatible con ningún otro framework!

Qué está soportado
  1. Instalación Básica Atribución
  2. Soporte SkAdNetwork
  3. Atribución de anuncios de búsqueda de Apple
  4. Seguimiento personalizado de eventos dentro de la aplicación
  5. Seguimiento de ingresos
  6. ID de usuario personalizado
Lo que NO está soportado
  1. Instalación META Atribución de referencias
  2. Enlaces profundos
  3. Soporte limitado para compartir datos

Si necesita soporte para otros Frameworks o desea la "Funcionalidad Completa" ofrecida por Singular SDK, debe implementar Singular SDK independientemente de Rudderstack. Consulte las opciones de SDK y Frameworks AQUÍ.

Primeros pasos

  1. Desde su tablero RudderStack, añadir la fuente. A continuación, en la lista de destinos, seleccione Singular.
  2. 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.
  • Secreto: Introduzca su secreto de Singular. Este campo es obligatorio y se requiere para las integraciones en modo dispositivo con los SDK de RudderStack para iOS y Android.

    Obtenga su "SDK KEY" de Singular, que encontrará en el Singular Dashboard en "Developer Tools > SDK Integration > 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 del evento de sesión: Este ajuste sólo es aplicable para el envío de eventos a través del modo nube.
  • Utilice el modo dispositivo para enviar eventos: Cuando utilices las plataformas Android o iOS, puedes activar este ajuste para enviar eventos a través del modo dispositivo. A continuación, siga la guía Singular Device Mode para conocer los pasos necesarios para añadir Singular a su proyecto.

    Al enviar eventos a través del modo de dispositivo, RudderStack también le permite especificar qué eventos se deben descartar o permitir que fluyan. Para más información, consulte la guía Client-side Event Filtering.

Añadir la integración del modo dispositivo

Después de configurar Singular como destino en RudderStack, siga estos pasos para añadirlo a su proyecto, dependiendo de su plataforma de integración.

iOS iOS v2 Android React Native Cordova

Para añadir Singular a tu aplicación iOS, sigue estos pasos:

  1. En tu Podfile, añade las siguientes dependencias:

    ruby

    pod 'Singular-SDK', '11.0.4'
    pod 'Rudder-Singular', '1.0.0'
  2. Después de añadir las dependencias seguidas del comando pod install, añade las siguientes importaciones a tu archivo AppDelegate.m:

    Obj-C

    //Objective-C
    #import <rudder> #import <ruddersingularfactory.h>
  3. Inicializa tu RSClient:

    Obj-C

    //Objective-C
    RSConfigBuilder *configBuilder = [[RSConfigBuilder alloc] init]; [configBuilder withDataPlaneUrl:<data_plane_url>]; [configBuilder withFactory:[RudderSingularFactory instance]]; RSClient *rudderClient = [RSClient getInstance:<write_key> config:[configBuilder build]];

Identifique

Para las integraciones en modo dispositivo, el SDK de Singular utiliza el método identify de RudderStack para asignar el ID de usuario a su ID de usuario personalizado. RudderStack utiliza la API setCustomUserId de Singular para reenviar el ID de usuario identificado a Singular.

A continuación se muestra un ejemplo de llamada de identificación para los SDK de Android e iOS:

iOS(Obj-C) Android (Kotlin)
[[RSClient getInstance] identify:@"1hKOmRA4el9Zt1WSfVJIVo4GRlm"];

Seguimiento

La llamada track permite capturar las acciones del usuario y las propiedades asociadas a ellas. Cada acción del usuario se considera un evento.

Seguimiento de eventos personalizados

Una llamada de seguimiento personalizada le permite rastrear eventos personalizados a medida que ocurren en sus aplicaciones. RudderStack envía estas llamadas a Singular, donde se procesan como eventos personalizados posteriores a la instalación y están disponibles en los informes correspondientes.

A continuación se muestra un ejemplo de llamada de seguimiento personalizada para los SDK de Android e iOS:

iOS(Obj-C) Android (Kotlin)
[[RSClient getInstance] track:@"Product Reviewed" properties:@{
        @"product_id" : @"345676543",
        @"review_id" : @"123454387"
    }];

Seguimiento de ingresos

Singular admite el seguimiento de eventos de ingresos. Implementa el seguimiento de ingresos siempre que se envíe un evento que contenga la propiedad de ingresos (incluido un valor cero). Opcionalmente, también puede pasar el campo de moneda como un código ISO.

La moneda por defecto es USD.

A continuación se muestra un ejemplo de llamada de seguimiento de ingresos:

iOS (Obj-C) Android (Kotlin)
[[RSClient getInstance] track:@"Order Completed" properties:@{
        @"revenue" : @1251,
        @"currency" : @"INR"
    }];

Pantalla

El método screen permite registrar cada vez que un usuario ve la pantalla del móvil, junto con cualquier propiedad opcional asociada. Esta llamada es similar a la llamada de página para las aplicaciones web, pero exclusiva para el dispositivo móvil.

A continuación se muestra un ejemplo de llamada a pantalla para los SDK de Android e iOS:

iOS(Obj-C) Android (Kotlin)
[[RSClient sharedInstance] screen:@"Home" properties:@{
    @"category" : @"launcher"
}];

En el fragmento anterior, RudderStack captura toda la información relacionada con la pantalla visualizada, junto con cualquier información adicional sobre la pantalla.

RudderStack envía el evento de pantalla a Singular como un evento personalizado.

Reiniciar

El método reset restablece la identidad del usuario actual y crea una nueva sesión anónima. Debe ser llamado cuando un usuario cierra la sesión.

RudderStack llama al método unsetCustomUserId de Singular para restablecer la identidad de un usuario.

A continuación se muestra un ejemplo de llamada de restablecimiento para los SDK de Android e iOS:

iOS(Obj-C) Android (Kotlin)
[[RSClient getInstance] reset];

Implementación de la compatibilidad con SKAdNetwork (SKAN)

Añada el siguiente código antes de la inicialización del SDK de iOS para dar el control a Singular para su integración SKAdNetwork:

Importante:

  • Establecer el manualSkanConversionManagement = true requerirá que usted actualice manualmente sus propios Valores de Conversión. Esto NO permitirá que el Modelo SKAN de Singular actualice los valores CV en su nombre. Establezca este valor en "false" para activar el modo "gestionado".
  • La configuración de waitForTrackingAuthorizationWithTimeoutInterval sólo debe utilizarse si la aplicación utiliza el aviso de transparencia de seguimiento de aplicaciones de iOS (ATT). Si usted está mostrando ATT, entonces esto se debe establecer en un valor de 300.

Obj-C

[RudderSingularIntegration setSKANOptions:YES
        isManualSkanConversionManagementMode:NO
withWaitForTrackingAuthorizationWithTimeoutInterval:@300
        withConversionValueUpdatedHandler:^(NSInteger conversionValue){
    // Receive a callback whenever the Conversion Value is updated
    NSLog(@"SKAN handler %ld",conversionValue);
}];