El SDK de Singular ofrece muchas características que no están disponibles a través de las opciones de integración estándar "Device-Mode" o "Cloud-Mode".
Se recomienda la integración a través de una metodología híbrida cuando se utiliza Segment con Singular para aprovechar todas las características y funcionalidades de Singular.
El enfoque híbrido consiste en:
- Implementar el SDK de Singular independientemente de Segment, permitiendo que el SDK de Singular gestione el seguimiento de Sesiones, soporte adicional para SDK Frameworks (React Native, Unity, etc.), SkAdNetwork, deep link y deferred deep links, y funcionalidades avanzadas.
- Habilitación de la opción "Cloud-Mode" en Segment para un Destino Singular. Esto permite que todos los eventos de seguimiento móvil de Segment se envíen al Destino Singular.
Las instrucciones siguientes ilustran cómo configurar una implementación de Singular Hybrid con Segment.
Guía para | Equipos de ingeniería |
Requisitos previos | Este artículo asume que usted ya tiene el SDK de Segment Mobile Analytics integrado en su aplicación. |
Para utilizar esta integración, debe estar utilizando los SDK de Mobile Analytics de Segment.
El SDK de Segment proporcionará soporte para:
- Instalar Atribución
- Soporte SkAdNetwork
- Soporte para Google Install Referrer
- Soporte para META Install Referrer
- Atribución de anuncios de búsqueda de Apple
- Seguimiento personalizado de eventos en la aplicación
- Seguimiento de ingresos
- ID de usuario personalizado
- Propiedades globales
- Opciones de privacidad
La integración de Segment "Cloud-Mode" proporcionará soporte para:
- Seguimiento personalizado de eventos en la aplicación
- Seguimiento de ingresos
- ID de usuario personalizado
- Android AppSetId(MÁS)
El Android AppSetId es utilizado por el SDK de Singular como un identificador de reserva para realizar un seguimiento de la actividad del SDK cuando el ID de publicidad de Google no está disponible. Aunque este identificador no se utiliza con fines de atribución, desempeña un papel en el reconocimiento del dispositivo y la asociación de eventos dentro de la aplicación a dicho dispositivo.
Segment no captura el AppSetId de Android, por lo que Segment no podrá enviar ningún evento al Destino Singular "Cloud-Mode" cuando el dispositivo del usuario no disponga del Identificador de Publicidad de Google.Si Segment envía un evento a Singular con un Identificador diferente al que el SDK de Singular tiene asociado con el mismo dispositivo, se producirá una discrepancia. Una atribución orgánica al identificador desconocido del evento S2S y un posible evento de ingresos mal atribuido.
Por favor, hable con un ingeniero de Singular Solutions si tiene alguna pregunta sobre este caso extremo.
Configuración híbrida
- Integrar Singular SDK
Implemente el SDK de Singular independientemente de Segment. Vea las opciones de SDK y Frameworks AQUÍ.
- Habilitar el Destino Segment - Singular (Cloud-Mode)
Siga la Guía AQUÍ.
Configuración adicional recomendada
Cuando se utiliza una Metodología Híbrida, se recomienda pasar el Segment AnonymousId y el Segment User ID al SDK de Singular.
Tome especial nota y cuidado para implementar estas características opcionales de la documentación del SDK. Los pasos pueden variar ligeramente dependiendo del framework que esté utilizando.
Implementar propiedades globales
Pase el Segment AnonymousId a una propiedad global de Singular. Esto asociará el Segment AnonymousId a los datos a nivel de dispositivo del SDK. Proporcionar este valor a Singular en el objeto Singular Config en el momento de la inicialización de Singular SDK también permitirá a Singular enviar un postback de instalación a Segment cuando el UserId sea desconocido.
Singular SÓLO puede proporcionar la información de atribución a Segment desde la instalación de la aplicación utilizando el valor de Segment AnonymousId y/o Segment UserId. Consulte las Propiedades Globales de Singular[iOS][Android] como ejemplos de cómo se configura esto.
La Propiedad Global debe ser configurada cuando se inicializa Singular SDK con la clave: segment_anonymous_id y el valor del Segment anonymousId recuperado del Segment SDK. El Segment anonymousId puede obtenerse del Segment SDK utilizando este método.
Analytics.with(context).getAnalyticsContext().traits().anonymousId()
Ejemplo de configuración de Singular SDK
func getConfig() -> SingularConfig? {
// (Optional) Get 3rd-party identifiers to set in Global Properties:
// If 3rd-party SDKs are providing any identifiers to Singular, the
// respective SDK must be initialized before Singular.
let thirdPartyKey = "segment_anonymous_id"
let thirdPartyValue = SEGAnalytics.shared().getAnonymousId()
// Singular Config Options
guard let config = SingularConfig(apiKey: Constants.APIKEY,
andSecret: Constants.SECRET)
else {
return nil
}
...
// Using Singular Global Properties feature to capture third party identifiers
config.setGlobalProperty(thirdPartyKey,
withValue:thirdPartyValue, overrideExisting: true)
...
return config}
- (SingularConfig *)getConfig {
// Get the 3rd-party identifiers to set in Global Properties:
// If 3rd-party SDKs are providing any identifiers to Singular, the
// respective SDK must be initialized before Singular.
NSString* thirdPartyKey = @"segment_anonymous_id";
NSString* thirdPartyValue = [[SEGAnalytics sharedAnalytics] getAnonymousId];
// Singular Config Options
SingularConfig* config = [[SingularConfig alloc]
initWithApiKey:APIKEY andSecret:SECRET];
...
// Using Singular Global Properties feature to capture 3rd-party identifiers
[config setGlobalProperty:thirdPartyKey
withValue:thirdPartyValue overrideExisting:YES];
...
return config;}
// (Optional) Get 3rd-party identifiers to set in Global Properties:
// If 3rd-party SDKs are providing any identifiers to Singular, the
// respective SDK must be initialized before Singular.
String thirdPartyKey = new String("segment_anonymous_id");
String thirdPartyValue = new String(Analytics.with(context).getAnalyticsContext().traits().anonymousId());
// Singular Config Options
SingularConfig config = new SingularConfig("SDK KEY", "SDK SECRET")
.withGlobalProperty(thirdPartyKey, thirdPartyValue, true);
Implementar ID de usuario personalizado
Pasa el Segment UserId al método Singular Custom User ID. Esto asociará el Segment UserId a los datos a nivel de dispositivo del SDK. Si proporciona este valor a Singular en el objeto Singular Config en el momento de la inicialización de Singular SDK, también permitirá que Singular envíe el ID de usuario en el postback de instalación a Segment. Más información sobre la documentación del SDK Framework que está utilizando para la integración de SIngular. Ejemplo de[iOS][Android]
Además, el ID de usuario se asociará con cualquier evento dentro de la aplicación activado de forma nativa desde el SDK de Singular.
Para los eventos "Cloud-Mode" recibidos, Singular ha mapeado el Custom User ID al valor del Segment User ID. Asegúrese de seguir los pasos aquí para configurar para: iOS, Android.
Configure el Partner de Singular
Deberá habilitar Segment en la página de Configuración de Partner para pasar los datos de Instalación a Segment.
En la Plataforma Singular:
- Vaya a "Atribución > Configuración de socios" y haga clic en el botón "Añadir socio".
- Buscar Segmento
- Seleccione la aplicación y el sitio
- Haga clic en Guardar
Preguntas frecuentes y solución de problemas
Facebook impone restricciones en el acceso a los datos y a los datos a nivel de usuario, lo que puede dificultar la transmisión precisa de datos de atribución a Segment.
Cuando las instalaciones se envían a Segment a través del evento "Instalar", las restricciones de Facebook pueden impedir el paso de los datos a nivel de usuario con precisión. Puedes consultar su política de datos aquí Como resultado, mientras que estas mismas instalaciones pueden aparecer atribuidas a Facebook en los informes agregados de Singular, pueden clasificarse como "No atribuidas" en Segment.