SDK do Flutter - Referência dos métodos do SDK

Documento

SDK do Flutter - Referência de métodos do SDK

Esta referência abrangente documenta todos os métodos disponíveis no SDK Singular para aplicativos Flutter. O SDK fornece funcionalidade para inicialização, rastreamento de eventos, relatórios de receita, atribuição, conformidade com a privacidade de dados e configuração. Cada método é apresentado com uma descrição, assinatura e exemplos práticos de uso para ajudar os desenvolvedores a integrar os recursos do SDK da Singular em seus aplicativos.

adRevenue

Método Singular.adRevenue

Rastreia eventos de receita de anúncios com informações detalhadas de dados de anúncios. Este método permite-lhe reportar as receitas geradas pelos anúncios apresentados na sua aplicação com vários parâmetros para categorizar e analisar o desempenho do anúncio.

Assinatura

static void adRevenue(SingularAdData? adData)

Exemplo de utilização

// Create ad data object
final adData = SingularAdData("AdMob", "USD", 0.05)
    .withNetworkName("Google")
    .withAdType("Rewarded")
    .withAdPlacementName("level_complete")
    .withAdUnitId("ca-app-pub-123456789/1234567890");

// Track ad revenue event
Singular.adRevenue(adData);

clearGlobalProperties

Método Singular.clearGlobalProperties

Remove todas as propriedades globais definidas anteriormente. Isto é útil quando é necessário repor as propriedades globais, por exemplo, quando um utilizador termina a sessão na sua aplicação.

Assinatura

static void clearGlobalProperties()

Exemplo de utilização

// Clear all global properties, for example when a user logs out
Singular.clearGlobalProperties();

createReferrerShortLink

Método Singular.createReferrerShortLink

Cria um link curto com informações do referenciador que podem ser usadas para compartilhamento e atribuição. Este método gera links rastreáveis que podem ser partilhados com os utilizadores, permitindo-lhe atribuir instalações e actividades a fontes de referência específicas.

Assinatura

static void createReferrerShortLink(String baseLink, String referrerName, String referrerId, Map args, ShortLinkCallback shortLinkCallback)

Exemplo de utilização

// Create a short link for referral
Singular.createReferrerShortLink(
    "https://sample.sng.link/B4tbm/v8fp?_dl=https%3A%2F%2Fabc.com",
    "John Doe", // Referrer Name
    "aq239897", // Referrer ID
    {
        "channel": "sms", 
        "campaign": "summer_promo"
    }, // Passthrough parameters
    (String? data, String? error) {
        if (error != null) {
            print("Error creating short link: $error");
        } else {
            print("Generated short link: $data");
            // Share the link with users
        }
    }
);

customRevenue

Método Singular.customRevenue

Rastreia um evento de receita personalizado com um nome de evento, moeda e valor especificados. Isto permite-lhe acompanhar eventos de receitas com nomes personalizados para um acompanhamento de receitas mais específico.

  • Os nomes de eventos são limitados a 32 caracteres ASCII. Para caracteres não-ASCII, o limite é de 32 bytes depois de convertidos para UTF-8.
  • Os códigos de moeda têm de estar em MAIÚSCULAS e respeitar o código de moeda ISO 4217 de três letras

Assinatura

static void customRevenue(String eventName, String currency, double amount)

Exemplo de utilização

// Track a custom revenue event
Singular.customRevenue("premium_subscription", "USD", 9.99);

customRevenueWithAllAttributes

Método Singular.customRevenueWithAllAttributes

Rastreia um evento de receita personalizado com um nome de evento, moeda, montante e informações detalhadas sobre o produto especificados. Isto permite um controlo abrangente das receitas com detalhes do produto.

  • Os nomes de eventos são limitados a 32 caracteres ASCII. Para caracteres não-ASCII, o limite é de 32 bytes depois de convertidos para UTF-8.
  • Os códigos de moeda têm de estar em MAIÚSCULAS e respeitar o código de moeda ISO 4217 de três letras

Assinatura

static void customRevenueWithAllAttributes(String eventName, String currency, double amount, String productSKU, String productName, String productCategory, int productQuantity, double productPrice)

Exemplo de utilização

// Track a custom revenue event with detailed product information
Singular.customRevenueWithAllAttributes(
    "item_purchased",
    "USD",
    19.98,
    "SKU123456",
    "Premium Sword",
    "Weapons",
    2,
    9.99
);

customRevenueWithAttributes

Método Singular.customRevenueWithAttributes

