SDK do Unity - Referência de configuração

SDK do Unity - Referência de configuração

Todas as opções de configuração expostas pelo SDK do Singular para Unity, com tipo, valor padrão, plataformas suportadas e como defini-las.

A maioria das opções são campos do componente SingularSDK, então aparecem no Inspector do Unity no GameObject do Singular SDK. Algumas são membros estáticos: não aparecem no Inspector e só podem ser definidas no código antes da inicialização. Cada entrada abaixo indica qual é o caso.


Configurar pelo código

Desmarque Initialize On Awake no Inspector, defina os campos necessários e inicialize o SDK você mesmo. Membros estáticos só podem ser definidos dessa forma.

using UnityEngine;
using Singular;

public class SingularBootstrap : MonoBehaviour
{
    void Awake()
    {
        // Clear Initialize On Awake in the Inspector first, so the SDK
        // does not start before these values are set.
        SingularSDK singular = GetComponent<SingularSDK>();

        singular.SingularAPIKey    = "YOUR_SDK_KEY";
        singular.SingularAPISecret = "YOUR_SDK_SECRET";
        singular.sessionTimeoutSec = 120;

        // Static members are not shown in the Inspector and are set here only.
        SingularSDK.endSessionOnGoingToBackground = true;

        SingularSDK.InitializeSingularSDK();
    }
}

Exemplo de configuração completa

Configuração abrangente do SDK

Uma configuração representativa cobrindo as opções usadas pela maioria das integrações.

using UnityEngine;
using Singular;

public class SingularBootstrap : MonoBehaviour
{
    void Awake()
    {
        SingularSDK singular = GetComponent<SingularSDK>();

        // Required
        singular.SingularAPIKey    = "YOUR_SDK_KEY";
        singular.SingularAPISecret = "YOUR_SDK_SECRET";

        // Logging — off for a production build
        singular.enableLogging = false;

        // Sessions and link resolution
        singular.sessionTimeoutSec       = 120;
        singular.shortlinkResolveTimeout = 15;
        singular.ddlTimeoutSec           = 120;   // Android

        // Links
        singular.brandedDomains = new string[] { "go.yourcompany.com" };
        singular.pushNotificationsLinkPaths = new string[] { "sng_link" };

        // iOS
        singular.waitForTrackingAuthorizationWithTimeoutInterval = 300;
        singular.SKANEnabled = true;

        // Android
        singular.facebookAppId = "1234567890";

        SingularSDK.InitializeSingularSDK();
    }
}

autoIAPComplete

Propriedade SingularSDK.autoIAPComplete

Opção legada para concluir automaticamente as transações do StoreKit.

Recurso obsoleto: este campo está marcado como [Obsolete] no SDK e não deve ser usado em novas integrações. Conclua as transações pelo Unity IAP e reporte-as com SingularSDK.InAppPurchase().

Assinatura

public bool autoIAPComplete

Padrão: false

Plataforma: Somente iOS

Definido em: Inspector do Unity ou código

Exemplo de uso

singular.autoIAPComplete = false;

brandedDomains

Propriedade SingularSDK.brandedDomains

Domínios de link personalizados que o SDK deve tratar como Singular Links. Adicione todos os domínios de marca usados em tracking links; sem isso, apenas os domínios sng.link registrados na página Manage Links são reconhecidos.

Assinatura

public string[] brandedDomains

Padrão: null

Plataforma: iOS e Android

Definido em: Inspector do Unity ou código

Exemplo de uso

singular.brandedDomains = new string[] {
    "yourcompany.com",
    "go.yourcompany.com"
};

clipboardAttribution

Propriedade SingularSDK.clipboardAttribution

Permite que o SDK leia a área de transferência na inicialização para recuperar dados de atribuição de um Singular Link.

Ler a área de transferência exibe ao usuário a notificação de colagem do sistema no iOS 14 e posteriores. Habilite apenas se você aceita essa contrapartida.

Assinatura

public bool clipboardAttribution

Padrão: false

Plataforma: Somente iOS

Definido em: Inspector do Unity ou código

Exemplo de uso

singular.clipboardAttribution = true;

collectOAID

Propriedade SingularSDK.collectOAID

