SDK do Unreal Engine - Referência de métodos de configuração

Documento

SDK do Unreal Engine - Referência de configuração

Configure o Singular SDK do Unreal Engine por meio dos parâmetros do método Inicializar. Esta referência documenta todas as opções de configuração disponíveis com seus tipos, valores padrão e exemplos de uso.


apiKey

Chave de API (obrigatório)

Sua chave de API do Singular obtida no painel do Singular. Isso é necessário para inicializar o SDK e identificar seu aplicativo.

Assinatura

C++
FString apiKey

Exemplo de uso

C++
FString ApiKey = TEXT("your_singular_api_key");

USingularSDKBPLibrary::Initialize(
    ApiKey,
    ApiSecret,
    // ... other parameters
);

apiSecret

Segredo da API (obrigatório)

Seu Singular API Secret obtido no painel do Singular. Isso é necessário para inicializar o SDK e autenticar seu aplicativo.

Assinatura

C++
FString apiSecret

Exemplo de uso

C++
FString ApiSecret = TEXT("your_singular_api_secret");

USingularSDKBPLibrary::Initialize(
    ApiKey,
    ApiSecret,
    // ... other parameters
);

clipboardAttribution

Atribuição da área de transferência

Permite a leitura da área de transferência para suportar a atribuição de Links Universais do iOS para uma melhor precisão de rastreamento (somente iOS).

Assinatura

C++
bool clipboardAttribution
// Default: false

Exemplo de utilização

C++
// 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 único personalizado

Define um SDID (Singular Device ID) personalizado em vez de usar o identificador de dispositivo gerado automaticamente.

Assinatura

C++
FString customSdid
// Default: TEXT("")

Exemplo de utilização

C++
// 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

ID de utilizador personalizado

Defina um identificador de utilizador personalizado na inicialização para controlar os utilizadores nos dispositivos utilizando o seu próprio sistema de ID.

Assinatura

C++
FString customUserId
// Default: TEXT("")

Exemplo de utilização

C++
// 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

Ativar o registo

Ativar o registo do SDK para fins de depuração. Deve ser desativado em compilações de produção.

Assinatura

C++
bool enableLogging
// Default: false

Exemplo de utilização

C++
// 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 do aplicativo do Facebook

Defina sua ID de aplicativo do Facebook para habilitar a integração de atribuição do Facebook.

Assinatura

C++
FString facebookAppId
// Default: TEXT("")

Exemplo de utilização

C++
// 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

Nível de registo

Define o nível de verbosidade para o registo SDK. Os valores mais elevados fornecem registos mais detalhados. Intervalo válido: 0-5.

Assinatura

C++
int logLevel
// Default: 0
// Valid range: 0 (minimal) to 5 (verbose)

Exemplo de utilização

C++
// 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

Gestão manual de conversões SKAdNetwork

Ativar o controlo manual das actualizações dos valores de conversão da SKAdNetwork em vez da gestão automática (apenas iOS).

Assinatura

C++
bool manualSkanConversionManagement
// Default: false

Exemplo de utilização

C++
// 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

Coleção de OAID

Ativar a recolha de Open Anonymous Identifier (OAID) para dispositivos Android na China (apenas Android).

Assinatura

C++
bool oaidCollection
// Default: false

Exemplo de utilização

C++
// 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

Tempo limite da sessão

Define o tempo limite da sessão em segundos. Após este período de inatividade, é iniciada uma nova sessão quando o utilizador regressa.

Assinatura

C++
int sessionTimeout
// Default: 60 (seconds)

Exemplo de utilização

C++
// 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 activada

Ativar o suporte de SKAdNetwork para rastreio de atribuição iOS através da estrutura de preservação de privacidade da Apple (apenas iOS).

Assinatura

C++
bool skAdNetworkEnabled
// Default: true

Exemplo de utilização

C++
// 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

Aguardar autorização de rastreamento com intervalo de tempo limite

Defina um tempo limite em segundos para aguardar que o utilizador responda à solicitação ATT (App Tracking Transparency) antes de inicializar o SDK (apenas iOS 14+).

Assinatura

C++
int waitForTrackingAuthorizationWithTimeoutInterval
// Default: 0 (no waiting)
// Recommended: 60-300 seconds

Exemplo de uso

C++
// 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
);

Exemplo de configuração completa

Configuração completa do SDK

Exemplo que mostra uma inicialização completa do SDK com todas as opções de configuração definidas.

C++
// 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"));
}