React Native SDK: Integración básica

 

Añadir el SDK a tu proyecto

Para añadir el SDK de Singular React a su proyecto:

  1. Abre el terminal en el directorio raíz de tu proyecto.
  2. Descarga el paquete SDK a tu proyecto con el siguiente comando:

    npm install singular-react-native --save
  3. Si estás usando React Native 0.60+, el paquete Singular se auto-enlazará a tu proyecto.

    Si utilizas la versión 0.59 o anterior de React Native, ejecuta lo siguiente para vincular el código puente nativo del paquete Singular a tu proyecto:

    react-native link singular-react-native

Configuración de requisitos previos

Requisitos previos de iOS

En el directorio raíz del proyecto, ejecute el siguiente comando:

cd ios; pod install

Requisitos previos Android

En el archivo build.gradle dentro de la sección allprojects, añada lo siguiente a los repositorios Maven de su aplicación:

allprojects {
  repositories {
    maven { url 'https://maven.singular.net/' }
  }
}

Añade los siguientes permisos al archivo AndroidManifest.xml de tu aplicación:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<!-- Este permiso es necesario para recuperar los datos de Google Play Referrer --> <uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE" />
<!-- Este permiso es necesario para recuperar datos de la API de licencias de google --> <uses-permission android:name="com.android.vending.CHECK_LICENSE" />

Si la compilación de tu aplicación está orientada a Android 12/API nivel 31 o superior, añade permisos para acceder al ID de publicidad de Google:

<uses-permission android:name="com.google.android.gms.permission.AD_ID" />

Si has desactivado las dependencias transitivas para Singular SDK, añade lo siguiente al archivo build.gradle.

implementation 'com.android.installreferrer:installreferrer:2.2'
implementation 'com.google.android.gms:play-services-appset:16.0.0'

Inicialización del SDK

Nota: Recuerde que debe seguir cumpliendo las distintas leyes de privacidad promulgadas en las regiones en las que hace negocios, incluidas, entre otras, GDPR, CCPA y COPPA, cuando implemente los SDK de Singular. Para obtener más información, consulte Prácticas de inclusión y exclusión de SDK.

El código de inicialización del SDK debe ejecutarse cada vez que se abra la aplicación. Es un prerrequisito para toda la funcionalidad de atribución de Singular, y también envía una nueva sesión de usuario a Singular. Las sesiones se utilizan para calcular la retención de usuarios.

Importación de las clases necesarias

En su archivo App.js, añada el siguiente código para importar las clases Singular y SingularConfigs.

import {Singular, SingularConfig, Events, Attributes} from 'singular-react-native';

Configuración e inicialización del SDK

  1. Antes de inicializar Singular SDK, debe crear un objeto SingularConfig. El objeto contiene su clave SDK y su secreto SDK (puede obtenerlos iniciando sesión en su cuenta de Singular y accediendo a "Developer Tools > SDK Integration > SDK Keys").
  2. Si lo desea, puede añadir opciones para activar varias funciones del SDK.
  3. META Install Atribución de referencias

    Configuración SDK necesaria para activar la atribución "Meta Install Referrer":

    1. Proporcione su Id de aplicación de Facebook en el objeto de configuración singular.
      // Para habilitar META Install Referrer
      config.withFacebookAppId("INSERTE AQUÍ EL ID DE SU APLICACIÓN DE FACEBOOK");
    Dónde puedo encontrar el Facebook App ID de una aplicación?
  4. A continuación, utilice el método init para inicializar el SDK, pasando el objeto SingularConfig

Por ejemplo

const config = new SingularConfig('<SDK KEY>', '<SDK SECRET>');
  
 // Ajustes opcionales:
// Establecer ID de usuario si se conoce en el momento de la inicialización config.withCustomUserId("274e9db5c836093499df921be5b7f32001d49c50");
// Para activar META Install Referrer
config.withFacebookAppId("INSERT YOUR FACEBOOK APP ID HERE");