Coleta o OAID, um identificador de publicidade usado em dispositivos Android sem o Google Play Services — principalmente na China continental. Exige a biblioteca OAID na sua build.

Assinatura

public bool collectOAID

Padrão: false

Plataforma: Somente Android

Definido em: Inspector do Unity ou código

Exemplo de uso

singular.collectOAID = true;

CustomSdid

Propriedade SingularSDK.CustomSdid

Fornece o seu próprio Singular Device ID em vez de deixar o SDK gerá-lo. Defina antes da inicialização e registre um handler com SingularSDK.SetSingularSdidAccessorHandler() para saber quando ele foi aceito.

Recurso Enterprise: o SDID personalizado não vem habilitado por padrão. Não o defina a menos que sua conta esteja habilitada — fale antes com seu representante do Singular.

Assinatura

public static string CustomSdid

Padrão: null

Plataforma: iOS e Android

Definido em: Somente código — não aparece no Inspector

Exemplo de uso

SingularSDK.CustomSdid = "your-own-device-id";

ddlTimeoutSec

Propriedade SingularSDK.ddlTimeoutSec

Por quanto tempo após uma instalação nova o SDK ainda resolverá um deep link diferido e chamará o seu handler de Singular Link. Deixe em 0 para usar o padrão de 60 segundos.

Assinatura

public long ddlTimeoutSec

Padrão: 0 (uses the 60 second default)

Plataforma: Somente Android

Definido em: Inspector do Unity ou código

Exemplo de uso

singular.ddlTimeoutSec = 120;

enableDeferredDeepLinks

Propriedade SingularSDK.enableDeferredDeepLinks

Registra o handler de deep links diferidos no Android. Deixe habilitado, a menos que você queira deliberadamente ignorar links diferidos.

Assinatura

public static bool enableDeferredDeepLinks

Padrão: true

Plataforma: Somente Android

Definido em: Somente código — não aparece no Inspector

Exemplo de uso

SingularSDK.enableDeferredDeepLinks = false;

enableLogging

Propriedade SingularSDK.enableLogging

Habilita a saída de log do SDK, útil durante a integração e a solução de problemas. Ela vem habilitada por padrão (enableLogging é true), então desmarque a caixa antes de publicar uma build de produção.

Assinatura

public bool enableLogging

Padrão: true

Plataforma: iOS e Android

Definido em: Inspector do Unity ou código

Exemplo de uso

singular.enableLogging = false;

enableODMWithTimeoutInterval

Propriedade SingularSDK.enableODMWithTimeoutInterval

Habilita o On-Device Measurement (ODM) do Google e define quantos segundos o SDK aguarda pelo token de atribuição do Google antes de enviar a primeira sessão. Obrigatório para o Google Ads iOS Integrated Conversion Measurement (ICM).

Isso atrasa a primeira sessão. O SDK bloqueia até o Google retornar um token ou o intervalo se esgotar, então os callbacks de deep link são adiados em até esse número de segundos. O ODM também exige o SDK de ODM do Google, a flag de linkagem -ObjC e o SDK do Unity v5.5.0 ou posterior.

Assinatura

public int enableODMWithTimeoutInterval

Padrão: -1 (disabled)

Plataforma: Somente iOS

Definido em: Inspector do Unity ou código

Exemplo de uso

singular.enableODMWithTimeoutInterval = 10;

endSessionOnGoingToBackground

Propriedade SingularSDK.endSessionOnGoingToBackground

Encerra a sessão do Singular assim que o app vai para segundo plano, em vez de deixá-la expirar após o tempo limite de sessão. A maioria dos apps deve deixar isso desativado e usar o sessionTimeoutSec.

Assinatura

public static bool endSessionOnGoingToBackground

Padrão: false

Plataforma: iOS e Android

Definido em: Somente código — não aparece no Inspector

Exemplo de uso

SingularSDK.endSessionOnGoingToBackground = true;

facebookAppId

Propriedade SingularSDK.facebookAppId

Seu Facebook App ID, necessário para a atribuição por install referrer da Meta no Android.

Assinatura

public string facebookAppId

Padrão: null

Plataforma: Somente Android

