Flutter SDK - Referência de métodos de configuração

Documento

SDK do Flutter - Referência de Métodos de Configuração

Este documento fornece uma referência abrangente para todas as opções de configuração disponíveis no SDK Singular para aplicativos Flutter. O objeto SingularConfig permite personalizar o comportamento do SDK, incluindo configurações de rastreamento, opções de atribuição, controles de privacidade e muito mais. Cada método de configuração é apresentado com uma descrição, assinatura e exemplos práticos de uso.

clipboardAttribution

Propriedade SingularConfig.clipboardAttribution

Habilita a atribuição da área de transferência para o SDK. Quando ativada, o SDK verificará a área de transferência do dispositivo em busca de links de atribuição durante a inicialização.

Assinatura

bool clipboardAttribution = false;

Exemplo de uso

// Enable clipboard attribution
config.clipboardAttribution = true;

collectOAID

Propriedade SingularConfig.collectOAID

Permite a recolha de OAID (Open Anonymous Device Identifier) em dispositivos Android suportados. Trata-se de um identificador alternativo utilizado em algumas regiões, nomeadamente na China.

Assinatura

bool collectOAID = false;

Exemplo de utilização

// Enable OAID collection
config.collectOAID = true;

conversionValueUpdatedCallback

Propriedade SingularConfig.conversionValueUpdatedCallback

Define uma função de retorno de chamada a ser chamada quando o valor de conversão SKAdNetwork é atualizado. Isto é específico do iOS e permite-lhe reagir às alterações do valor de conversão.

Assinatura

ConversionValueUpdatedCallback? conversionValueUpdatedCallback;

Exemplo de utilização

// Set conversion value updated callback
config.conversionValueUpdatedCallback = (int conversionValue) {
    print("Conversion value updated to: $conversionValue");
    // Update UI or take other actions based on the new conversion value
};

conversionValuesUpdatedCallback

Propriedade SingularConfig.conversionValuesUpdatedCallback

Define uma função de retorno de chamada a ser chamada quando os valores de conversão da SKAdNetwork 4.0 são actualizados. Isto é específico do iOS 16.1+ e permite-lhe reagir a alterações nos valores finos, grossos e de bloqueio.

Assinatura

ConversionValuesUpdatedCallback? conversionValuesUpdatedCallback;

Exemplo de utilização

// Set conversion values updated callback for SKAdNetwork 4.0
config.conversionValuesUpdatedCallback = (int conversionValue, int coarse, bool lock) {
    print("Conversion values updated - Fine: $conversionValue, Coarse: $coarse, Lock: $lock");
    // Update UI or take other actions based on the new conversion values
};

customSdid

Propriedade SingularConfig.customSdid

Caraterística da empresa: Define um SDID (Singular Device ID) personalizado. Isso permite que o usuário forneça seu próprio identificador de dispositivo em vez de usar o gerado pelo Singular.

Assinatura

String? customSdid;

Exemplo de uso

// Set custom SDID
config.customSdid = "custom-device-id-12345";

customUserId

Propriedade SingularConfig.customUserId

Define um ID de usuário personalizado durante a inicialização do SDK. Isto permite-lhe associar os dados Singular ao seu próprio sistema de identificação de utilizadores desde o início.

Assinatura

String? customUserId;

Exemplo de uso

// Set custom user ID
config.customUserId = "user_123456";

deviceAttributionCallback

Propriedade SingularConfig.deviceAttributionCallback

Caraterística BETA: Define uma função de retorno de chamada a ser chamada quando os dados de atribuição do dispositivo estiverem disponíveis. Isto permite-lhe aceder aos dados de atribuição assim que estiverem disponíveis.

Assinatura

DeviceAttributionCallback? deviceAttributionCallback;

Exemplo de uso

// Set device attribution callback
config.deviceAttributionCallback = (Map attributionData) {
    print("Attribution data received: $attributionData");
    
    // Access specific attribution parameters
    final campaign = attributionData["campaign"];
    final source = attributionData["source"];
    final adSet = attributionData["adSet"];
    
    // Update UI or take actions based on attribution data
    if (campaign != null) {
        showCampaignSpecificContent(campaign);
    }
};

didSetSdidCallback

Propriedade SingularConfig.didSetSdidCallback

Funcionalidade empresarial: Define uma função de retorno de chamada a ser chamada quando o SDID (Singular Device ID) é definido. Isto permite-lhe ser notificado quando o SDID personalizado tiver sido definido com êxito.

Assinatura

SdidAccessorCallback? didSetSdidCallback;

Exemplo de utilização

// Set custom SDID
config.customSdid = "custom-device-id-12345";

