SDK de Flutter - Referencia de métodos del SDK

Documento

SDK de Flutter - Referencia de métodos del SDK

Esta completa referencia documenta todos los métodos disponibles en el SDK de Singular para aplicaciones Flutter. El SDK proporciona funcionalidades para la inicialización, el seguimiento de eventos, los informes de ingresos, la atribución, el cumplimiento de la privacidad de datos y la configuración. Cada método se presenta con una descripción, firma y ejemplos prácticos de uso para ayudar a los desarrolladores a integrar las capacidades del SDK de Singular en sus aplicaciones.

adRevenue

Método Singular.adRevenue

Realiza un seguimiento de los eventos de ingresos publicitarios con información detallada de los datos publicitarios. Este método le permite informar de los ingresos generados por los anuncios mostrados en su aplicación con varios parámetros para categorizar y analizar el rendimiento de los anuncios.

Firma

static void adRevenue(SingularAdData? adData)

Ejemplo de uso

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

Singular.clearGlobalProperties Método

Elimina todas las propiedades globales establecidas previamente. Esto resulta útil cuando es necesario restablecer las propiedades globales, por ejemplo, cuando un usuario cierra la sesión de la aplicación.

Firma

static void clearGlobalProperties()

Ejemplo de uso

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

createReferrerEnlaceCorto

Singular.createReferrerShortLink Método

Crea un enlace corto con información de referencia que puede utilizarse para compartir y atribuir. Este método genera enlaces rastreables que pueden compartirse con los usuarios, permitiéndole atribuir instalaciones y actividades a fuentes de referencia específicas.

Firma

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

Ejemplo de uso

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

Singular.customRevenue Método

Realiza el seguimiento de un evento de ingresos personalizado con un nombre de evento, moneda e importe especificados. Esto le permite rastrear eventos de ingresos con nombres personalizados para un rastreo de ingresos más específico.

  • Los Nombres de Eventos están limitados a 32 caracteres ASCII. Para caracteres no ASCII, el límite es de 32 bytes una vez convertidos a UTF-8.
  • Los códigos de divisa deben escribirse TODO EN MAYÚSCULAS y ajustarse al código de divisa ISO 4217 de tres letras.

Firma

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

Ejemplo de uso

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

customRevenueWithAllAttributes

Singular.customRevenueWithAllAttributes Método

Realiza el seguimiento de un evento de ingresos personalizado con un nombre de evento, divisa, importe e información detallada del producto especificados. Esto permite un seguimiento exhaustivo de los ingresos con detalles del producto.

  • Los nombres de evento están limitados a 32 caracteres ASCII. Para caracteres no ASCII, el límite es de 32 bytes una vez convertidos a UTF-8.
  • Los códigos de moneda deben escribirse TODO EN MAYÚSCULAS y ajustarse al código de moneda ISO 4217 de tres letras.

Firma

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

Ejemplo de uso

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

customRevenueWithAttributes

Singular.customRevenueWithAttributes Método

Realiza el seguimiento de un evento de ingresos personalizado con un nombre de evento, moneda, importe y atributos personalizados adicionales especificados. Esto permite un seguimiento más detallado de los ingresos con parámetros personalizados.

  • Los Nombres de Evento están limitados a 32 caracteres ASCII. Para caracteres no ASCII, el límite es de 32 bytes una vez convertidos a UTF-8.
  • Los códigos de divisa deben escribirse TODO EN MAYÚSCULAS y ajustarse al código de divisa ISO 4217 de tres letras.

Firma

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

Ejemplo de uso

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

Singular.event Método

Registra un evento simple con el nombre especificado. Utilice este método para realizar un seguimiento de las acciones del usuario y la participación dentro de su aplicación.

  • Los nombres de eventos están limitados a 32 caracteres ASCII. Para caracteres no ASCII, el límite es de 32 bytes una vez convertidos a UTF-8.

Firma

static void event(String eventName)

Ejemplo de uso

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

eventWithArgs

Singular.eventWithArgs Método