Definido em: Inspector do Unity ou código

Exemplo de uso

singular.facebookAppId = "1234567890";

fcmDeviceToken

Propriedade SingularSDK.fcmDeviceToken

O token do Firebase Cloud Messaging usado no rastreamento de desinstalações. Prefira SingularSDK.RegisterTokenForUninstall(), que o define antes da inicialização e chama o SDK nativo depois.

Assinatura

public static string fcmDeviceToken

Padrão: null

Plataforma: Somente Android

Definido em: Somente código — não aparece no Inspector

Exemplo de uso

SingularSDK.RegisterTokenForUninstall(token);

Initialized

Propriedade SingularSDK.Initialized

Somente leitura. Informa se o SDK terminou de inicializar. A maioria dos métodos do SDK não faz nada até que isso seja true.

Assinatura

public static bool { get; } Initialized

Padrão: false

Plataforma: iOS e Android

Definido em: Somente código — não aparece no Inspector

Exemplo de uso

if (SingularSDK.Initialized) {
    SingularSDK.Event("level_complete");
}

InitializeOnAwake

Propriedade SingularSDK.InitializeOnAwake

Inicializa o SDK automaticamente no Awake() do GameObject. Desmarque quando precisar definir a configuração no código primeiro e então chame SingularSDK.InitializeSingularSDK() você mesmo.

Assinatura

public bool InitializeOnAwake

Padrão: true

Plataforma: iOS e Android

Definido em: Inspector do Unity ou código

Exemplo de uso

singular.InitializeOnAwake = false;

limitAdvertisingIdentifiers

Propriedade SingularSDK.limitAdvertisingIdentifiers

Impede que o SDK colete identificadores de publicidade do dispositivo. Use em apps de público misto que não podem coletar um ID de publicidade de determinados usuários.

Assinatura

public bool limitAdvertisingIdentifiers

Padrão: false

Plataforma: iOS e Android

Definido em: Inspector do Unity ou código

Exemplo de uso

singular.limitAdvertisingIdentifiers = true;

logLevel

Propriedade SingularSDK.logLevel

Define o nível de detalhe da saída de log do SDK. Os valores são as constantes do Android android.util.Log, em que um número menor é mais detalhado: 2 Verbose, 3 Debug, 4 Info, 5 Warn, 6 Error, 7 Assert. O padrão é 3 (Debug). Qualquer valor fora de 2–7 é rejeitado e o SDK volta para Debug, então 0 e 1 não reduzem os logs — desmarque Enable Logging para desativá-los.

Assinatura

public int logLevel

Padrão: 3 (Debug)

Plataforma: iOS e Android

Definido em: Inspector do Unity ou código

Exemplo de uso

singular.logLevel = 3; // Debug

manualSKANConversionManagement

Propriedade SingularSDK.manualSKANConversionManagement

Transfere ao seu app o controle dos valores de conversão do SKAdNetwork. Quando habilitado, o Singular deixa de gerenciá-los e você precisa chamar SingularSDK.SkanUpdateConversionValue().

Enquanto isso estiver desativado, as atualizações manuais são ignoradas. Se os valores de conversão não estiverem chegando, verifique primeiro esta opção.

Assinatura

public bool manualSKANConversionManagement

Padrão: false

Plataforma: Somente iOS

Definido em: Inspector do Unity ou código

Exemplo de uso

singular.manualSKANConversionManagement = true;

openUri

Propriedade SingularSDK.openUri

O URI com que o app foi aberto, entregue ao SDK na inicialização para que ele possa atribuir a abertura. Defina antes da inicialização quando sua activity receber um deep link antes de o SDK iniciar.

Assinatura

public static string openUri

Padrão: null

Plataforma: Somente Android

Definido em: Somente código — não aparece no Inspector

Exemplo de uso

SingularSDK.openUri = "myapp://product/123";

pushNotificationsLinkPaths

Propriedade SingularSDK.pushNotificationsLinkPaths

Onde encontrar o Singular Link dentro dos payloads das suas notificações push. Cada entrada é um caminho pelo payload, com os níveis separados por /. Adicione uma entrada para cada formato de payload que o app recebe.

Assinatura