// Permite enlaces profundos
config.withSingularLinks(callBackFunction); Singular.init(config);
Singular.init Método
Descripción Inicializa el SDK de Singular.
Ejemplo de uso
Singular.init(config);

Opciones de SingularConfig

".with" Método Descripción
withCustomUserId(user_id) Envía el ID de usuario a Singular(más información)
withFacebookAppId(FACEBOOK_APP_ID)

Nota: proporciona tu ID de aplicación de Facebook en el objeto de configuración de Singular para activar la atribución de referencias de instalación META.

withSingularLinks(callBackFunction) Habilitar la vinculación profunda(más información)
withSessionTimeoutInSec(seconds) Modificar el tiempo de espera de la sesión(más información)

Envío del ID de usuario a Singular (opcional)

Puede enviar su ID de usuario interno a Singular utilizando un método de Singular SDK.

Nota: Si utiliza la solución multidispositivo de Singular, debe recopilar el 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, cuando se establece con el método Singular SDK, persistirá hasta que se desactive utilizando el método unsetCustomUserId o hasta que se desinstale la aplicación. Cerrar o reiniciar la aplicación no anula el ID de usuario.

Para establecer el ID de usuario, utilice el método setCustomUserId. Para desactivarlo (por ejemplo, si el usuario "cierra sesión" en la cuenta), llame a unsetCustomUserId.

Nota: Si varios usuarios utilizan un único dispositivo, recomendamos implementar un flujo de cierre de sesión para establecer y desestablecer el ID de usuario para cada inicio y cierre de sesión.

Si ya conoce el ID de usuario cuando se abre la aplicación, llame a setCustomUserId antes de inicializar Singular SDK. De esta forma, Singular puede tener el ID de usuario desde la primera sesión. Sin embargo, el ID de usuario no suele estar disponible hasta que el usuario se registra o realiza un inicio de sesión. En ese caso, llame a setCustomUserId una vez finalizado el flujo de registro.

Método Singular.setCustomUserId
Descripción Envía el ID de usuario a Singular.
Firma static setCustomUserId(customUserId)
Ejemplo de uso
Singular.setCustomUserId("custom_user_id");
Método Singular.unsetCustomUserId
Descripción Desestablece el ID de usuario que se ha enviado a Singular.
Firma static unsetCustomUserId()
Ejemplo de uso
Singular.unsetCustomUserId();

Opcional: Asignación del ID de usuario personalizado

Importante: Esta función Enterprise avanzada sólo está disponible en casos excepcionales. Por favor, consulte con uno de los Ingenieros de Soluciones de Singular antes de implementarla.

Singular puede recibir datos adicionales de seguimiento de eventos móviles a través de una integración de servidor a servidor. Para utilizar esta función, debe asignar el ID de usuario al identificador de seguimiento de dispositivos móviles de Singular.

Nota: Llame a este método tan pronto como sea posible después de inicializar el SDK de Singular o una vez que tenga el ID de usuario.

Método Singular.SetDeviceCustomUserId
Descripción Establece el Id. de usuario personalizado igual que el inicio de sesión y lo asigna al identificador de seguimiento de Singular.
Firma static setDeviceCustomUserId(customUserId)
Ejemplo de uso
Singular.setDeviceCustomUserId("CustomUserId");

Gestión del consentimiento de AppTrackingTransparency

A partir de iOS 14.5, es necesario solicitar el consentimiento del usuario (mediante ATTrackingManager) antes de poder acceder al IDFA del dispositivo para el seguimiento.

Si desea inicializar Singular SDK antes de solicitar el consentimiento del usuario, puede retrasar la activación de eventos por parte de SDK sin IDFA durante un intervalo de tiempo especificado, con el fin de esperar el consentimiento del usuario.

Para ello, inicialice el SDK Singular con la opción  waitForTrackingAuthorizationWithTimeoutInterval, como en el siguiente ejemplo:

const config = new SingularConfig('<SDK KEY>', '<SDK SECRET>');
  
// Activar SKAdNetwork
config.withSkAdNetworkEnabled(true);
  
