SDK de React Native - Referencia de métodos SDK

Documento

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

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

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

typescript
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

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

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

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

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

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

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

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

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

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

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

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

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

Firma

static revenue(currency: string, amount: number): void

Ejemplo de uso

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

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

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

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

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

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

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

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

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

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

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

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

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

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

typescript
// Remove a global property that is no longer needed 
Singular.unsetGlobalProperty("temporary_campaign_id");
console.log("Global property has been removed");