// Set callback for when SDID is set
config.didSetSdidCallback = (String sdid) {
    print("SDID was set: $sdid");
    // Perform any actions needed after SDID is set
};

enableLogging

Propriedade SingularConfig.enableLogging

Ativa o registo detalhado para o SDK. Quando ativado, o SDK produzirá logs detalhados que podem ajudar na depuração.

Assinatura

bool enableLogging = false;

Exemplo de uso

// Enable logging for debugging
config.enableLogging = true;

espDomains

Propriedade SingularConfig.espDomains

Define os domínios ESP (Fornecedor de serviços de correio eletrónico) para atribuição de correio eletrónico. Isto permite-lhe especificar quais os domínios de correio eletrónico que devem ser considerados para atribuição.

Assinatura

List espDomains = [];

Exemplo de utilização

// Set ESP domains for email attribution
config.espDomains = [
    "mailchimp.com",
    "sendgrid.net",
    "campaign-monitor.com"
];

facebookAppId

Propriedade SingularConfig.facebookAppId

Define a ID do aplicativo do Facebook para atribuição do Facebook. Isso permite que o SDK atribua instalações e eventos de campanhas do Facebook.

Assinatura

String? facebookAppId;

Exemplo de uso

// Set Facebook App ID for attribution
config.facebookAppId = "123456789012345";

imei

Propriedade SingularConfig.imei

Define o IMEI (International Mobile Equipment Identity) para o dispositivo. Esta propriedade é normalmente utilizada em mercados onde o IMEI é um identificador comum para atribuição.

Assinatura

String? imei;

Exemplo de utilização

// Set IMEI (only if you have proper permission to access it)
config.imei = "123456789012345";

limitDataSharing

Propriedade SingularConfig.limitDataSharing

Define o estado de limitação da partilha de dados durante a inicialização do SDK. Utilize esta propriedade para limitar a partilha de dados com base no consentimento do utilizador ou em requisitos de privacidade.

Assinatura

bool? limitDataSharing;

Exemplo de utilização

// Get user consent status
bool hasUserConsent = getUserConsentStatus();

// Set data sharing limitation based on consent
config.limitDataSharing = !hasUserConsent;

limitedIdentifiersEnabled

Propriedade SingularConfig.limitedIdentifiersEnabled

Ativa ou desactiva a utilização de identificadores limitados. Esta opção afecta a forma como o SDK recolhe e utiliza identificadores de dispositivos para rastreio e atribuição.

Assinatura

bool limitedIdentifiersEnabled = false;

Exemplo de utilização

// Enable limited identifiers mode
config.limitedIdentifiersEnabled = true;

logLevel

SingularConfig.logLevel Propriedade

Define o nível de registo para o SDK. Isto controla a verbosidade dos registos gerados pelo SDK. O valor predefinido é -1 (sem registo). Os valores comuns são: 0 (erro), 1 (aviso), 2 (info), 3 (debug), 4 (verbose).

Assinatura

int logLevel = -1;

Exemplo de utilização

// Set log level to debug
config.logLevel = 3;

manualSkanConversionManagement

Propriedade SingularConfig.manualSkanConversionManagement

Permite a gestão manual dos valores de conversão da SKAdNetwork. Quando activada, o SDK não actualizará automaticamente os valores de conversão, permitindo-lhe controlá-los manualmente.

Assinatura

bool manualSkanConversionManagement = false;

Exemplo de utilização

// Enable manual SKAdNetwork conversion management
config.manualSkanConversionManagement = true;

pushNotificationsLinkPaths

Propriedade SingularConfig.pushNotificationsLinkPaths

Define os caminhos para procurar links profundos em cargas de notificação push. Isso ajuda o SDK a encontrar e processar links de atribuição em notificações push.

Assinatura

List<List<String>> pushNotificationsLinkPaths = [[]];

Exemplo de uso

// Set push notification link paths
config.pushNotificationsLinkPaths = [
    ["data", "deeplink"],
    ["notification", "data", "url"],
    ["custom", "link"]
];

sdidReceivedCallback

Propriedade SingularConfig.sdidReceivedCallback

Caraterística da empresa: Define uma função de retorno de chamada a ser chamada quando o SDID (Singular Device ID) é recebido. Isto permite-lhe aceder ao SDID logo que este esteja disponível.

Assinatura

SdidAccessorCallback? sdidReceivedCallback;

Exemplo de utilização

// Set callback for when SDID is received
config.sdidReceivedCallback = (String sdid) {
    print("SDID received: $sdid");
    // Store or use the SDID as needed
    storeDeviceIdentifier(sdid);
};

sessionTimeout