Rastreia um evento de receita personalizado com um nome de evento, moeda, montante e atributos personalizados adicionais especificados. Isto permite um controlo de receitas mais detalhado com parâmetros personalizados.

  • Os nomes de eventos são limitados a 32 caracteres ASCII. Para caracteres não-ASCII, o limite é de 32 bytes depois de convertidos para UTF-8.
  • Os códigos de moeda têm de estar em MAIÚSCULAS e respeitar o código de moeda ISO 4217 de três letras

Assinatura

static void customRevenueWithAttributes(String eventName, String currency, double amount, Map attributes)

Exemplo de utilização

// Track a custom revenue event with additional parameters
Singular.customRevenueWithAttributes(
    "in_app_purchase",
    "USD",
    5.99,
    {
        "product_id": "com.app.gems_pack_small",
        "quantity": 1,
        "transaction_id": "T12345678",
        "receipt_id": "R98765432"
    }
);

evento

Método Singular.event

Rastreia um evento simples com o nome especificado. Utilize este método para acompanhar as acções e o envolvimento do utilizador na sua aplicação.

  • Os nomes de eventos estão limitados a 32 caracteres ASCII. Para caracteres não-ASCII, o limite é de 32 bytes depois de convertidos para UTF-8.

Assinatura

static void event(String eventName)

Exemplo de utilização

// Track a simple event
Singular.event("level_completed");

eventWithArgs

Método Singular.eventWithArgs

Rastreia um evento com o nome especificado e atributos personalizados adicionais. Isto permite um seguimento mais detalhado do evento com parâmetros personalizados.

  • Os nomes dos eventos estão limitados a 32 caracteres ASCII. Para caracteres não-ASCII, o limite é de 32 bytes depois de convertidos para UTF-8.
  • Os nomes e valores de atributos de eventos estão limitados a 500 caracteres ASCII.

Assinatura

static void eventWithArgs(String eventName, Map args)

Exemplo de utilização

// Track an event with additional parameters
Singular.eventWithArgs(
    "level_completed",
    {
        "level_id": 5,
        "score": 12500,
        "time_spent": 120,
        "difficulty": "medium"
    }
);

getGlobalProperties

Método Singular.getGlobalProperties

Recupera todas as propriedades globais atualmente definidas. Este método devolve um Future que resolve para um Map que contém todas as propriedades globais que foram definidas para o SDK.

Assinatura

static Future getGlobalProperties()

Exemplo de utilização

// Get all global properties
Singular.getGlobalProperties()

getLimitDataSharing

Método Singular.getLimitDataSharing

Recupera o estado atual da limitação da partilha de dados. Este método devolve um Future que resolve para um booleano que indica se a partilha de dados está atualmente limitada.

Assinatura

static Future getLimitDataSharing()

Exemplo de utilização

// Check if data sharing is limited
Singular.getLimitDataSharing()

handlePushNotification

Método Singular.handlePushNotification

Processa uma carga útil de notificação push para atribuição. Este método deve ser chamado quando seu aplicativo recebe uma notificação push para permitir que o Singular a atribua corretamente. Este método está disponível apenas no iOS.

Assinatura

static void handlePushNotification(Map pushNotificationPayload)

Exemplo de uso

// Handle a received push notification
void onPushNotificationReceived(Map payload) {
  Singular.handlePushNotification(payload);
}

inAppPurchase

Método Singular.inAppPurchase

Este método requer o uso do pacote IAP do Flutter para gerenciar transações no seu aplicativo.

Rastreia um evento de compra in-app com o nome de evento especificado e dados de compra. Este método é usado para relatar compras in-app feitas dentro do seu aplicativo.

  • Os nomes de eventos são limitados a 32 caracteres ASCII. Para caracteres não-ASCII, o limite é de 32 bytes depois de convertidos para UTF-8.

Assinatura

static void inAppPurchase(String eventName, SingularIAP purchase)

Exemplo de uso

import 'package:singular_flutter_sdk/singular_iap.dart';

singularPurchase = new SingularIOSIAP(
   product.price,
   product.currencyCode,
   purchase.productId,
   purchase.purchaseId,
   purchase.verificationData.serverVerificationData);

singularPurchase = new SingularAndroidIAP(
   product.price,
   product.currencyCode,
   purchase.singature,
   purchase.verificationData.serverVerificationData);

Singular.inAppPurchase(eventName, singularPurchase);

inAppPurchaseWithAttributes

Método Singular.inAppPurchaseWithAttributes

Este método requer o uso do pacote IAP do Flutter para gerenciar transações no seu aplicativo.

