SDK de Flutter - Referencia de métodos
Esta completa referencia documenta todos los métodos disponibles en el SDK de Singular para aplicaciones Flutter. El SDK proporciona funcionalidad para la inicialización, seguimiento de eventos, informes de ingresos, atribución, cumplimiento de privacidad de datos y 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 Flutter.
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, incluidos los datos de la red publicitaria, la información de colocación y los importes de los ingresos.
Firma
static void adRevenue(SingularAdData adData)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
import 'package:singular_flutter_sdk/singular_ad_data.dart';
// Create ad data object
SingularAdData adData = SingularAdData(
'AdMob',
'USD',
0.99
)
..withAdPlatfom('Android')
..withAdType('Rewarded')
..withAdGroupId('group_123')
..withAdGroupName('Rewarded Video Group')
..withAdGroupType('rewarded_video')
..withImpressionId('impression_abc123')
..withAdPlacementName('main_menu')
..withAdUnitId('ca-app-pub-123456789')
..withAdUnitName('Main Menu Rewarded Video');
// Track the ad revenue
Singular.adRevenue(adData);
clearGlobalProperties
Singular.clearGlobalProperties Método
Elimina todas las propiedades globales que se hayan establecido. Las propiedades globales son pares clave-valor que se añaden automáticamente a todos los eventos seguidos por el SDK.
Firma
static void clearGlobalProperties()
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Clear all global properties
Singular.clearGlobalProperties();
createReferrerEnlaceCorto
Singular.createReferrerShortLink Método
Crea un enlace corto Singular para el seguimiento de referidos. Este método genera un enlace corto que los usuarios pueden compartir para realizar un seguimiento de la atribución de referencias.
Firma
static void createReferrerShortLink(
String baseLink,
String referrerName,
String referrerId,
Map<String, String> passthroughParams,
ShortLinkCallback completionHandler
)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Create a referrer short link
Singular.createReferrerShortLink(
'https://yourapp.sng.link/A1b2c',
'John Doe',
'user_12345',
{
'promo_code': 'SUMMER2025',
'campaign': 'referral_program'
},
(String? shortLink, String? error) {
if (error != null) {
print('Error creating short link: $error');
} else {
print('Short link created: $shortLink');
}
}
);
customRevenue
Método Singular.customRevenue
Realiza un seguimiento de los eventos de ingresos personalizados con un nombre de evento, una divisa y un importe especificados. Este método se utiliza para realizar un seguimiento de los ingresos que no están relacionados con las compras dentro de la aplicación o los ingresos por publicidad.
Firma
static void customRevenue(
String eventName,
String currency,
double amount
)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Track custom revenue event
Singular.customRevenue('Subscription_Purchase', 'USD', 9.99);
customRevenueWithAttributes
Método Singular.customRevenueWithAttributes
Realiza un seguimiento de los eventos de ingresos personalizados con atributos adicionales. Este método amplía el seguimiento básico de ingresos personalizados permitiéndole incluir pares clave-valor personalizados para un seguimiento más detallado.
Firma
static void customRevenueWithAttributes(
String eventName,
String currency,
double amount,
Map attributes
)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Track custom revenue with additional attributes
Singular.customRevenueWithAttributes(
'Premium_Upgrade',
'USD',
29.99,
{
'subscription_tier': 'premium',
'billing_cycle': 'annual',
'promotion_code': 'ANNUAL20'
}
);
customRevenueWithAllAttributes
Singular.customRevenueWithAllAttributes Método
Realiza un seguimiento de los eventos de ingresos personalizados con todos los atributos posibles, incluidos SKU de producto, nombre de producto, categoría de producto, cantidad de producto y atributos personalizados.
Firma
static void customRevenueWithAllAttributes(
String eventName,
String currency,
double amount,
String productSKU,
String productName,
String productCategory,
int productQuantity,
Map attributes
)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Track custom revenue with all attributes
Singular.customRevenueWithAllAttributes(
'In_Game_Purchase',
'USD',
4.99,
'gold_pack_500',
'Gold Pack 500',
'virtual_currency',
1,
{
'payment_method': 'credit_card',
'discount_applied': 'false'
}
);
evento
Singular.event Método
Realiza el seguimiento de un evento simple con sólo un nombre de evento. Esta es la forma más básica de seguimiento de eventos en Singular SDK.
Firma
static void event(String eventName)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Track a simple event
Singular.event('Level_Completed');
eventWithArgs
Método Singular.eventWithArgs
Rastrea un evento con atributos adicionales en forma de pares clave-valor. Esto permite un rastreo de eventos más detallado con parámetros personalizados.
Firma
static void eventWithArgs(String eventName, Map args)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Track event with custom attributes
Singular.eventWithArgs('Level_Completed', {
'level_number': 10,
'score': 8500,
'time_seconds': 245,
'difficulty': 'hard'
});
getGlobalProperties
Método singular.getGlobalProperties
Devuelve un mapa de todas las propiedades globales configuradas actualmente. Las propiedades globales se incluyen automáticamente con cada evento rastreado por el SDK.
Firma
static Future<Map<String, String>> getGlobalProperties()
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Get all global properties
Map<String, String> properties = await Singular.getGlobalProperties();
print('Current global properties: $properties');
getLimitDataSharing
Singular.getLimitDataSharing Método
Devuelve el estado actual de la limitación del uso compartido de datos. Este método comprueba si el uso compartido de datos con terceros está limitado actualmente.
Firma
static Future<bool> getLimitDataSharing()
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Check if data sharing is limited
bool isLimited = await Singular.getLimitDataSharing();
print('Data sharing limited: $isLimited');
handlePushNotification
Singular.handlePushNotification Método
Maneja la atribución de notificaciones push. Este método debe invocarse cuando la aplicación recibe una notificación push para permitir el seguimiento de la atribución de aperturas de aplicaciones basadas en notificaciones.
Firma
static void handlePushNotification(Map notification)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Handle incoming push notification
Map<String, dynamic> notificationData = {
'title': 'New Offer Available',
'body': 'Check out our latest deals',
'campaign_id': 'summer_2025'
};
Singular.handlePushNotification(notificationData);
inAppPurchase
Singular.inAppPurchase Método
Realiza un seguimiento de los eventos de compra dentro de la aplicación. Este método informa de las compras realizadas dentro de su aplicación a Singular para el seguimiento y la atribución de ingresos. Utilice el paquete in_app_purchasede Flutter para recuperar el objeto de compra con todos los detalles de la transacción.
El objeto SingularIAP purchase debe construirse utilizando los constructores de subclase específicos de la plataforma:
-
SingularIOSIAP(double revenue, String? currencyCode, String? productId, String? transactionId, String? receipt) -
SingularAndroidIAP(double revenue, String? currencyCode, String? signature, String? receipt)
Así que construya la subclase SingularIAP apropiada con revenue y currencyCode primero, y luego los campos específicos de la plataforma.
Firma
static void inAppPurchase(String eventName, SingularIAP purchase)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
import 'package:singular_flutter_sdk/singular_iap.dart';
// Build an iOS SingularIAP purchase object and send it to the SDK
const String eventName = 'iap_purchase'; // <= 32 ASCII chars
final SingularIAP purchase = SingularIOSIAP(
4.99, // revenue (double)
'USD', // currency code (String)
'com.example.sku', // productId (String)
'transactionId123', // transactionID from AppStorePurchaseDetails (String)
'base64_receipt' // JWS receipt from StoreKit (String)
);
// OR, Build an Android SingularIAP purchase object and send it to the SDK
const String eventName = 'iap_purchase'; // <= 32 ASCII chars
final SingularIAP purchase = SingularAndroidIAP(
4.99, // revenue (double)
'USD', // currency code (String)
'com.example.sku', // Signature from GooglePlayPurchase (String)
'originalJson_receipt' // receipt Object from GooglePlayPurchase originalJson (String)
);
// Basic tracking
Singular.inAppPurchase(eventName, purchase);
inAppPurchaseConAtributos
Singular.inAppPurchaseWithAttributes Método
Realiza un seguimiento de los eventos de compra desde la aplicación con atributos personalizados adicionales. Este método amplía el seguimiento básico de IAP permitiendo pares clave-valor personalizados para un seguimiento más detallado de las compras.
Firma
static void inAppPurchaseWithAttributes(String eventName, SingularIAP purchase, Map attributes)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
import 'package:singular_flutter_sdk/singular_iap.dart';
// Generate SingularIAP purchase as above
// Tracking with attributes
Singular.inAppPurchaseWithAttributes(eventName, purchase, {
'user_level': 42,
'is_first_purchase': true,
'gems_balance': 1500
});
isAllTrackingStopped
Singular.isAllTrackingStopped Método
Devuelve si se ha detenido todo el seguimiento. Este método comprueba si el SDK se encuentra actualmente en un estado en el que no se están recopilando ni enviando datos.
Firma
static Future<bool> isAllTrackingStopped()
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Check if tracking is stopped
bool isStopped = await Singular.isAllTrackingStopped();
print('All tracking stopped: $isStopped');
limitDataSharing
Singular.limitDataSharing Método
Limita o activa el uso compartido de datos con terceros. Este método controla si el SDK comparte datos con redes publicitarias y otros servicios de terceros con fines de atribución.
Firma
static void limitDataSharing(bool limitDataSharingValue)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Limit data sharing
Singular.limitDataSharing(true);
// Or enable data sharing
Singular.limitDataSharing(false);
registerDeviceTokenParaDesinstalar
Singular.registerDeviceTokenForUninstall Método
Registra el token de notificación push del dispositivo para el seguimiento de la desinstalación. Esto permite a Singular detectar cuándo los usuarios desinstalan su aplicación.
Firma
static void registerDeviceTokenForUninstall(String token)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Register device token for uninstall tracking
String deviceToken = 'your_device_push_token_here';
Singular.registerDeviceTokenForUninstall(deviceToken);
resumeAllTracking
Método Singular.resumeAllTracking
Reanuda todo el seguimiento que se detuvo previamente. Este método vuelve a activar la recopilación y transmisión de datos después de detener el seguimiento.
Firma
static void resumeAllTracking()
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Resume tracking after it was stopped
Singular.resumeAllTracking();
setCustomUserId
Singular.setCustomUserId Método
Establece un identificador de usuario personalizado para el seguimiento. Este método asocia eventos con un identificador de usuario específico del sistema de usuarios de tu aplicación.
Firma
static void setCustomUserId(String customUserId)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Set custom user ID after user logs in
Singular.setCustomUserId('user_12345');
setDeviceCustomUserId
Singular.setDeviceCustomUserId Método
Establece un identificador de usuario personalizado a nivel de dispositivo. Este método se utiliza para asociar un identificador personalizado con el propio dispositivo, persistiendo a través de las sesiones de la aplicación y los inicios de sesión del usuario.
Firma
static void setDeviceCustomUserId(String customUserId)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Set device-level custom user ID
Singular.setDeviceCustomUserId('device_user_67890');
setFCMDeviceToken
Singular.setFCMDeviceToken Método
Establece el token del dispositivo Firebase Cloud Messaging (FCM). Este método es específico para dispositivos Android que utilizan FCM para notificaciones push.
Firma
static void setFCMDeviceToken(String token)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
import 'dart:io';
// Set FCM token (Android only)
if (Platform.isAndroid) {
String fcmToken = 'your_fcm_token_here';
Singular.setFCMDeviceToken(fcmToken);
}
setGlobalProperty
Singular.setGlobalProperty Método
Establece una propiedad global que se incluirá en todos los eventos posteriores. Las propiedades globales son pares clave-valor que se añaden automáticamente a cada evento rastreado por el SDK.
Firma
static void setGlobalProperty(
String key,
String value,
bool overrideExisting
)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Set a global property
Singular.setGlobalProperty('user_type', 'premium', true);
Singular.setGlobalProperty('app_theme', 'dark', false);
setLimitAdvertisingIdentifiers
Singular.setLimitAdvertisingIdentifiers Método
Limita la recopilación de identificadores de publicidad (IDFA en iOS, GAID en Android). Este método controla si el SDK recopila y utiliza identificadores de publicidad para la atribución.
Firma
static void setLimitAdvertisingIdentifiers(bool limit)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Limit advertising identifier collection
Singular.setLimitAdvertisingIdentifiers(true);
skanGetConversionValue
Singular.skanGetConversionValue Método
Obtiene el valor de conversión actual de SKAdNetwork (sólo iOS). Este método recupera el valor de conversión que se ha establecido para la atribución SKAdNetwork.
Firma
static Future<int> skanGetConversionValue()
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
import 'dart:io';
// Get current SKAdNetwork conversion value (iOS only)
if (Platform.isIOS) {
int conversionValue = await Singular.skanGetConversionValue();
print('Current conversion value: $conversionValue');
}
skanRegisterAppParaAtribuciónAdNetwork
Singular.skanRegisterAppForAdNetworkAttribution Método
Registra la aplicación para la atribución SKAdNetwork (sólo iOS). Se debe llamar a este método para habilitar el seguimiento de SKAdNetwork en dispositivos iOS.
Firma
static void skanRegisterAppForAdNetworkAttribution()
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
import 'dart:io';
// Register for SKAdNetwork attribution (iOS only)
if (Platform.isIOS) {
Singular.skanRegisterAppForAdNetworkAttribution();
}
skanUpdateConversionValue
Singular.skanUpdateConversionValue Método
Actualiza el valor de conversión de SKAdNetwork (sólo iOS). Este método establece un nuevo valor de conversión para la atribución SKAdNetwork, que representa la calidad del usuario o el nivel de compromiso.
Firma
static void skanUpdateConversionValue(int conversionValue)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
import 'dart:io';
// Update SKAdNetwork conversion value (iOS only)
if (Platform.isIOS) {
Singular.skanUpdateConversionValue(5);
}
skanUpdateConversionValues
Singular.skanUpdateConversionValues Método
Actualiza los valores de conversión de SKAdNetwork con parámetros adicionales, incluidos el valor de conversión grueso y el estado de bloqueo (solo iOS 16.1+). Este método proporciona un control más granular sobre los postbacks de SKAdNetwork.
Firma
static void skanUpdateConversionValues(
int conversionValue,
int coarse,
bool lock
)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
import 'dart:io';
// Update conversion values with coarse value and lock (iOS 16.1+)
if (Platform.isIOS) {
Singular.skanUpdateConversionValues(
10, // fine conversion value
1, // coarse conversion value
false // lock status
);
}
start
Singular.start Método
Inicializa e inicia el SDK de Singular con la configuración proporcionada. Este método debe invocarse antes que cualquier otro método del SDK y debe invocarse lo antes posible en el ciclo de vida de la aplicación.
Firma
static void start(SingularConfig config)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
import 'package:singular_flutter_sdk/singular_config.dart';
// Create and configure the SDK
SingularConfig config = SingularConfig(
'YOUR_API_KEY',
'YOUR_SECRET_KEY'
)
..withLoggingEnabled()
..withSessionTimeoutInSec(60);
// Start the SDK
Singular.start(config);
stopAllTracking
Singular.stopAllTracking Método
Detiene todos los seguimientos del SDK. Este método detiene toda la recopilación y transmisión de datos, normalmente utilizado para el cumplimiento de la privacidad cuando un usuario opta por no realizar el seguimiento.
Firma
static void stopAllTracking()
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Stop all tracking (for privacy opt-out)
Singular.stopAllTracking();
trackingOptIn
Método Singular.trackingOptIn
Indica que el usuario ha optado por el seguimiento. Este método debe invocarse cuando un usuario consiente explícitamente el seguimiento y la atribución de datos.
Firma
static void trackingOptIn()
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// User opted in to tracking
Singular.trackingOptIn();
trackingUnder13
Método Singular.trackingUnder13
Indica que el usuario es menor de 13 años. Este método activa el modo de cumplimiento de COPPA, limitando la recopilación de datos para usuarios menores de 13 años.
Firma
static void trackingUnder13()
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Enable COPPA compliance mode
Singular.trackingUnder13();
unsetCustomUserId
Singular.unsetCustomUserId Método
Elimina el identificador de usuario personalizado. Este método borra cualquier identificador de usuario personalizado establecido previamente, normalmente se llama cuando un usuario cierra la sesión.
Firma
static void unsetCustomUserId()
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Remove custom user ID on logout
Singular.unsetCustomUserId();
unsetGlobalProperty
Singular.unsetGlobalProperty Método
Elimina una propiedad global específica por clave. Este método borra una única propiedad global que se había establecido previamente.
Firma
static void unsetGlobalProperty(String key)
Ejemplo de uso
import 'package:singular_flutter_sdk/singular.dart';
// Remove a specific global property
Singular.unsetGlobalProperty('user_type');