Segmento - Destino Singular (Modo Dispositivo)

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

Guía para Equipos de ingeniería
Requisitos previos Este artículo asume que ya tienes el SDK de Segment iOS o Android Analytics integrado en tu aplicación.

Para usar esta integración, debes estar usando el SDK de Mobile Analytics de Segment para: iOS (Native Obj-C o Swift), Android (Java o Kotlin) ¡Esta integración NO es compatible con ningún otro framework, incluyendo Unity, Factual Engine, React Native, o Xamarin, etc!

Qué está soportado
  1. Instalación Básica Atribución
  2. Soporte SkAdNetwork 3 (SKAN 3.0)
  3. Atribución de anuncios de búsqueda de Apple
  4. Seguimiento personalizado de eventos en la aplicación
  5. Seguimiento de ingresos
  6. ID de usuario personalizado
Lo que NO está soportado
  1. Soporte SkAdNetwork 4 (SKAN 4.0)
  2. Instalación de META Atribución de referencia
  3. Enlaces profundos
  4. 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 Segment. Consulte las opciones de SDK y Frameworks AQUÍ.

Cómo empezar

  1. En la aplicación web de Segment, haga clic en "Catálogo" en el menú "Conexiones".
  2. Busque "Singular" en el catálogo, selecciónelo y haga clic en el botón "Añadir destino".
  3. Seleccione las fuentes a las que desea conectar el destino y haga clic en "Siguiente".
  4. Asigne un nombre al destino y haga clic en "Crear destino".
  5. Obtenga su "SDK KEY" de Singular, que encontrará en el panel de control de Singular, en "Developer Tools > SDK Integration > SDK Keys", y añádala al segmento "Connection Settings", en "API Key" y "Secret".

    mceclip0.png

Importante: Asegúrese de utilizar la clave SDK de Singular para el valor de la clave API en Segment. Si utiliza una clave incorrecta, Singular no recibirá ningún dato.

Configuración adicional

Para utilizar las funciones nativas de esta integración, deberá incluir la biblioteca de Singular añadiendo estas líneas a la configuración de dependencias:

Para iOS

Segment Analytics para iOS

  1. Añada AdServices. framework en Vincular binario con bibliotecas y márquelo como Opcional (sólo disponible para dispositivos con iOS 14.3 y superior). Esto es necesario para admitir la atribución de anuncios de búsqueda de Apple.
  2. Añada el pod de integración de Singular Segment al podfile de su aplicación de la siguiente manera:
    pod 'Segment-Singular' 
  3. Importe Singular Library en su archivo:
    #import <Segment-Singular/SEGSingularIntegrationFactory.h>
  4. Por último, registre el Singular con el Segment SDK
    Obj-C Swift
    SEGAnalyticsConfiguration *configuration = 
    [SEGAnalyticsConfiguration configurationWithWriteKey:@”<SEGMENT_WRITE_KEY>”];
    
    // Enable this to record certain application events automatically!
    configuration.trackApplicationLifecycleEvents = YES;
    // Enable this to record screen views automatically!
    configuration.recordScreenViews = YES;
    // Add any of your Device-mode destinations.
    configuration use:[SingularIntegrationFactory instance]];
    [SEGAnalytics setupWithConfiguration:configuration];
  5. [ OPCIONAL] Implementar soporte SKAN

    El SDK de Singular puede controlar tu integración con SKAdnetwork. Para más detalles sobre cómo funciona, consulta iOS SDK: Añadir soporte SKAdNetwork.

    Para que Singular controle su integración SKAdNetwork, añada el siguiente código antes de la inicialización del SDK de Segment:

    Obj-C Swift
    [SingularIntegation setSKANOptions:YES
      isManualSkanConversionManagementMode: NO
      withWaitForTrackingAuthorizationWithTimeoutInterval:@0
      withConversionValueUpdatedHandler:^(NSInteger conversionValue) {
          NSLog(@"Your SKAN handler %ld",conversionValue);
      }];
Para Android

