SDK de Unreal Engine - Referencia de configuración
Configure el SDK de Unreal Engine Singular mediante los parámetros del método Initialize. Esta referencia documenta todas las opciones de configuración disponibles con sus tipos, valores predeterminados y ejemplos de uso.
apiKey
Clave de API (obligatoria)
Su clave de API de Singular obtenida del panel de control de Singular. Es necesaria para inicializar el SDK e identificar su aplicación.
Firma
FString apiKey
Ejemplo de uso
FString ApiKey = TEXT("your_singular_api_key");
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
// ... other parameters
);
apiSecret
Secreto de API (obligatorio)
Su secreto de API de Singular obtenido del panel de control de Singular. Es necesario para inicializar el SDK y autenticar su aplicación.
Firma
FString apiSecret
Ejemplo de uso
FString ApiSecret = TEXT("your_singular_api_secret");
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
// ... other parameters
);
clipboardAttribution
Atribución del portapapeles
Habilita la lectura desde el portapapeles para admitir la atribución de enlaces universales de iOS y mejorar la precisión del seguimiento (sólo iOS).
Firma
bool clipboardAttribution
// Default: false
Ejemplo de uso
// Enable clipboard attribution for iOS
bool ClipboardAttribution = true;
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // sessionTimeout
TEXT(""), // customUserId
true, // skAdNetworkEnabled
false, // manualSkanConversionManagement
0, // waitForTrackingAuthorizationWithTimeoutInterval
false, // oaidCollection
false, // enableLogging
0, // logLevel
ClipboardAttribution, // Enable clipboard attribution
TEXT(""), // facebookAppId
TEXT("") // customSdid
);
customSdid
ID de dispositivo singular personalizado
Establezca un ID de dispositivo singular personalizado (SDID) en lugar de utilizar el identificador de dispositivo generado automáticamente.
Firma
FString customSdid
// Default: TEXT("")
Ejemplo de uso
// Set custom SDID
FString CustomSdid = TEXT("custom_device_id_12345");
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // sessionTimeout
TEXT(""), // customUserId
true, // skAdNetworkEnabled
false, // manualSkanConversionManagement
0, // waitForTrackingAuthorizationWithTimeoutInterval
false, // oaidCollection
false, // enableLogging
0, // logLevel
false, // clipboardAttribution
TEXT(""), // facebookAppId
CustomSdid // Custom SDID
);
customUserId
Identificador de usuario personalizado
Establezca un identificador de usuario personalizado en la inicialización para realizar un seguimiento de los usuarios en todos los dispositivos utilizando su propio sistema de identificación.
Firma
FString customUserId
// Default: TEXT("")
Ejemplo de uso
// Set custom user ID at initialization
FString CustomUserId = TEXT("user_xyz789");
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // sessionTimeout
CustomUserId, // Set custom user ID
true, // skAdNetworkEnabled
false, // manualSkanConversionManagement
0, // waitForTrackingAuthorizationWithTimeoutInterval
false, // oaidCollection
false, // enableLogging
0, // logLevel
false, // clipboardAttribution
TEXT(""), // facebookAppId
TEXT("") // customSdid
);
enableLogging
Habilitar registro
Habilita el registro del SDK con fines de depuración. Debe desactivarse en las versiones de producción.
Firma
bool enableLogging
// Default: false
Ejemplo de uso
// Enable logging for development builds
bool EnableLogging = true;
int LogLevel = 5; // Verbose logging
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // sessionTimeout
TEXT(""), // customUserId
true, // skAdNetworkEnabled
false, // manualSkanConversionManagement
0, // waitForTrackingAuthorizationWithTimeoutInterval
false, // oaidCollection
EnableLogging, // Enable logging
LogLevel, // Set log level
false, // clipboardAttribution
TEXT(""), // facebookAppId
TEXT("") // customSdid
);
facebookAppId
ID de la aplicación de Facebook
Establece tu ID de aplicación de Facebook para activar la integración de atribución de Facebook.
Firma
FString facebookAppId
// Default: TEXT("")
Ejemplo de uso
// Set Facebook App ID for attribution
FString FacebookAppId = TEXT("123456789012345");
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // sessionTimeout
TEXT(""), // customUserId
true, // skAdNetworkEnabled
false, // manualSkanConversionManagement
0, // waitForTrackingAuthorizationWithTimeoutInterval
false, // oaidCollection
false, // enableLogging
0, // logLevel
false, // clipboardAttribution
FacebookAppId, // Facebook App ID
TEXT("") // customSdid
);
logLevel
Nivel de registro
Establece el nivel de detalle de los registros del SDK. Los valores más altos proporcionan registros más detallados. Rango válido: 0-5.
Firma
int logLevel
// Default: 0
// Valid range: 0 (minimal) to 5 (verbose)
Ejemplo de uso
// Set verbose logging for debugging
int LogLevel = 5;
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // sessionTimeout
TEXT(""), // customUserId
true, // skAdNetworkEnabled
false, // manualSkanConversionManagement
0, // waitForTrackingAuthorizationWithTimeoutInterval
false, // oaidCollection
true, // enableLogging
LogLevel, // Set log level to verbose
false, // clipboardAttribution
TEXT(""), // facebookAppId
TEXT("") // customSdid
);
manualSkanConversionManagement
Gestión manual de la conversión SKAdNetwork
Habilitar el control manual sobre las actualizaciones de valores de conversión de SKAdNetwork en lugar de la gestión automática (sólo iOS).
Firma
bool manualSkanConversionManagement
// Default: false
Ejemplo de uso
// Enable manual SKAN conversion management
bool ManualSkanManagement = true;
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // sessionTimeout
TEXT(""), // customUserId
true, // skAdNetworkEnabled
ManualSkanManagement, // Enable manual SKAN management
0, // waitForTrackingAuthorizationWithTimeoutInterval
false, // oaidCollection
false, // enableLogging
0, // logLevel
false, // clipboardAttribution
TEXT(""), // facebookAppId
TEXT("") // customSdid
);
// Later, manually update conversion value
USingularSDKBPLibrary::SkanUpdateConversionValue(15);
oaidCollection
Recogida de OAID
Habilitar la recopilación de Open Anonymous Identifier (OAID) para dispositivos Android en China (sólo Android).
Firma
bool oaidCollection
// Default: false
Ejemplo de uso
// Enable OAID collection for Chinese Android devices
bool OaidCollection = true;
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // sessionTimeout
TEXT(""), // customUserId
true, // skAdNetworkEnabled
false, // manualSkanConversionManagement
0, // waitForTrackingAuthorizationWithTimeoutInterval
OaidCollection, // Enable OAID collection
false, // enableLogging
0, // logLevel
false, // clipboardAttribution
TEXT(""), // facebookAppId
TEXT("") // customSdid
);
sessionTimeout
Tiempo de espera de la sesión
Establece el tiempo de espera de la sesión en segundos. Tras este periodo de inactividad, se inicia una nueva sesión cuando el usuario regresa.
Firma
int sessionTimeout
// Default: 60 (seconds)
Ejemplo de uso
// Set session timeout to 5 minutes
int SessionTimeout = 300; // 5 minutes in seconds
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
SessionTimeout, // 5 minute session timeout
TEXT(""), // customUserId
true, // skAdNetworkEnabled
false, // manualSkanConversionManagement
0, // waitForTrackingAuthorizationWithTimeoutInterval
false, // oaidCollection
false, // enableLogging
0, // logLevel
false, // clipboardAttribution
TEXT(""), // facebookAppId
TEXT("") // customSdid
);
skAdNetworkEnabled
SKAdNetwork Activado
Habilitar la compatibilidad de SKAdNetwork con el seguimiento de atribuciones de iOS a través del marco de preservación de la privacidad de Apple (sólo iOS).
Firma
bool skAdNetworkEnabled
// Default: true
Uso Ejemplo
// Enable SKAdNetwork for iOS attribution
bool SkAdNetworkEnabled = true;
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // sessionTimeout
TEXT(""), // customUserId
SkAdNetworkEnabled, // Enable SKAdNetwork
false, // manualSkanConversionManagement
0, // waitForTrackingAuthorizationWithTimeoutInterval
false, // oaidCollection
false, // enableLogging
0, // logLevel
false, // clipboardAttribution
TEXT(""), // facebookAppId
TEXT("") // customSdid
);
waitForTrackingAuthorizationWithTimeoutInterval
Esperar autorización de seguimiento con intervalo de tiempo de espera
Establezca un intervalo de tiempo en segundos para esperar a que el usuario responda a la solicitud ATT (App Tracking Transparency) antes de inicializar el SDK (sólo iOS 14+).
Firma
int waitForTrackingAuthorizationWithTimeoutInterval
// Default: 0 (no waiting)
// Recommended: 60-300 seconds
Ejemplo de uso
// Wait up to 5 minutes for ATT authorization
int WaitTimeout = 300; // 5 minutes
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // sessionTimeout
TEXT(""), // customUserId
true, // skAdNetworkEnabled
false, // manualSkanConversionManagement
WaitTimeout, // Wait for ATT authorization
false, // oaidCollection
false, // enableLogging
0, // logLevel
false, // clipboardAttribution
TEXT(""), // facebookAppId
TEXT("") // customSdid
);
Ejemplo de configuración completa
Configuración completa del SDK
Ejemplo que muestra una inicialización completa del SDK con todas las opciones de configuración establecidas.
// Complete configuration example
FString ApiKey = TEXT("SDK KEY");
FString ApiSecret = TEXT("SDK SECRET");
int SessionTimeout = 60;
FString CustomUserId = TEXT("user_12345");
bool SkAdNetworkEnabled = true;
bool ManualSkanConversionManagement = false;
int WaitForTrackingAuthorizationTimeout = 300;
bool OaidCollection = false;
bool EnableLogging = true;
int LogLevel = 3;
bool ClipboardAttribution = true;
FString FacebookAppId = TEXT("123456789012345");
FString CustomSdid = TEXT("");
bool Success = USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
SessionTimeout,
CustomUserId,
SkAdNetworkEnabled,
ManualSkanConversionManagement,
WaitForTrackingAuthorizationTimeout,
OaidCollection,
EnableLogging,
LogLevel,
ClipboardAttribution,
FacebookAppId,
CustomSdid
);
if (Success)
{
UE_LOG(LogTemp, Log, TEXT("Singular SDK initialized with full configuration"));
}
else
{
UE_LOG(LogTemp, Error, TEXT("Failed to initialize Singular SDK"));
}