// Espere 5m a la autorización de seguimiento antes de enviar cualquier evento
config.withWaitForTrackingAuthorizationWithTimeoutInterval(300);
  
Singular.init(config);

Seguimiento de eventos (no ingresos)

Singular puede recopilar datos sobre eventos dentro de la aplicación para ayudar a analizar el rendimiento de sus campañas y medir los KPI. Por ejemplo, es posible que su organización desee recopilar datos sobre inicios de sesión de usuarios, registros, finalización de tutoriales o subidas de nivel en una aplicación de juegos.

Singular es compatible con una serie de eventos estándar que las redes publicitarias suelen admitir para la generación de informes y la optimización. Otra ventaja es que cuando utiliza nombres de eventos estándar, Singular los reconoce automáticamente y los añade a la lista de eventos sin que tenga que definirlos manualmente. Recomendamos utilizar eventos estándar siempre que sea posible.

La lista de eventos enviados a Singular (con los atributos que los acompañan) debe ser compilada por el equipo de UA/marketing/negocio basándose en los KPI de marketing de su organización. El equipo comercial puede seguir la guía Cómo realizar el seguimiento de los eventos In-App: Guía para clientes de Singular Attribution.

Con cada evento que rastree, puede pasar varios atributos. Consulte los atributos estándar recomendados por evento.

En su código, envíe eventos a Singular utilizando los métodos event o eventWithArgs.

Nota: Para los eventos estándar, utiliza el nombre React Native del evento tal y como aparece en el SDK de React Native: Lista de eventos y atributos estándar , por ejemplo, sngLogin.

Para los eventos personalizados, eventos que su organización desea medir y que no coinciden con ninguno de los eventos estándar de Singular, utilice cualquier nombre personalizado (máximo de 32 caracteres). Recomendamos utilizar nombres en inglés para que sean compatibles con los socios de redes publicitarias que puedan recibir el evento de Singular con fines de optimización.

Singular .event Método
Descripción Notifica un evento de usuario a Singular, pasando el nombre del evento.
Ejemplo de uso
/* Enviar el registro de eventos estándar */
Singular.event(sngLogin);
Método Singular .eventWithArgs
Descripción Informa de un evento de usuario a Singular, pasando el nombre del evento y cualquier información adicional que quieras añadir, en forma de mapa/objeto.
Ejemplo de uso
/* Envíe la vista de contenido de eventos estándar con los atributos recomendados */
Singular.eventWithArgs(sngContentView, {
sngAttrContentType: 'PrivacyController',
sngAttrContentId: '130',
sngAttrContent: 'GDPR Opt-Out Options'
});

Seguimiento de ingresos

Singular puede recopilar datos sobre los ingresos obtenidos a través de la aplicación para ayudar a analizar el rendimiento y el ROI de sus campañas. Singular pondrá los datos a su disposición en informes, exportación de registros y postbacks.

Cuando informe de eventos de ingresos a Singular, le recomendamos que pase el objeto de compra devuelto por el proceso In-App Purchase (IAP) de Android o iOS. De esta forma, Singular obtiene todos los detalles de la transacción, lo que enriquece sus informes de Singular con datos. Además, Singular obtiene el recibo de la transacción de Google, que se puede utilizar para validar la transacción en el contexto de la lucha contra el fraude in-app.

Pasar el objeto de compra en React Native

Este método requiere el uso del paquete In-App Purchase de React Native para gestionar las transacciones en tu aplicación.

Método Singular.inAppPurchase
Descripción Reporta un evento IAP a Singular.
Ejemplo de uso
// Añadir las importaciones de las clases Singular Purchase
import {
   Singular,
   SingularConfig,
   SingularIOSPurchase,
   SingularAndroidPurchase,
  } from 'singular-react-native';
  
  let singularPurchase = null;
  
  if (Platform.OS === 'ios') {
   singularPurchase = new SingularIOSPurchase(
     product.revenue,
     product.currency,
     purchase.productId,
     purchase.transactionId,
     purchase.transactionReceipt,
   );
  } else if (Platform.OS === 'android'){
   singularPurchase = new SingularAndroidPurchase(
     product.revenue,
     product.currency,
     purchase.transactionReceipt,
     purchase.signatureAndroid,
   );
  }
  
  Singular.inAppPurchase('report iap', singularPurchase);

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

