Unreal Engine SDK: integración básica

Añadir el SDK a su proyecto

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

  1. El archivo SDK que ha descargado contiene una carpeta SingularSDK que contiene el plugin SDK. Copie la carpeta SingularSDK en la carpeta Plugins de su aplicación.
  2. Añada SingularSDK como dependencia a la matriz PublicDependencyModuleNames del archivo Build.cs de su aplicación (<YOUR_APP>.Build.cs):

    PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject",
      "Engine", "InputCore", "SingularSDK" });

Inicialización del SDK

Nota: Recuerde cumplir las distintas leyes de privacidad promulgadas en las regiones en las que hace negocios, incluidas, entre otras, GDPR, CCPA y COPPA, al implementar 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 invocarse cada vez que se abre la aplicación.Es un requisito previo para todas las funciones de atribución de Singular y también envía una nueva sesióna Singular que se utiliza para calcular la retención de usuarios. Recomendamos inicializar el SDK lo antes posible durante la ejecución de la aplicación.

Para inicializar el SDK, llame al método Initialize de la clase SingularSDKBPLibrary:

Método Initialize
Descripción Inicializa el SDK de Singular y envía una sesión de usuario a los servidores de Singular.
Firma
static bool Initialize(FString sdkKey, FString sdkSecret,
       int sessionTimeout = 60,
       FString customUserId = TEXT(""),
       bool skAdNetworkEnabled = false,
       bool manualSkanConversionManagement = false,
       int waitForTrackingAuthorizationWithTimeoutInterval = 0,
       bool oaidCollection = false);
Ejemplo de uso
#include "SingularSDKBPLibrary.h"
  
  [...]
  
  USingularSDKBPLibrary::Initialize("SDK KEY", "SDK SECRET");
  

Parámetros del método

Parámetro ¿Necesario? Descripción Por defecto
sdkKey   Para obtener estas claves, inicie sesión en su cuenta de Singular y vaya a "Herramientas para desarrolladores > Integración SDK > Claves SDK".  
sdkSecret    

sessionTimeout

  Establezca un tiempo de espera de sesión personalizado (en segundos). 60
customUserId   Enviar el ID de usuario a Singular. Más información a continuación  
waitForTrackingAuthorization WithTimeoutInterval   (iOS ) Retrasar el envío de una sesión/eventos a Singular hasta que el usuario acepte o rechace compartir los datos del identificador de su dispositivo. Más información a continuación False
skAdNetworkEnabled   (iOS ) Establecer en True para que Singular realice un seguimiento del valor de conversión del usuario. Consulte Introducción a la solución SKAdNetwork deSingular para obtener más información. False
manualSkanConversion Management   (iOS ) Establézcalo en True si desea gestionar el valor de conversión de SKAdNetwork manualmente (usted mismo lo establece y actualiza en el código). Consulte Introducción a la soluciónSKAdNetworkde Singular para obtener más información. False
oaidCollection   (Android) Establecer en true para recoger el OAID del dispositivo. False

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 SetCustomUserId de SingularSDK
Descripción Envía el ID de usuario a Singular.
Firma static void SetCustomUserId(FString customUserId)
Ejemplo de uso
USingularSDKBPLibrary::SetCustomUserId("custom_user_id");
Método UnsetCustomUserId de SingularSDK
Descripción Anula el ID de usuario que se ha enviado a Singular.
Firma static void UnsetCustomUserId()
Ejemplo de uso
USingularSDKBPLibrary::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 Singular o una vez que tenga el ID de usuario.

Método SingularSDK SetCustomUserId
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 void SetDeviceCustomUserId(FString customUserId)
Ejemplo de uso
USingularSDKBPLibrary::SetDeviceCustomUserId("custom_user_id");

Opcional: Compatibilidad con la transparencia de seguimiento de aplicaciones de iOS 14+

En iOS 14+, las aplicaciones tienen que pedir el consentimiento del usuario antes de compartir sus datos, incluyendo el uso del valor IDFA del dispositivo (ver App Tracking Transparency). Singular se beneficia enormemente de tener el IDFA para identificar dispositivos y realizar la atribución de instalaciones. Por lo tanto, debe solicitar el consentimiento del usuario antes de que el SDK de Singular comience a enviar una sesión de usuario y eventos de usuario a los servidores de Singular.

Una vez que el SDK envía una sesión, activa el proceso de atribución de instalaciones de Singular, basado únicamente en los datos de que dispone Singular en ese momento.

Para evitar que el SDK envíe una sesión de usuario y eventos de usuario, inicialice el SDK de Singular con el parámetro waitForTrackingAuthorizationWithTimeoutInterval. Si lo hace:

  1. El SDK se inicializará y comenzará a registrar una sesión y eventos de usuario, pero aún no los envi ará al servidor de Singular.
  2. Tan pronto como se conceda/deniegue el consentimiento de App Tracking Transparency, o transcurra el tiempo de espera establecido, el SDK enviará la sesión y cualquier evento en cola al servidor de Singular (con o sin el IDFA).
  3. Singular iniciará entonces el proceso de atribución, aprovechando el IDFA si está disponible.

Para más información, consulte Preparación para iOS 14.