Rastrea un evento con el nombre especificado y atributos personalizados adicionales. Esto permite un seguimiento de eventos más detallado con parámetros personalizados.

  • Los nombres de eventos están limitados a 32 caracteres ASCII. Para caracteres no ASCII, el límite es de 32 bytes una vez convertidos a UTF-8.
  • Los nombres de atributos de eventos y los valores de atributos están limitados a 500 caracteres ASCII.

Firma

static void eventWithArgs(String eventName, Map args)

Ejemplo de uso

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

getGlobalProperties

Singular.getGlobalProperties Método

Recupera todas las propiedades globales configuradas actualmente. Este método devuelve un Future que resuelve a un Map que contiene todas las propiedades globales que se han establecido para el SDK.

Firma

static Future getGlobalProperties()

Ejemplo de uso

// Get all global properties
Singular.getGlobalProperties()

getLimitDataSharing

Singular.getLimitDataSharing Método

Obtiene el estado actual de la limitación del uso compartido de datos. Este método devuelve un Future que se resuelve en un booleano que indica si la compartición de datos está limitada actualmente.

Firma

static Future getLimitDataSharing()

Ejemplo de uso

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

handlePushNotification

Singular.handlePushNotification Método

Procesa la carga útil de una notificación push para su atribución. Este método debe invocarse cuando la aplicación recibe una notificación push para que Singular pueda atribuirla correctamente. Este método sólo está disponible en iOS.

Firma

static void handlePushNotification(Map pushNotificationPayload)

Ejemplo de uso

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

inAppPurchase

Método Singular.inAppPurchase

Este método requiere el uso del paquete Flutter IAP para gestionar las transacciones en tu aplicación.

Rastrea un evento de compra dentro de la aplicación con el nombre de evento y los datos de compra especificados. Este método se utiliza para informar de las compras realizadas dentro de la aplicación.

  • Los nombres de evento están limitados a 32 caracteres ASCII. Para caracteres no ASCII, el límite es de 32 bytes una vez convertidos a UTF-8.

Firma

static void inAppPurchase(String eventName, SingularIAP purchase)

Ejemplo 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);

inAppPurchaseConAtributos

Singular.inAppPurchaseWithAttributes Método

Este método requiere el uso del paquete Flutter IAP para gestionar las transacciones en su aplicación.

Realiza el seguimiento de un evento de compra dentro de la aplicación con el nombre de evento especificado, los datos de compra y atributos personalizados adicionales. Esto permite un seguimiento más detallado de la compra con parámetros personalizados.

  • Los nombres de evento están limitados a 32 caracteres ASCII. Para caracteres no ASCII, el límite es de 32 bytes una vez convertidos a UTF-8.

Firma

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

Ejemplo 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);

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

isAllTrackingStopped

Singular.isAllTrackingStopped Método

Comprueba si se ha detenido todo el seguimiento. Este método devuelve un valor Future que se resuelve en un booleano que indica si el seguimiento se ha detenido.

Firma

static Future isAllTrackingStopped()

Ejemplo de uso

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

limitDataSharing

Singular.limitDataSharing Método

Establece el estado de limitación del uso compartido de datos. Utiliza este método para limitar el uso compartido de datos en función del consentimiento del usuario o de requisitos de privacidad.

Firma

static void limitDataSharing(bool shouldLimitDataSharing)

Ejemplo de uso

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

Singular.registerDeviceTokenForUninstall Método

Registra el token del dispositivo para el seguimiento de la desinstalación. Este método debe invocarse con el token de notificación push para habilitar el seguimiento de la desinstalación.

Firma

static void registerDeviceTokenForUninstall(String deviceToken)

Ejemplo de uso

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

resumeAllTracking

Singular.resumeAllTracking Método

Reanuda todas las actividades de seguimiento que se detuvieron previamente. Utilice este método para volver a activar el seguimiento después de haberlo detenido.

Firma

static void resumeAllTracking()

Ejemplo de uso

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

setCustomUserId

Singular.setCustomUserId Método

Establece un ID de usuario personalizado para el usuario actual. Esto le permite asociar los datos de Singular con su propio sistema de identificación de usuarios.