Propriedade SingularConfig.sessionTimeout

Define o tempo limite da sessão em segundos. Isto determina quanto tempo dura uma sessão de utilizador depois de a aplicação passar para segundo plano. O valor padrão é -1, que usa o tempo limite padrão do SDK (60 segundos).

Assinatura

double sessionTimeout = -1;

Exemplo de utilização

// Set session timeout to 2 minutes
config.sessionTimeout = 120;

shortLinkResolveTimeOut

Propriedade SingularConfig.shortLinkResolveTimeOut

Define o tempo limite em segundos para a resolução de links curtos. Isso determina quanto tempo o SDK aguardará a resolução de um link curto antes de continuar com a inicialização. O valor padrão é 10 segundos.

Assinatura

double shortLinkResolveTimeOut = 10.0;

Exemplo de uso

// Set short link resolve timeout to 15 seconds
config.shortLinkResolveTimeOut = 15.0;

singularLinksHandler

SingularConfig.singularLinksHandler Propriedade

Define uma função de retorno de chamada para lidar com deep links processados pelo Singular. Isso permite que seu aplicativo responda a deep links usados na atribuição.

Assinatura

SingularLinksHandler? singularLinksHandler;

Exemplo de uso

// Set singular links handler
config.singularLinksHandler = (SingularLinkParams params) {
    // Check if we have a deep link
    if (params.deeplink != null) {
        print("Deep link received: ${params.deeplink}");
        
        // Navigate based on the deep link
        navigateToScreen(params.deeplink!);
    }
    
    // Check if this is a deferred deep link
    if (params.isDeferred == true) {
        print("This is a deferred deep link");
    }
    
    // Access passthrough parameters
    if (params.passthrough != null) {
        print("Passthrough data: ${params.passthrough}");
    }
    
    // Access all URL parameters from the OpenURL/Deeplink. Does not work with Deferred Deep Links.
    if (params.urlParameters != null) {
        print("URL parameters: ${params.urlParameters}");
    }
};

skAdNetworkEnabled

Propriedade SingularConfig.skAdNetworkEnabled

Habilita ou desabilita o suporte a SKAdNetwork. Isto é específico do iOS e controla se o SDK irá utilizar a SKAdNetwork da Apple para atribuição. O valor predefinido é true.

Assinatura

bool skAdNetworkEnabled = true;

Exemplo de utilização

// Disable SKAdNetwork support if needed
config.skAdNetworkEnabled = false;

waitForTrackingAuthorizationWithTimeoutInterval

Propriedade SingularConfig.waitForTrackingAuthorizationWithTimeoutInterval

Define o intervalo de tempo limite em segundos para aguardar a resposta de autorização de rastreamento do usuário no iOS 14+. Isso determina quanto tempo o SDK aguardará a resposta do prompt ATT antes de continuar com a inicialização. O valor padrão é 0, o que significa que o SDK não aguardará a resposta do prompt ATT.

Assinatura

int waitForTrackingAuthorizationWithTimeoutInterval = 0;

Exemplo de utilização

// Wait up to 5 seconds for ATT prompt response
config.waitForTrackingAuthorizationWithTimeoutInterval = 5;

withGlobalProperty

Método SingularConfig.withGlobalProperty

Define uma propriedade global durante a inicialização do SDK. Esta propriedade será enviada com todos os eventos monitorizados pelo SDK. Este é um método em vez de uma propriedade, permitindo a configuração encadeada.

Assinatura

void withGlobalProperty(String key, String value, bool overrideExisting)

Exemplo de uso

// Add global properties
config.withGlobalProperty("app_version", "1.2.3", true);
config.withGlobalProperty("user_type", "free", true);

Exemplo de configuração completa

Configuração abrangente do SDK

O exemplo a seguir demonstra como criar uma configuração abrangente definindo várias propriedades e métodos de configuração juntos.

Exemplo completo

SingularConfig config = new SingularConfig('SDK KEY', 'SDK SECRET');
config.waitForTrackingAuthorizationWithTimeoutInterval = 60;
config.customUserId = "user_123456"; // Set a custom user ID for tracking
config.withGlobalProperty("key1", "value1", true);
config.limitDataSharing = false; // Allow data sharing (set to true for compliance if needed)
config.facebookAppId = "123456789012345"; // Optional: For Facebook integration
config.singularLinksHandler = (SingularLinkParams params) {
     print('Received deferred deeplink: ');
     deeplinkParams['deeplink'] = params.deeplink;
     deeplinkParams['passthrough'] = params.passthrough;
     deeplinkParams['isDeferred'] = params.isDeferred;
};

Singular.start(config);