Rastreia um evento de compra in-app com o nome de evento especificado, dados de compra e atributos personalizados adicionais. Isso permite um rastreamento de compra mais detalhado com parâmetros personalizados.

  • Os nomes de eventos estão limitados a 32 caracteres ASCII. Para caracteres não-ASCII, o limite é de 32 bytes depois de convertidos para UTF-8.

Assinatura

static void inAppPurchaseWithAttributes(String eventName, SingularIAP purchase, Map attributes)

Exemplo de utilização

import 'package:singular_flutter_sdk/singular_iap.dart';

singularPurchase = new SingularIOSIAP(
   product.price,
   product.currencyCode,
   purchase.productId,
   purchase.purchaseId,
   purchase.verificationData.serverVerificationData);

singularPurchase = new SingularAndroidIAP(
   product.price,
   product.currencyCode,
   purchase.singature,
   purchase.verificationData.serverVerificationData);

// Track the purchase with additional attributes
Singular.inAppPurchaseWithAttributes(
    eventName, 
    singularPurchase,
    purchase,
    {
        "user_level": 42,
        "is_first_purchase": true,
        "gems_balance": 1500
    }
);

isAllTrackingStopped

Método Singular.isAllTrackingStopped

Verifica se todo o seguimento está atualmente parado. Este método devolve um Future que resolve para um booleano indicando se o rastreio está atualmente parado.

Assinatura

static Future isAllTrackingStopped()

Exemplo de utilização

// Check if tracking is stopped
Singular.isAllTrackingStopped()

limitDataSharing

Método Singular.limitDataSharing

Define o estado de limitação da partilha de dados. Utilize este método para limitar a partilha de dados com base no consentimento do utilizador ou em requisitos de privacidade.

Assinatura

static void limitDataSharing(bool shouldLimitDataSharing)

Exemplo de utilização

// To limit data sharing (e.g., when user opts out) 
Singular.limitDataSharing(true);

// To enable full data sharing (e.g., when user opts in)
Singular.limitDataSharing(false);

registerDeviceTokenForUninstall

Método Singular.registerDeviceTokenForUninstall

Regista o token de dispositivo para rastreio de desinstalação. Este método deve ser chamado com o token de notificação push para ativar o acompanhamento da desinstalação.

Assinatura

static void registerDeviceTokenForUninstall(String deviceToken)

Exemplo de utilização

// Register device token for uninstall tracking
Singular.registerDeviceTokenForUninstall(token);

resumeAllTracking

Método Singular.resumeAllTracking

Retoma todas as actividades de seguimento que foram anteriormente interrompidas. Utilize este método para reativar o seguimento depois de este ter sido interrompido.

Assinatura

static void resumeAllTracking()

Exemplo de utilização

// Resume tracking, for example when user opts back in
Singular.resumeAllTracking();

setCustomUserId

Método Singular.setCustomUserId

Define um ID de usuário personalizado para o usuário atual. Isto permite-lhe associar os dados Singular ao seu próprio sistema de identificação de utilizadores.

Assinatura

static void setCustomUserId(String customUserId)

Exemplo de uso

// Set custom user ID after user logs in
Singular.setCustomUserId(customUserId);

setDeviceCustomUserId

Método Singular.setDeviceCustomUserId

Define um ID de usuário personalizado no nível do dispositivo. Isto permite-lhe associar os dados Singular ao seu próprio sistema de identificação de utilizadores ao nível do dispositivo.

Assinatura

static void setDeviceCustomUserId(String customUserId)

Exemplo de uso

// Set device-level custom user ID
Singular.setDeviceCustomUserId(customUserId);

setFCMDeviceToken

Método Singular.setFCMDeviceToken

Define o token do dispositivo Firebase Cloud Messaging (FCM) para notificações push. Isso é usado para rastreamento de desinstalação e atribuição de notificação por push em dispositivos Android.

Assinatura

static void setFCMDeviceToken(String fcmToken)

Exemplo de uso

// Set FCM token when received from Firebase
void onFCMTokenReceived(String token) {
    Singular.setFCMDeviceToken(token);
}

setGlobalProperty

Método Singular.setGlobalProperty

Define uma propriedade global que será enviada com todos os eventos. Isto permite-lhe adicionar atributos consistentes a todos os eventos sem os especificar de cada vez.

Assinatura

static Future setGlobalProperty(String key, String value, bool overrideExisting)

Exemplo de utilização

// Set a global property
Singular.setGlobalProperty("user_tier", "premium", true).then((isSuccess) {
    print("Global property set successfully: $isSuccess");
});

skanGetConversionValue

Método Singular.skanGetConversionValue