Firma

static void setCustomUserId(String customUserId)

Ejemplo de uso

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

setDeviceCustomUserId

Singular.setDeviceCustomUserId Método

Establece un ID de usuario personalizado a nivel de dispositivo. Esto le permite asociar los datos de Singular con su propio sistema de identificación de usuarios a nivel de dispositivo.

Firma

static void setDeviceCustomUserId(String customUserId)

Ejemplo de uso

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

setFCMDeviceToken

Singular.setFCMDeviceToken Método

Establece el token de dispositivo de Firebase Cloud Messaging (FCM) para las notificaciones push. Se utiliza para el seguimiento de la desinstalación y la atribución de notificaciones push en dispositivos Android.

Firma

static void setFCMDeviceToken(String fcmToken)

Ejemplo de uso

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

setGlobalProperty

Singular.setGlobalProperty Método

Establece una propiedad global que se enviará con todos los eventos. Esto te permite añadir atributos consistentes a todos los eventos sin tener que especificarlos cada vez.

Firma

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

Ejemplo de uso

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

skanGetConversionValue

Singular.skanGetConversionValue Método

Recupera el valor de conversión actual de SKAdNetwork. Este método es específico de iOS y devuelve un Futuro que resuelve el valor de conversión actual utilizado para la atribución de SKAdNetwork.

Firma

static Future skanGetConversionValue()

Ejemplo de uso

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

skanRegisterAppForAdNetworkAttribution

Singular.skanRegisterAppForAdNetworkAttribution Método

Registra la aplicación para la atribución SKAdNetwork. Este método es específico de iOS y debe invocarse para activar la atribución de SKAdNetwork.

Firma

static void skanRegisterAppForAdNetworkAttribution()

Ejemplo de uso

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

skanUpdateConversionValue

Singular.skanUpdateConversionValue Método

Actualiza el valor de conversión de SKAdNetwork. Este método es específico de iOS y permite actualizar manualmente el valor de conversión utilizado para la atribución SKAdNetwork.

Firma

static Future skanUpdateConversionValue(int conversionValue)

Ejemplo de uso

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

skanUpdateConversionValues

Singular.skanUpdateConversionValues Método

Actualiza los valores de conversión de SKAdNetwork con parámetros adicionales. Este método es específico de iOS 16.1+ y permite actualizar los valores fino, grueso y de bloqueo para la atribución SKAdNetwork 4.0.

Firma

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

Ejemplo de uso

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

start

Singular.start Método

Inicializa el SDK de Singular con la configuración proporcionada. Este es el primer método que debe llamar para empezar a utilizar Singular SDK.

Firma

static void start(SingularConfig config)

Ejemplo 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

Singular.stopAllTracking Método

Detiene todas las actividades de seguimiento. Utilice este método para desactivar el seguimiento cuando los usuarios opten por no participar o por motivos de privacidad.

Firma

static void stopAllTracking()

Ejemplo de uso

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

trackingOptIn

Método Singular.trackingOptIn

Indica que el usuario ha aceptado el seguimiento. Llame a este método cuando el usuario consienta explícitamente el seguimiento y la recopilación de datos.

Firma

static void trackingOptIn()

Ejemplo de uso

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

trackingUnder13

Método Singular.trackingUnder13

Indica que el usuario es menor de 13 años. Llame a este método para cumplir con COPPA y otras regulaciones para usuarios menores de 13 años.

Firma

static void trackingUnder13()

Ejemplo de uso

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

unsetCustomUserId

Singular.unsetCustomUserId Método

Elimina el ID de usuario personalizado establecido previamente. Llame a este método cuando el usuario cierre la sesión o cuando ya no desee asociar eventos al ID de usuario actual.

Firma

static void unsetCustomUserId()

Ejemplo de uso

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

unsetGlobalProperty

Singular.unsetGlobalProperty Método

Elimina una propiedad global establecida previamente. Llame a este método cuando ya no desee que una propiedad global específica se envíe con los eventos.

Firma

static void unsetGlobalProperty(String key)

Ejemplo de uso

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