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