Pasar el objeto de compra mediante código nativo

Si no utiliza un paquete React Native In-App Purchase, puede seguir enviando eventos de ingresos a Singular con el objeto de compra, pero tiene que utilizar código nativo de iOS y Android.

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

iOS

iapComplete :transaction Método
Descripción Informa de un evento IAP a Singular con todos los detalles, añadiendo opcionalmente un nombre para el evento.
Ejemplo de uso
// comunique los detalles de la transacción a Singular
[Singular iapComplete:transaction];
  
// informar de los detalles de la transacción a Singular con 
// un nombre personalizado [Singular iapComplete:transaction withName:@"MyCustomRevenue"];

Android

Para aprovechar la funcionalidad IAP de Android, primero añade lo siguiente al archivo build.gradle de tu aplicación:

implementation 'com.singular.sdk:singular_sdk:9.+
Singular .revenue Método
Descripción Informa de un evento de ingresos a Singular con el objeto de compra que se recibe de la biblioteca de facturación de Google.
Ejemplo de uso
Singular.revenue("USD", 5.50, purchase);
Singular. customRevenueMétodo
Descripción Notifica un evento de ingresos a Singular con un nombre personalizado para el evento y con el objeto de compra recibido de la biblioteca de facturación de Google.
Ejemplode uso
Singular.customRevenue("MyCustomRevenue", 
"USD", 5.50, purchase);

Notificación de eventos de ingresos sin el objeto de compra

Aunque recomendamos encarecidamente informar de los eventos de ingresos de la forma descrita anteriormente, también puede enviar eventos de ingresos a Singular simplemente pasando la divisa y el importe de la transacción. Tenga en cuenta que de esta forma, Singular no recibe el recibo de compra y no puede validar la transacción.

Leer más...
Singular .revenue Método
Descripción Reporta un evento de ingreso a Singular con la moneda y el importe del ingreso.
Ejemplo de uso
Singular.revenue("USD", 5.50);
Método Singular. customRevenue
Descripción Informa de un evento de ingresos a Singular con la moneda y el importe de los ingresos, así como un nombre personalizado para el evento.
Ejemplo de uso
Singular.customRevenue("MyCustomRevenue", "USD", 5.50);

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

Añadir soporte de atribución de ingresos publicitarios (Avanzado)

Singular está integrado con plataformas de mediación como Google AdMob, AppLovin, Unity LevelPlay (IronSource) y TradPlus para la atribución de ingresos publicitarios. Singular también es compatible con otras plataformas de mediación a través de nuestra integración genérica de SDK de ingresos publicitarios.

Puede obtener datos de atribución de ingresos publicitarios de su plataforma de mediación añadiendo un fragmento de código a su integración Singular SDK. Esto también le permite obtener datos de ingresos publicitarios para las campañas de SKAdNetwork.

Obtener ingresos publicitarios a nivel de usuario de su plataforma de mediación permite a Singular enviar ingresos publicitarios atribuidos a fuentes de medios que pueden aceptar estos datos para ejecutar campañas AdROAS.

Ver instrucciones y fragmentos de código para la implementación del SDK [AQUÍ].

Seguimiento de Eventos Híbrido (Avanzado)

Singular recomienda enviar todos los eventos e ingresos a través del SDK de Singular integrado en su app. Sin embargo, Singular puede recoger eventos e ingresos de otras fuentes.

Cualquier evento NO enviado desde el SDK de Singular debe cumplir con los requisitos de documentación de eventos de servidor a servidor de Singular y proporcionar el identificador de dispositivo correspondiente para atribuir correctamente un evento.

Importante:

Se producirán discrepancias si los identificadores de dispositivo utilizados en las solicitudes de eventos de servidor a servidor no tienen un identificador de dispositivo coincidente en Singular. Tenga en cuenta las siguientes posibilidades:

  • Si se recibe una solicitud de evento "antes" de que Singular SDK haya registrado el identificador de dispositivo, desde una App Session, entonces la solicitud de evento se considerará la "primera sesión" para el dispositivo desconocido, y Singular atribuirá el dispositivo como una atribución orgánica.
  • Si Singular SDK registró un identificador de dispositivo, pero el identificador de Singular SDK difiere del identificador de dispositivo especificado en la solicitud de evento de servidor a servidor, entonces el evento se atribuirá incorrectamente.

Guías de seguimiento de eventos híbridos

Envío de eventos desde un servidor interno

Singular puede recopilar datos sobre los ingresos de su Servidor para ayudar a analizar el rendimiento y el ROI de sus campañas.

Requisitos:

  • Desde un Evento de Registro o Inicio de Sesión in-app, capture y pase los identificadores de dispositivo y almacene estos datos con el ID de Usuario en su servidor. Dado que los identificadores de dispositivo pueden cambiar para un usuario, asegúrese de actualizar los identificadores cuando un usuario genere una sesión de aplicación. Esto garantiza que el evento del lado del servidor se atribuya al dispositivo correcto.
  • Los eventos del lado del servidor son específicos de cada plataforma y sólo deben enviarse con el identificador de dispositivo que coincida con la plataforma del dispositivo (por ejemplo, IDFA o IDFV para dispositivos iOS).
  • Puede utilizar el mecanismo de postback de Singular Internal BI para enviar un evento en tiempo real a su endpoint interno para que pueda actualizar el conjunto de datos en el lado del servidor. Consulte las Preguntas Frecuentes sobre Postback de BI Interno.
  • Revise la sección "Seguimiento de Ingresos" en la guía de Integración Servidor-a-Servidor para más detalles.
Envío de Eventos desde un Proveedor de Ingresos
Proveedores de terceros como RevenueCat o adapty pueden proporcionar Ingresos por Compras y Suscripciones a Singular.

Siga los siguientes enlaces para obtener más información sobre cómo habilitar a estos socios.

Envío de Eventos desde Segmento

Para que Segment pueda enviar eventos a Singular, en paralelo con el SDK de Singular, debe añadir un Destino "Cloud-Mode" en Segment. Siga nuestra guía AQUÍ.

Añadir soporte para enlaces profundos

Los enlaces profundos son enlaces que llevan a contenidos específicos dentro de una aplicación. Cuando un usuario hace clic en un enlace profundo en un dispositivo que tiene instalada la aplicación, ésta se abre y muestra un producto o experiencia específicos.

Los enlaces de seguimiento singulares pueden incluir enlaces profundos, así como enlaces profundos diferidos(consulte nuestras Preguntas frecuentes sobre enlaces profundos y las Preguntas frecuentes sobre enlaces singulares para obtener más información).

Las siguientes instrucciones le mostrarán cómo:

  1. Acceder al enlace de seguimiento que condujo a la apertura de su aplicación,
  2. Leer el destino del enlace profundo, y
  3. Mostrar el contenido apropiado.

Nota: Este artículo asume que su organización está utilizando Singular Links- la nueva tecnología de enlaces de seguimiento de Singular, lanzada en 2019.

Los clientes más antiguos de Singular pueden estar utilizando los enlaces de seguimiento más antiguos de Singular. Consulte Generación de enlaces [Enlaces de seguimiento heredados].

Habilitación de Singular Links

Para habilitar Singular Links en iOS y en Android, consulte Requisitos previos de Singular Links.

Manejo de enlaces singulares

Singular SDK proporciona un mecanismo de gestión para leer los detalles del enlace de seguimiento que ha llevado a la apertura de la aplicación.