public string[] pushNotificationsLinkPaths

Padrão: null

Plataforma: iOS e Android

Definido em: Inspector do Unity ou código

Exemplo de uso

singular.pushNotificationsLinkPaths = new string[] {
    "sng_link",
    "notification/deep_link",
    "rootObj/nestedObj/singularLink"
};

restartSessionOnReturningToForeground

Propriedade SingularSDK.restartSessionOnReturningToForeground

Inicia uma nova sessão do Singular sempre que o app volta ao primeiro plano. Use junto com endSessionOnGoingToBackground; a maioria dos apps deve deixar ambos desativados.

Assinatura

public static bool restartSessionOnReturningToForeground

Padrão: false

Plataforma: iOS e Android

Definido em: Somente código — não aparece no Inspector

Exemplo de uso

SingularSDK.restartSessionOnReturningToForeground = true;

sessionTimeoutSec

Propriedade SingularSDK.sessionTimeoutSec

Por quanto tempo o app pode ficar em segundo plano antes que a próxima abertura conte como uma nova sessão. Deixe em 0 para usar o padrão de 60 segundos.

Assinatura

public long sessionTimeoutSec

Padrão: 0 (uses the 60 second default)

Plataforma: iOS e Android

Definido em: Inspector do Unity ou código

Exemplo de uso

singular.sessionTimeoutSec = 120;

shortlinkResolveTimeout

Propriedade SingularSDK.shortlinkResolveTimeout

Quanto tempo o SDK aguarda a resolução de um short link antes de desistir. Deixe em 0 para usar o padrão de 10 segundos.

Assinatura

public long shortlinkResolveTimeout

Padrão: 0 (uses the 10 second default)

Plataforma: iOS e Android

Definido em: Inspector do Unity ou código

Exemplo de uso

singular.shortlinkResolveTimeout = 15;

SingularAPIKey

Propriedade SingularSDK.SingularAPIKey

Sua SDK Key. Encontre-a no Singular em Developer Tools > SDK Integration > SDK Keys.

Não use aqui a Reporting API Key do Singular. Apenas a SDK Key da página SDK Integration funciona; qualquer outra impede silenciosamente que os dados cheguem ao Singular.

Assinatura

public string SingularAPIKey

Padrão: Obrigatório

Plataforma: iOS e Android

Definido em: Inspector do Unity ou código

Exemplo de uso

singular.SingularAPIKey = "YOUR_SDK_KEY";

SingularAPISecret

Propriedade SingularSDK.SingularAPISecret

Seu SDK Secret, emitido junto com a SDK Key na mesma página.

Assinatura

public string SingularAPISecret

Padrão: Obrigatório

Plataforma: iOS e Android

Definido em: Inspector do Unity ou código

Exemplo de uso

singular.SingularAPISecret = "YOUR_SDK_SECRET";

SKANEnabled

Propriedade SingularSDK.SKANEnabled

Registra o app para atribuição via SKAdNetwork e permite que o Singular gerencie os valores de conversão. Deixe ativado, a menos que outro SDK do seu app cuide do SKAdNetwork.

Assinatura

public bool SKANEnabled

Padrão: true

Plataforma: Somente iOS

Definido em: Inspector do Unity ou código

Exemplo de uso

singular.SKANEnabled = false;

waitForTrackingAuthorizationWithTimeoutInterval

Propriedade SingularSDK.waitForTrackingAuthorizationWithTimeoutInterval

Quantos segundos o SDK aguarda o usuário responder ao aviso do App Tracking Transparency antes de enviar a primeira sessão. Aguardar permite que a primeira sessão leve o IDFA quando o consentimento é concedido.

O IDFA só pode ser anexado à primeira sessão. Se a sessão for enviada antes de o usuário responder ao aviso, aquela instalação fica permanentemente sem IDFA. O Singular recomenda 300 segundos quando o app exibe o aviso de ATT.

Assinatura

public int waitForTrackingAuthorizationWithTimeoutInterval

Padrão: 0 (do not wait)

Plataforma: Somente iOS

Definido em: Inspector do Unity ou código

Exemplo de uso

singular.waitForTrackingAuthorizationWithTimeoutInterval = 300;