Referencia de métodos del SDK de React Native
Esta completa referencia documenta todos los métodos disponibles en el SDK de Singular para el seguimiento de aplicaciones móviles. El SDK proporciona funcionalidad para la inicialización, identificación de usuarios, 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.
adRevenue
Singular.adRevenue Method
Seguimiento de eventos de ingresos publicitarios con información detallada de datos publicitarios.
Firma
static adRevenue(adData: SingularAdData): void
Ejemplo de uso
// Create ad data object
const adData = new SingularAdData()
.withAdPlatform("AdMob")
.withAdType("Rewarded")
.withAdNetworkName("Google")
.withCurrency("USD")
.withRevenue(0.05);
// Track ad revenue event
Singular.adRevenue(adData);
clearGlobalProperties
Singular.clearGlobalProperties Method
Elimina todas las propiedades globales establecidas previamente.
Firma
static clearGlobalProperties(): void
Ejemplo de uso
// Clear all global properties, for example when a user logs out
Singular.clearGlobalProperties();
createReferrerShortLink
Singular.createReferrerShortLink Method
Crea un enlace corto con información de referencia que puede utilizarse para compartir y atribuir.
Firma
static createReferrerShortLink(baseLink: string, referrerName: string, referrerId: string, passthroughParams: SerializableObject, completionHandler: (result: string, error: string) => void): void
Ejemplo de uso
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
(shortLinkURL, error) => { if (error) {
console.error("Error creating short link:", error); return; }
console.log("Generated short link:", shortLinkURL);
// Share the link with users
}
);
customRevenue
Singular.customRevenue Method
Rastrea un evento de ingresos personalizado con un nombre de evento, moneda e importe especificados.
- Los nombres de eventos de ingresos personalizados 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 estar en MAYÚSCULAS y ajustarse al código de divisa ISO 4217 de tres letras.
Firma
static customRevenue(eventName: string, currency: string, amount: number): void
Ejemplo de uso
// Track a custom revenue event
Singular.customRevenue("premium_subscription", "USD", 9.99);
customRevenueWithArgs
Singular.customRevenueWithArgs Method
Realiza el seguimiento de un evento de ingresos personalizado con un nombre de evento, divisa, importe y atributos personalizados adicionales especificados.
- Los nombres de eventos de ingresos personalizados 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 y valores de atributos de eventos están limitados a 500 caracteres ASCII.
-
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 customRevenueWithArgs(eventName: string, currency: string, amount: number, args: SerializableObject): void
Ejemplo de uso
// Track a custom revenue event with additional parameters
Singular.customRevenueWithArgs(
"in_app_purchase",
"USD",
5.99,
{
"product_id": "com.app.gems_pack_small",
"quantity": 1,
"transaction_id": "T12345678",
"receipt_id": "R98765432"
}
);
event
Singular.event Method
Rastrea un evento personalizado sencillo con el SDK de Singular.
- 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 event(eventName: string): void
Ejemplo de uso
// Track a simple event
Singular.event("level_completed");
eventWithArgs
Singular.eventWithArgs Method
Rastrea un evento personalizado con atributos adicionales con el SDK de Singular.
- 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 eventWithArgs(eventName: string, args: SerializableObject): void
Ejemplo de uso
// Track an event with additional parameters
Singular.eventWithArgs(
"level_completed",
{
"level_number": 5,
"difficulty": "hard",
"time_spent": 120,
"score": 9500
}
);
getLimitDataSharing
Singular.getLimitDataSharing Method
Obtiene el estado actual de limitación de compartición de datos del usuario.
Firma
static getLimitDataSharing(): boolean
Ejemplo de uso
// Check if data sharing is limited
const isLimited = Singular.getLimitDataSharing();
console.log("Data sharing limitation status:", isLimited);
// Use the status to adjust app behavior
if (isLimited) {
// Adjust functionality for users with limited data sharing
}
getGlobalProperties
Singular.getGlobalProperties Method
Recupera todas las propiedades globales configuradas actualmente.
Firma
static getGlobalProperties(): Map<string, string>
Ejemplo de uso
// Get all global properties
const properties = Singular.getGlobalProperties();
// Iterate through properties
properties.forEach((value, key) => {
console.log(${key}: ${value});
});
inAppPurchase
Singular.inAppPurchase Method
Este método requiere el uso del paquete In-App Purchase de React Native para gestionar las transacciones en tu aplicación.
Rastrea un evento de compra dentro de la aplicación con detalles de compra.
- 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 inAppPurchase(eventName: string, purchase: SingularPurchase): void
Ejemplo de uso
// Add the Singular Purchase Class imports
import {
Singular,
SingularConfig,
Events,
SingularPurchase,
SingularIOSPurchase,
SingularAndroidPurchase } from 'singular-react-native';
// Create purchase object
let singularPurchase = null;
if (Platform.OS === 'ios') {
singularPurchase = new SingularIOSPurchase(
product.revenue,
product.currency,
purchase.productId,
purchase.transactionId,
purchase.transactionReceipt,
);
} else if (Platform.OS === 'android'){
singularPurchase = new SingularAndroidPurchase(
product.revenue,
product.currency,
purchase.transactionReceipt,
purchase.signatureAndroid,
);
}
// Track in-app purchase
Singular.inAppPurchase('iap_purchase', singularPurchase);
inAppPurchaseWithArgs
Singular.inAppPurchaseWithArgs Method
Este método requiere el uso del paquete In-App Purchase de React Native para gestionar las transacciones en su aplicación.
Rastrea un evento de compra dentro de la aplicación con detalles de compra y atributos personalizados adicionales.
- 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 nombres de atributos de eventos y los valores de atributos están limitados a 500 caracteres ASCII.
Firma
static inAppPurchaseWithArgs(eventName: string, purchase: SingularPurchase, args: SerializableObject): void
Ejemplo de uso
// Add the Singular Purchase Class imports
import {
Singular,
SingularConfig,
Events,
SingularPurchase,
SingularIOSPurchase,
SingularAndroidPurchase } from 'singular-react-native';
// Create purchase object
let singularPurchase = null;
if (Platform.OS === 'ios') {
singularPurchase = new SingularIOSPurchase(
product.revenue,
product.currency,
purchase.productId,
purchase.transactionId,
purchase.transactionReceipt,
);
} else if (Platform.OS === 'android'){
singularPurchase = new SingularAndroidPurchase(
product.revenue,
product.currency,
purchase.transactionReceipt,
purchase.signatureAndroid,
);
}
// Track in-app purchase with additional attributes
Singular.inAppPurchaseWithArgs(
"iap_purchase",
singularPurchase,
{
"is_first_purchase": true,
"subscription_type": "yearly",
"discount_applied": "holiday_special",
"previous_subscription": "monthly"
}
);
init
Singular.init Method
Inicializa Singular SDK con la configuración proporcionada. El parámetro config es un objeto SingularConfig, que debe instanciarse con un SDK Key (apiKey) y un Secret (secret) válidos mediante el constructor: new SingularConfig(apikey: string, secret: string).
Firma
static init(config: SingularConfig): void
Ejemplo de uso
// Create configuration
const config = new SingularConfig('SDK KEY', 'SDK SECRET')
.withCustomUserId("user123")
.withSessionTimeoutInSec(60)
.withLimitDataSharing(false)
.withSingularLink((params) => {
// Handle deep link parameters
console.log("Deep link received:", params);
});
// Initialize Singular SDK
Singular.init(config);
isAllTrackingStopped
Singular.isAllTrackingStopped Method
Comprueba si se ha detenido todo seguimiento en el SDK.
Firma
static isAllTrackingStopped(): boolean
Ejemplo de uso
// Check if tracking is currently stopped
const isTrackingStopped = Singular.isAllTrackingStopped();
// Adjust UI based on tracking status
if (isTrackingStopped) {
console.log("All tracking is currently stopped");
// Update UI to reflect tracking status
} else {
console.log("Tracking is active");
}
limitDataSharing
Singular.limitDataSharing Method
Limita el uso compartido de datos para el usuario actual, normalmente utilizado para el cumplimiento de la CCPA.
Firma
static limitDataSharing(shouldLimitDataSharing: boolean): void
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);
resumeAllTracking
Singular.resumeAllTracking Method
Reanuda todas las actividades de seguimiento después de haberlas detenido.
Firma
static resumeAllTracking(): void
Ejemplo de uso
// Resume tracking when user opts back in
Singular.resumeAllTracking();
console.log("Tracking has been resumed");
// Update UI to reflect that tracking is now active
revenue
Singular.revenue Method
Realiza el seguimiento de un evento de ingresos simple con una divisa y un importe especificados.
-
Los códigos de moneda deben estar en MAYÚSCULAS y ajustarse al código de moneda ISO 4217 de tres letras.
Firma
static revenue(currency: string, amount: number): void
Ejemplo de uso
// Track a simple revenue event
Singular.revenue("USD", 19.99);
revenueWithArgs
Singular.revenueWithArgs Method
Realiza el seguimiento de un evento de ingresos con una divisa, un importe y atributos personalizados adicionales especificados.
- Los nombres de atributos de eventos y los valores de atributos están limitados a 500 caracteres ASCII.
-
Los códigos de divisa deben estar en MAYÚSCULAS y ajustarse al código de divisa ISO 4217 de tres letras.
Firma
static revenueWithArgs(currency: string, amount: number, args: SerializableObject): void
Ejemplo de uso
// Track a revenue event with additional parameters
Singular.revenueWithArgs(
"EUR",
9.99,
{
"subscription_type": "monthly",
"is_promotional": false,
"user_tier": "premium",
"payment_method": "credit_card"
}
);
setCustomUserId
Singular.setCustomUserId Method
Establece un ID de usuario personalizado para el usuario actual que se utilizará con el SDK de Singular.
Firma
static setCustomUserId(customUserId: string): void
Ejemplo de uso
// Set the custom user ID after user logs in
Singular.setCustomUserId("user_123456");
setDeviceCustomUserId
Singular.setDeviceCustomUserId Method
Función empresarial: Asocia un ID de usuario personalizado con el dispositivo actual para el seguimiento entre plataformas.
Firma
static setDeviceCustomUserId(customUserId: string): void
Ejemplo de uso
// Set a device-level custom user ID
Singular.setDeviceCustomUserId("device_user_987654");
setGlobalProperty
Singular.setGlobalProperty Method
Establece una propiedad global que se enviará con todos los eventos posteriores.
Firma
static setGlobalProperty(key: string, value: string, overrideExisting: boolean): boolean
Ejemplo de uso
// Set a global property that will be included with all events
const wasSet = Singular.setGlobalProperty("user_tier", "premium", true);
// Set another global property without overriding if it exists
Singular.setGlobalProperty("app_version", "2.1.3", false);
if (wasSet) {
console.log("Global property was set successfully");
}
setUninstallToken
Singular.setUninstallToken Method
Establece el token de dispositivo para el seguimiento de la desinstalación mediante notificaciones push.
Firma
static setUninstallToken(token: string): void
Ejemplo de uso
// Set the device token for uninstall tracking
// This is typically obtained from the platform's push notification service
const deviceToken = "a1b2c3d4e5f6g7h8i9j0..."; // FCM or APNS token
Singular.setUninstallToken(deviceToken);
skanGetConversionValue
Singular.skanGetConversionValue Method
Obtiene el valor de conversión SKAdNetwork actual (sólo iOS).
Firma
static skanGetConversionValue(): number | null
Ejemplo de uso
// Get the current SKAdNetwork conversion value
const conversionValue = Singular.skanGetConversionValue();
if (conversionValue !== null) {
console.log("Current conversion value:", conversionValue);
} else {
console.log("Conversion value not available");
}
skanRegisterAppForAdNetworkAttribution
Singular.skanRegisterAppForAdNetworkAttribution Method
Registra la aplicación para la atribución SKAdNetwork (sólo iOS).
Firma
static skanRegisterAppForAdNetworkAttribution(): void
Ejemplo de uso
// Register app for SKAdNetwork attribution
// This is typically called early in the app lifecycle
Singular.skanRegisterAppForAdNetworkAttribution();
skanUpdateConversionValue
Singular.skanUpdateConversionValue Method
Actualiza el valor de conversión de SKAdNetwork (sólo iOS).
Firma
static skanUpdateConversionValue(conversionValue: number): boolean
Ejemplo de uso
// Update the SKAdNetwork conversion value
// Value must be between 0-63
const wasUpdated = Singular.skanUpdateConversionValue(12);
if (wasUpdated) {
console.log("Conversion value was updated successfully");
} else {
console.log("Failed to update conversion value");
}
skanUpdateConversionValues
Singular.skanUpdateConversionValues Method
Actualiza los valores de conversión de SKAdNetwork 4.0 incluyendo ventana fina, gruesa y de bloqueo (sólo iOS 16.1+).
Firma
static skanUpdateConversionValues(conversionValue: number, coarse: number, lock: boolean): void
Ejemplo de uso
// Update SKAdNetwork 4.0 conversion values
// Fine value: 0-63
// Coarse value: 0-2 (Low, Medium, High)
// Lock: whether to lock the postback window
Singular.skanUpdateConversionValues(45, 2, false);
// Example with named constants for clarity
const FINE_VALUE = 45;
const COARSE_VALUE_HIGH = 2;
const LOCK_WINDOW = false;
Singular.skanUpdateConversionValues(FINE_VALUE, COARSE_VALUE_HIGH, LOCK_WINDOW);
stopAllTracking
Singular.stopAllTracking Method
Detiene todas las actividades de seguimiento en el SDK.
Firma
static stopAllTracking(): void
Ejemplo de uso
// Stop all tracking when user opts out
Singular.stopAllTracking();
console.log("All tracking has been stopped");
// Update UI to reflect that tracking is now disabled
trackingOptIn
Singular.trackingOptIn Method
Permite al usuario realizar un seguimiento con fines analíticos y de atribución.
Firma
static trackingOptIn(): void
Ejemplo de uso
// Call when user has consented to tracking
Singular.trackingOptIn();
console.log("User has opted into tracking");
trackingUnder13
Singular.trackingUnder13 Method
Marca al usuario como menor de 13 años, limitando la recopilación de datos en cumplimiento de la COPPA.
Firma
static trackingUnder13(): void
Ejemplo de uso
// If user is determined to be under 13 years old
Singular.trackingUnder13();
console.log("User marked as under 13, GDPR_UNDER_13 flag applied");
unsetCustomUserId
Singular.unsetCustomUserId Method
Elimina el ID de usuario personalizado establecido previamente del seguimiento de Singular.
Firma
static unsetCustomUserId(): void
Ejemplo de uso
// Remove the custom user ID when user logs out
Singular.unsetCustomUserId();
console.log("Custom user ID has been removed");
unsetGlobalProperty
Singular.unsetGlobalProperty Method
Elimina una propiedad global establecida previamente.
Firma
static unsetGlobalProperty(key: string): void
Ejemplo de uso
// Remove a global property that is no longer needed
Singular.unsetGlobalProperty("temporary_campaign_id");
console.log("Global property has been removed");