Para utilizar el manejador

  1. Llame a withSingularLinks al crear el objeto SingularConfig, como en el ejemplo siguiente. De este modo se registra un gestor de Singular Links.
  2. Dentro del controlador, llame o defina una función de devolución de llamada que reciba un objeto SingularLinksParams, como en el ejemplo siguiente. El objeto SingularLinksParams contiene los siguientes campos:
    • deeplink - la dirección del enlace profundo proporcionada en el parámetro de consulta _dl Esto es lo que debe analizar para mostrar a los usuarios el producto o la experiencia adecuados.
    • passthrough - todos los parámetros incluidos en el parámetro _p del enlace singular.
    • isDeferred - true si se trata de un enlace profundo diferido.
    • urlParameters - todos los parámetros de la cadena de consulta del Enlace Singular de Seguimiento.
      • Debe añadir el par _forward_params=1 al enlace de seguimiento singular para que todos los parámetros de cadena de consulta estén disponibles en el SDK.
const config = new SingularConfig('<SDK KEY>', '<SDK SECRET>');
  config.withSingularLink(singularLinksParams => {
      const deeplink = singularLinksParams.deeplink;
      const passthrough = singularLinksParams.passthrough;
      const isDeferred = singularLinksParams.isDeferred;
      const urlParameters = singularLinksParams.urlParameters;
      
      // Añada aquí su código para gestionar el enlace profundo
  });
  //...
  Singular.init(config);

Configuración de requisitos previos

Requisitos previos de iOS

En el directorio AppDelegate.m del proyecto, añada lo siguiente

// Parte superior de AppDelegate.m
  #import <Singular-React-Native/SingularBridge.h>
  
  - (BOOL)application:(UIApplication *)application 
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Añadir dentro de didFinishLaunchingWithOptions [SingularBridge startSessionWithLaunchOptions:launchOptions]; return YES; } // Añade este método al delegado de la aplicación - (BOOL)application:(UIApplication *)application
continueUserActivity:(NSUserActivity *)userActivity
restorationHandler:(void (^)(NSArray<id> * _Nullable))restorationHandler{ [SingularBridge startSessionWithUserActivity:userActivity]; return YES; }

Requisitos previos Android

En el proyecto MainActivity.java del proyecto, añada lo siguiente


// Añadir como parte de las importaciones en la parte superior de la clase
import android.content.Intent;
import net.singular.react_native.SingularBridgeModule;
  
// Añadir a la clase MainActivity
  @Override
  public void onNewIntent(Intent intent) {
    if(intent.getData() != null) {
      setIntent(intent);
      super.onNewIntent(intent);
      SingularBridgeModule.onNewIntent(intent);
    }
  }

Introducción: SKAdNetwork y SKAN

SKAdNetwork es el nuevo framework de Apple para atribuir instalaciones móviles sin comprometer la privacidad del usuario final. La nueva versión de Singular del SDK de iOS le ayuda a implementar SKAdNetwork sin problemas y con un mínimo esfuerzo de ingeniería. Esta implementación de SKAdNetwork se basa en SKAN - un estándar desarrollado por Singular para una implementación fluida de SKAdNetwork.

Para obtener una guía completa de la implementación de SKAdNetwork de Singular, consulte la guía de implementación de SKAdNetwork del SDK de iOS.

Activación del seguimiento de SKAdNetwork

Para activar el seguimiento de SKAdNetwork para su aplicación, active la opción de configuración skAdNetworkEnabled antes de inicializar Singular:

const config = new SingularConfig('<SDK KEY>', '<SDK SECRET>');

// Activar SKAdNetwork
config.withSkAdNetworkEnabled(true);

// Registro en una llamada de retorno para cuando se actualice el valor de conversión
config.conversionValueUpdatedHandler(value => {
	console.log(`Updated conversion value: ${value}`);
  });

Singular.init(config);

Gestión de actualizaciones de valores de conversión

Modo gestionado

Por defecto, la implementación de SKAdNetwork gestiona el valor de conversión directamente desde el lado del servidor de Singular.

Esto permite la máxima flexibilidad, ya que puede establecer y cambiar los valores de conversión a través de la plataforma Singular, sin modificar el código del lado del cliente.