Segment Analytics para Android

  1. Añade la dependencia de integración de Singular Segment al archivo build.gradle de tu aplicación:
    compile 'net.singular.segment.integration:singular_segment_sdk:+'
  2. Añada los permisos requeridos al archivo AndroidManifest.xml. Incluya los siguientes permisos:
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="BIND_GET_INSTALL_REFERRER_SERVICE" />
  3. Después de añadir la dependencia, debe importar la integración
    import net.singular.segment.integration.SingularIntegration;
  4. Por último, añada código para inicializar el SDK de Singular

    Añade .trackApplicationLifecycleEvents() para enviar a Singular los eventos de aplicación abierta, aplicación actualizada y aplicación instalada.

    static final String SEGMENT_WRITE_KEY = "<YOUR_KEY>";
    @Override protected void onCreate(Bundle savedInstanceState) {
    Analytics analytics = new Analytics.Builder(this , SEGMENT_WRITE_KEY) .use(SingularIntegration.FACTORY .logLevel(Analytics.LogLevel.VERBOSE) .recordScreenViews() .trackApplicationLifecycleEvents() .build(); Analytics.setSingletonInstance(analytics); }

Instalar atribución

Habilite el seguimiento automático de los eventos del ciclo de vida (aplicación abierta, aplicación instalada, aplicación actualizada) mediante los parámetros de configuración de inicialización(iOS, Android) para realizar un seguimiento de las instalaciones y las sesiones en Singular. La "sesión" de Singular será enviada automáticamente por la integración siempre que incluya los eventos anteriores.

Seguimiento de eventos personalizados

Si no está familiarizado con las especificaciones de Segment, eche un vistazo para entender lo que hace el método Track.

Utilice la función de seguimiento de Segmento para que los eventos se traduzcan y se envíen a Singular:

iOS (Obj-C) Android (Java)
[[SEGAnalytics sharedAnalytics] track:@"simple event"];

Segment incluye todas las propiedades del evento como parámetros de devolución de llamada en el evento Singular.

Los eventos estarán disponibles en informes y exportaciones a nivel de usuario.

Seguimiento de ingresos

Singular recibirá el seguimiento de ingresos cuando se envíe un evento que contenga la propiedad de ingresos (incluido el valor cero). Puede pasar opcionalmente la moneda (como un código de moneda ISO 4217 ). La moneda por defecto es USD.

iOS (Obj-C) Android (Java)
[[SEGAnalytics sharedAnalytics] track:@"segment revenue event" properties:@{@"currency": @"USD", @"revenue":@20}];

Nota: Pase la divisa como un código de divisa ISO 4217 de tres letras, por ejemplo, "USD", "EUR", "INR".

ID de usuario personalizado

Puede enviar su ID de usuario de segmento a Singular utilizando el método Segment identify.

Nota: Si utiliza la solución Cross-Device de Singular, debe recopilar el mismo ID de usuario en todas las plataformas.

  • El ID de usuario puede ser cualquier identificador y no debe exponer PII (Personally Identifiable Information). Por ejemplo, no debe utilizar la dirección de correo electrónico, el nombre de usuario o el número de teléfono de un usuario. Singular recomienda utilizar un valor hash único sólo para sus datos de origen.
  • El valor de ID de usuario que se pasa a Singular también debe ser el mismo ID de usuario interno que se captura en todas las plataformas (Web/Móvil/PC/Consola/Offline).
  • Singular incluirá el ID de usuario en las exportaciones a nivel de usuario, ETL y devoluciones internas de BI (si está configurado). El ID de usuario es un dato de origen y Singular no lo comparte con terceros.
  • El valor del ID de usuario, una vez establecido, persistirá hasta que se desactive mediante el método de restablecimiento de segmento o hasta que se desinstale la aplicación. Cerrar o reiniciar la aplicación no anula el ID de usuario.

Siga estos pasos para configurar para: iOS, Android.

iOS (Obj-C) Android (Java)
[[SEGAnalytics sharedAnalytics] identify:@"segment custom user id"];

Para desactivar el ID de usuario personalizado, llame al método de restablecimiento.

[[SEGAnalytics sharedAnalytics] reset];