Recupera o valor de conversão atual de SKAdNetwork. Este método é específico do iOS e devolve um Future que corresponde ao valor de conversão atual utilizado para a atribuição de SKAdNetwork.

Assinatura

static Future skanGetConversionValue()

Exemplo de utilização

// Get the current SKAdNetwork conversion value
if (Platform.isIOS) {
    Singular.skanGetConversionValue().then((conversionValue) {
        print("Current conversion value: $conversionValue");
    });
}

skanRegisterAppForAdNetworkAttribution

Método Singular.skanRegisterAppForAdNetworkAttribution

Regista a aplicação para atribuição de SKAdNetwork. Este método é específico do iOS e deve ser chamado para ativar a atribuição de SKAdNetwork.

Assinatura

static void skanRegisterAppForAdNetworkAttribution()

Exemplo de utilização

// Register for SKAdNetwork attribution
if (Platform.isIOS) {
    Singular.skanRegisterAppForAdNetworkAttribution();
}

skanUpdateConversionValue

Método Singular.skanUpdateConversionValue

Actualiza o valor de conversão de SKAdNetwork. Este método é específico do iOS e permite-lhe atualizar manualmente o valor de conversão utilizado para a atribuição de SKAdNetwork.

Assinatura

static Future skanUpdateConversionValue(int conversionValue)

Exemplo de utilização

// Update the SKAdNetwork conversion value
if (Platform.isIOS) {
    Singular.skanUpdateConversionValue(5).then((isSuccess) {
        print("Conversion value updated successfully: $isSuccess");
    });
}

skanUpdateConversionValues

Método Singular.skanUpdateConversionValues

Actualiza os valores de conversão de SKAdNetwork com parâmetros adicionais. Este método é específico do iOS 16.1+ e permite-lhe atualizar os valores finos, grossos e de bloqueio para atribuição de SKAdNetwork 4.0.

Assinatura

static void skanUpdateConversionValues(int conversionValue, int coarse, bool lock)

Exemplo de utilização

// Update the SKAdNetwork 4.0 conversion values
if (Platform.isIOS) {
    Singular.skanUpdateConversionValues(
        5,       // fine value (0-63)
        1,       // coarse value (0=low, 1=medium, 2=high)
        false    // lock
    );
}

iniciar

Método Singular.start

Inicializa o Singular SDK com a configuração fornecida. Este é o primeiro método que deve ser chamado para começar a usar o Singular SDK.

Assinatura

static void start(SingularConfig config)

Exemplo de uso

// Create configuration object
SingularConfig config = new SingularConfig('SDK KEY', 'SDK SECRET');

// Configure additional options if needed
config.customUserId = "user-123456";
config.sessionTimeout = 60;

// Initialize the SDK
Singular.start(config);

stopAllTracking

Método Singular.stopAllTracking

Interrompe todas as atividades de rastreamento. Utilize este método para desativar o rastreio quando os utilizadores optam por não o fazer ou para garantir a conformidade com a privacidade.

Assinatura

static void stopAllTracking()

Exemplo de utilização

// Stop tracking, for example when user opts out.
Singular.stopAllTracking();

trackingOptIn

Método Singular.trackingOptIn

Indica que o utilizador optou por aceitar o rastreio. Chame este método quando o utilizador consentir explicitamente no rastreio e na recolha de dados.

Assinatura

static void trackingOptIn()

Exemplo de utilização

// User has opted in to tracking
Singular.trackingOptIn();

trackingUnder13

Método Singular.trackingUnder13

Indica que o utilizador tem menos de 13 anos de idade. Chame este método para cumprir a COPPA e outros regulamentos para utilizadores com menos de 13 anos.

Assinatura

static void trackingUnder13()

Exemplo de utilização

// Notifies Singular the User is under 13 years old, GDPR_UNDER_13 flag applied.
Singular.trackingunder13();

unsetCustomUserId

Método Singular.unsetCustomUserId

Remove o ID de utilizador personalizado definido anteriormente. Chame este método quando o utilizador terminar a sessão ou quando já não pretender associar eventos ao ID de utilizador atual.

Assinatura

static void unsetCustomUserId()

Exemplo de utilização

// Clear custom user ID when user logs out
Singular.unsetCustomUserId();

unsetGlobalProperty

Método Singular.unsetGlobalProperty

Remove uma propriedade global previamente definida. Chame este método quando já não quiser que uma propriedade global específica seja enviada com eventos.

Assinatura

static void unsetGlobalProperty(String key)

Exemplo de uso

// Remove a global property
Singular.unsetGlobalProperty("user_tier");