Este modo gestionado del lado del servidor también le ayuda a manejar los temporizadores de SKAdNetwork. SKAdNetwork le permite actualizar el valor de conversión en un plazo de 24 horas desde el momento del registro en SKAdNetwork. Cualquier llamada para actualizar el valor de conversión prolonga el temporizador 24 horas más. Por lo tanto, al elegir sus eventos de conversión, tendrá que asegurarse de que los eventos se produzcan dentro de esa ventana de actualización. En modo gestionado, puede cambiar la configuración de los eventos de conversión en cualquier momento, sin necesidad de lanzar una nueva versión de su aplicación.

Modo manual

Si desea actualizar el valor de conversión por su cuenta en el código de la aplicación, llame a withManualSkanConversionManagement cuando inicialice el SDK:

const config = new SingularConfig('<SDK KEY>', '<SDK SECRET>');
// Activar SKAdNetwork
config.withSkAdNetworkEnabled(true);

// Activar la actualización manual de los valores de conversión
config.withManualSkanConversionManagement();

Singular.init(config);

A continuación, para actualizar el valor de conversión, utilice el método skanUpdateConversionValue siempre que sea necesario en el ciclo de vida de su aplicación:

Método skanUpdateConversionValue (JavaScript)
Descripción Actualiza manualmente el valor de conversión de SKAdNetwork.
Firma Singular.skanUpdateConversionValue(conversionValue)
Ejemplo de uso
// se ha producido la inscripción
Singular.event("SignUp");

// actualizar el valor de conversión a 7
Singular.skanUpdateConversionValue(7);

Nota: El método skanUpdateConversionValue no funcionará si no se ha configurado el SDK para actualizaciones manuales en la inicialización.

Recuperación del valor de conversión

Para obtener el valor de conversión actual, utilice el método skanGetConversionValue. Este método funciona tanto en modo gestionado como manual.

Método skanGetConversionValue (JavaScript)
Descripción Obtiene el valor de conversión actual rastreado por Singular SDK.
Firma Singular.skanGetConversionValue()
Ejemplo de uso
const conversionValue = Singular.skanGetConversionValue();

 

Creación de enlaces de referencia cortos

Nota: Esta funcionalidad está disponible en la versión 3.1.8+ del SDK.

Utilice los enlaces cortos para transformar enlaces Singular largos y llenos de parámetros en enlaces más cortos y seguros que resulten prácticos para compartir.

Normalmente, querrá crear enlaces cortos de forma dinámica para que los usuarios de su aplicación puedan compartirlos con sus amigos para invitarles a utilizar la aplicación.

Para crear un enlace corto, necesitas

  • Un Enlace Singular que lleve a la descarga de tu app (consulta las Preguntas Frecuentes sobre Enlaces Singulares).
  • Cualquier parámetro que desee añadir al enlace de forma dinámica (consulte Parámetros del enlace de seguimiento para ver la lista de opciones).
  • El nombre y el ID del usuario remitente, si desea realizar un seguimiento de las nuevas instalaciones de la aplicación hasta el usuario que compartió el enlace.

Utilice el método createReferrerShortLink para crear un enlace corto como en el ejemplo siguiente.

Singular.createReferrerShortLink (
    "https://sample.sng.link/B4tbm/v8fp?_dl=https%3A%2F%2Fabc.com",
    "John Doe", // Nombre del remitente
    "aq239897", // ID de remitente
    {"channel": "sms"}, // Cualquier parámetro que desee añadir al enlace
    (shortLinkURL,error) => {
      /* Añada aquí su lógica de compartición si shortLinkURL no es null. Si se ha producido un error, añada lógica para reintentar/abortar/modificar los parámetros pasados a la función, en función de la causa del error. */
    }
)

Seguimiento de desinstalaciones

Para que Singular rastree las desinstalaciones de su aplicación:

  1. En primer lugar, configure la aplicación en la plataforma Singular, como se detalla en Configuración del seguimiento de desinstalaciones [Android][iOS].
  2. Utilice el método que prefiera para recuperar los tokens APNS/FCM en React Native.
  3. Llama al método setUninstallToken, pasándole el token APNS/FCM como en el ejemplo de abajo. Asegúrate de pasar el token correcto en función de la plataforma del dispositivo.
Singular.setUninstallToken Método
Descripción Envía a Singular el token APNS/FCM para que pueda realizar un seguimiento de las desinstalaciones de aplicaciones.
Ejemplo de uso
if (Platform.OS === 'ios') {
  Singular.setUninstallToken(apnsToken);
} else if (Platform.OS === 'android'){
  Singular.setUninstallToken(fcmToken);
}

Modificación del tiempo de espera de la sesión

Singular proporciona una funcionalidad de protección de la privacidad para ayudarle a cooperar con cualquier socio que pueda estar cumpliendo con las leyes de privacidad del consumidor, como GDPR y CCPA(California Consumer Privacy Act). Estos socios quieren ser notificados si el usuario final ha dado su consentimiento para compartir su información privada.

Limitar el uso compartido de datos

Si ha implementado una forma de solicitar a los usuarios su consentimiento para compartir su información, utilice el método limitDataSharing para notificar a Singular la elección del usuario:

  • Utilice limitDataSharing:NO para indicar que el usuario ha dado su consentimiento (optado) para compartir su información.
  • Utilice limitDataSharing: YES si el usuario no dio su consentimiento.

Singular utiliza LimitDataSharing en los"Postbacks de Privacidad del Usuario", así como en la transmisión de esta información a socios que la requieren para cumplir con la normativa pertinente. Consulte "Privacidad del usuario y Limitar el uso compartido de datos" para obtener más información.

Nota: El uso del método es opcional, pero puede haber información de atribución que el socio compartirá con Singular sólo si se notifica específicamente que el usuario ha optado por ello.

Método Singular.limitDataSharing
Firma Singular.limitDataSharing(shouldLimitDataSharing)
Descripción Notificar a Singular el consentimiento del usuario (opt-in) para compartir datos privados. El método Limitar el uso compartido de datos te ofrece una opción para controlar si tu app envía datos del usuario a terceros. Esto resulta útil si quieres restringir el uso compartido de datos en función de las preferencias del usuario o los requisitos de privacidad.
Ejemplo de uso
// El usuario ha optado por compartir datos
Singular.limitDataSharing(false);

 

Métodos adicionales para el cumplimiento de GDPR

El SDK de Singular proporciona varios métodos para ayudarle a cumplir con las políticas GDPR y comunicar a Singular el consentimiento o no consentimiento del usuario para el seguimiento.

Método Singular.trackingOptIn
Descripción Notificar a Singular el consentimiento del usuario (opt-in) para el seguimiento. El método TrackingOptIn() se utiliza para enviar un evento «gdpr» a los servidores de Singular. Si no llama a este método, la aplicación continuará rastreando a los usuarios como si hubieran dado su consentimiento, pero no los marcará específicamente como GDPR opt-in. Si su aplicación necesita cumplir con el GDPR (Reglamento General de Protección de Datos), debe llamar a esta función para asegurarse de que el consentimiento del usuario se registra correctamente.
Ejemplo de uso
Singular.trackingOptIn();
Método Singular .stopAllTracking
Descripción

Detiene todas las actividades de seguimiento de este usuario en esta aplicación.

Importante: Esto desactiva el SDK de Singular, incluso después de reiniciar la aplicación. La única forma de volver a activar el SDK es llamando a resumeAllTracking.

Ejemplo de uso
Singular.stopAllTracking();
Método Singular.resumeAllTracking
Descripción Reanuda las actividades de seguimiento de este usuario en esta aplicación.
Ejemplo de uso
Singular.resumeAllTracking();
Singular .isAllTrackingStoppedMétodo
Descripción Comprueba el estado del seguimiento de este usuario en esta aplicación. Devuelve true si se ha detenido el seguimiento.
Ejemplo de uso
Singular.isAllTrackingStopped();