SDK do React Native - Referência de métodos

SDK do React Native - Referência de Métodos

Esta referência abrangente documenta todos os métodos disponíveis no SDK Singular para aplicativos React Native. O SDK fornece funcionalidade para inicialização, rastreamento de eventos, relatórios de receita, atribuição, conformidade com a privacidade de dados e configuração. Cada método é apresentado com uma descrição, assinatura e exemplos práticos de uso para ajudar os desenvolvedores a integrar os recursos do SDK da Singular em seus aplicativos React Native.

adRevenue

Método Singular.adRevenue

Rastreia eventos de receita de anúncios com informações detalhadas de dados de anúncios. Esse método permite relatar a receita gerada pelos anúncios exibidos em seu aplicativo com vários parâmetros para categorizar e analisar o desempenho do anúncio.

Assinatura

static adRevenue(adData: {
  ad_platform: string; 
  ad_currency: string; 
  ad_revenue: number; 
  [key: string]: any;
}): void

Propriedades obrigatórias

  • ad_platform (string): A plataforma de publicidade a partir da qual a receita de anúncios é gerada (por exemplo, "AdMob", "Facebook", "UnityAds").
  • ad_currency (string): O código da moeda (formato ISO 4217) em que as receitas de publicidade são comunicadas (por exemplo, "USD", "EUR").
  • ad_revenue (número): O valor da receita gerada pela impressão do anúncio.

Propriedades opcionais

  • ad_unit_id (string): O identificador exclusivo do bloco de anúncios em que o anúncio foi exibido.
  • ad_type (string): O tipo ou formato do anúncio (por exemplo, "Rewarded", "Interstitial", "Banner").
  • ad_placement_name (string): O nome ou identificador de localização do local onde o anúncio foi colocado no seu aplicativo (por exemplo, "level_complete", "main_menu").
  • ad_mediation_platform (string): A plataforma de mediação de anúncios utilizada para apresentar o anúncio (por exemplo, "admob", "ironsource", "max").
  • ad_impression_id (string): Um identificador único para o evento específico de impressão do anúncio.
  • ad_group_type (string): A classificação de tipo ou categoria do grupo de anúncios.
  • ad_unit_name (string): O nome legível por humanos atribuído ao bloco de anúncios.
  • ad_group_id (string): O identificador único do grupo de anúncios associado a esta impressão.
  • ad_group_name (string): O nome legível por humanos do grupo de anúncios.
  • ad_group_priority (número): O nível de prioridade numérica atribuído ao grupo de anúncios para a ordenação em cascata da mediação.
  • ad_precision (string): O nível de precisão ou exatidão dos dados de receitas de anúncios (por exemplo, "estimated", "precise", "publisher_defined").
  • ad_placement_id (string): O identificador exclusivo do local de colocação do anúncio no seu aplicativo.

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

const adData = {
  ad_platform: 'AdMob',
  ad_currency: 'USD',
  ad_revenue: 0.05,
  ad_unit_id: 'ca-app-pub-1234567890123456',
  ad_type: 'Rewarded',
  ad_placement_name: 'level_complete'
};

NativeSingular.adRevenue(adData);

clearGlobalProperties

Método Singular.clearGlobalProperties

Remove todas as propriedades globais definidas anteriormente. Isto é útil quando é necessário repor as propriedades globais, por exemplo, quando um usuário termina a sessão no seu aplicativo.

Assinatura

static clearGlobalProperties(): void

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

// Clear all global properties
NativeSingular.clearGlobalProperties();

clearUserDetails

Método Singular.clearUserDetails

Remove os User Details hasheados armazenados. Os valores são persistidos no armazenamento privado do app no dispositivo, portanto sobrevivem às inicializações do app até serem removidos, e são removidos quando o app é desinstalado (SDK 4.3.1 e posterior). No SDK 4.3.0 e anteriores, o iOS os armazenava no Keychain, onde sobreviviam à desinstalação do app. Chame este método no logout, ou quando o usuário retirar o consentimento.

Disponibilidade: SDK do React Native versão 4.3.0 ou superior. Este método não tem efeito antes de init(); o SDK nativo registra um erro e retorna. Observe que setUserDetails() também remove os valores armazenados quando recebe um objeto vazio, ou um objeto cujos valores sejam todos rejeitados como inválidos.

Assinatura

static clearUserDetails(): void

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';
// Remove stored user details on logout
NativeSingular.clearUserDetails();

createReferrerShortLink

Método Singular.createReferrerShortLink

Cria um link curto com informações do referenciador que podem ser usadas para compartilhamento e atribuição. Este método gera links rastreáveis que podem ser compartilhados com os usuários, permitindo-lhe atribuir instalações e atividades a fontes de referência específicas.

Assinatura

static createReferrerShortLink(
  baseLink: string,
  referrerName: string,
  referrerId: string,
  passthroughParams: Record<string, any>,
  completionHandler: (data: string | null, error?: string) => void
): void

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

// Create a short link for referral
NativeSingular.createReferrerShortLink(
  'https://sample.sng.link/B4tbmv8fp',
  'John Doe',
  'aq239897',
  { channel: 'sms', campaign: 'summer_promo' },
  (result: string, error: string) => {
    if (error) {
      console.error('Short link creation failed:', error);
    } else {
      console.log('Short link created successfully:', result);
    }
  }
);

customRevenue

Método Singular.customRevenue

Rastreia eventos de receita personalizados com um nome de evento, moeda e valor especificados. Isto permite um controle de receitas mais específico com nomes de eventos personalizados.

Assinatura

static customRevenue(
  eventName: string,
  currency: string,
  amount: number
): void

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

// Track a custom revenue event
NativeSingular.customRevenue('premium_subscription', 'USD', 9.99);

customRevenueWithArgs

Método Singular.customRevenueWithArgs

Rastreia eventos de receitas personalizados com um nome de evento, moeda, montante e atributos adicionais especificados. Isto permite um controle mais detalhado das receitas com parâmetros personalizados.

Assinatura

static customRevenueWithArgs(
  eventName: string,
  currency: string,
  amount: number,
  args: Record<string, any>
): void

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

// Track a custom revenue event with attributes
NativeSingular.customRevenueWithArgs(
  'in_app_purchase',
  'USD',
  5.99,
  {
    product_id: 'com.app.gems_pack_small',
    quantity: 1
  }
);

event

Método Singular.event

Rastreia eventos com o nome especificado. Utilize este método para seguir as ações e o envolvimento do usuário no seu aplicativo.

Assinatura

static event(eventName: string): void

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

// Track a simple event
NativeSingular.event('level_completed');

eventWithArgs

Método Singular.eventWithArgs

Utilize este método para acompanhar as ações do usuário com parâmetros detalhados.

Assinatura

static eventWithArgs(
  eventName: string,
  args: Record<string, any>
): void

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

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

getGlobalProperties

Método Singular.getGlobalProperties

Recupera todas as propriedades globais atualmente definidas. Este método devolve uma promessa que resolve para um objeto que contém todas as propriedades globais que foram definidas para o SDK.

Assinatura

static getGlobalProperties(): SerializableObject

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

// Get all global properties
NativeSingular.getGlobalProperties();

getLimitDataSharing

Método Singular.getLimitDataSharing

Recupera o estado atual da limitação do compartilhamento de dados. Este método devolve uma promessa que resolve para um booleano que indica se o compartilhamento de dados está atualmente limitado.

Assinatura

static getLimitDataSharing(): boolean

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

// Check if data sharing is limited
NativeSingular.getLimitDataSharing();

handlePushNotification

Método Singular.handlePushNotification

Processa uma carga útil de notificação push para atribuição. Este método deve ser chamado quando seu aplicativo recebe uma notificação push para permitir que o Singular a atribua corretamente. Este método é apenas para iOS.

Assinatura

static handlePushNotification(
  pushNotificationPayload: Record<string, any>
): void

Exemplo de uso

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';
import { Platform } from 'react-native';

// Handle a received push notification (iOS only)
if (Platform.OS === 'ios') {
  const userInfo = remoteMessage.data;
  NativeSingular.handlePushNotification(userInfo);
}

inAppPurchase

Método Singular.inAppPurchase

Relata a receita para o Singular e executa a validação do recibo (se habilitado) no backend. O objeto de compra deve ser do tipo SingularIOSPurchase ou SingularAndroidPurchase.

Assinatura

static inAppPurchase(
  eventName: string,
  purchase: SingularIOSPurchase | SingularAndroidPurchase
): void

Construtores da classe SingularIOSPurchase Purchase

constructor(
  revenue: number,
  currency: string,
  productId: string,
  transactionId: string,
  receipt: string
)

Construtores da classe de compra SingularAndroidPurchase

constructor(
  revenue: number,
  currency: string,
  receipt: string,
  signature: string
)

Exemplo de uso

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';
import { SingularIOSPurchase, SingularAndroidPurchase } from 'singular-react-native';
import { Platform } from 'react-native';

// iOS Example
if (Platform.OS === 'ios') {
  const iosPurchase = new SingularIOSPurchase(
    99.99,              // revenue
    'USD',              // currency
    'premium_bundle',   // productId
    'trans_12345',      // transactionId
    'base64receipt...'  // receipt
  );
  
  // Convert to plain object for TurboModule
  NativeSingular.inAppPurchase('purchase', iosPurchase.toSpecObject());
}

// Android Example
if (Platform.OS === 'android') {
  const androidPurchase = new SingularAndroidPurchase(
    99.99,                    // revenue
    'USD',                    // currency
    'purchaseDataJSON',       // receipt
    'signatureString'         // signature
  );
  
  // Convert to plain object for TurboModule
  NativeSingular.inAppPurchase('purchase', androidPurchase.toSpecObject());
}

inAppPurchaseWithArgs

Método Singular.inAppPurchaseWithArgs

Relata a receita para o Singular com atributos adicionais e realiza a validação do recibo (se habilitado) no backend. O objeto de compra deve ser do tipo SingularIOSPurchase ou SingularAndroidPurchase.

Assinatura

static inAppPurchaseWithArgs(
  eventName: string,
  purchase: SingularIOSPurchase | SingularAndroidPurchase,
  args: Record<string, any>
): void

Construtores da classe SingularIOSPurchase Purchase

constructor(
  revenue: number,
  currency: string,
  productId: string,
  transactionId: string,
  receipt: string
)

Construtores da classe de compra SingularAndroidPurchase

constructor(
  revenue: number,
  currency: string,
  receipt: string,
  signature: string
)

Exemplo de uso

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';
import { SingularIOSPurchase, SingularAndroidPurchase } from 'singular-react-native';
import { Platform } from 'react-native';

// iOS Example - Track IAP with additional attributes
if (Platform.OS === 'ios') {
  const iosPurchase = new SingularIOSPurchase(
    99.99,              // revenue
    'USD',              // currency
    'premium_bundle',   // productId
    'trans_12345',      // transactionId
    'base64receipt...'  // receipt
  );
  
  // Convert to plain object for TurboModule
  NativeSingular.inAppPurchaseWithArgs(
    'purchase',
    iosPurchase.toSpecObject(),
    {
      product_category: 'premium_content',
      is_first_purchase: true,
      user_tier: 'gold'
    }
  );
}

// Android Example - Track IAP with additional attributes
if (Platform.OS === 'android') {
  const androidPurchase = new SingularAndroidPurchase(
    99.99,                    // revenue
    'USD',                    // currency
    'purchaseDataJSON',       // receipt
    'signatureString'         // signature
  );
  
  // Convert to plain object for TurboModule
  NativeSingular.inAppPurchaseWithArgs(
    'purchase',
    androidPurchase.toSpecObject(),
    {
      product_category: 'premium_content',
      is_first_purchase: true,
      user_tier: 'gold'
    }
  );
}

init

Método Singular.init

Inicializa o Singular SDK com a configuração fornecida. Este é o primeiro método que deve ser chamado para começar a usar o Singular SDK.

Assinatura

static init(singularConfig: SingularConfig): void

Exemplo de uso

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';
import type { SingularConfig } from 'singular-react-native/js/NativeSingular';

// Create configuration object
const config: SingularConfig = {
  apikey: 'YOUR_API_KEY',
  secret: 'YOUR_SECRET',
  customUserId: 'user-123456',
  sessionTimeout: 60,
  enableLogging: true,
  logLevel: 3,
}

// Initialize the SDK
NativeSingular.init(config);

isAllTrackingStopped

Método Singular.isAllTrackingStopped

Verifica se todo o rastreamento está parado no momento. Este método devolve uma promessa que resolve para um booleano indicando se o rastreamento está atualmente parado.

Assinatura

static isAllTrackingStopped(): boolean

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

// Check if tracking is stopped
NativeSingular.isAllTrackingStopped();

limitDataSharing

Método Singular.limitDataSharing

Define o estado de limitação do compartilhamento de dados. Utilize este método para limitar o compartilhamento de dados com base no consentimento do usuário ou em requisitos de privacidade.

Assinatura

static limitDataSharing(limitDataSharingValue: boolean): void

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

// To limit data sharing (e.g., when user opts out)
NativeSingular.limitDataSharing(true);

// To enable full data sharing (e.g., when user opts in)
NativeSingular.limitDataSharing(false);

resumeAllTracking

Método Singular.resumeAllTracking

Retoma todas as atividades de seguimento que foram anteriormente interrompidas. Utilize este método para reativar o seguimento depois de este ter sido interrompido.

Assinatura

static resumeAllTracking(): void

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

// Resume tracking when user opts back in
NativeSingular.resumeAllTracking();

revenue

Método Singular.revenue

Rastreia eventos de receitas com moeda e montante. Isto permite um controle básico das receitas para o seu aplicativo.

Assinatura

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

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

// Track revenue with currency and amount
NativeSingular.revenue('USD', 9.99);

revenueWithArgs

Método Singular.revenueWithArgs

Rastreia eventos de receitas com moeda, montante e atributos adicionais, o que permite um rastreamento abrangente das receitas com parâmetros personalizados.

Assinatura

static revenueWithArgs(
  currency: string,
  amount: number,
  args: Record<string, any>
): void

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

// Track revenue with additional attributes
NativeSingular.revenueWithArgs('USD', 19.98, {
  product_id: 'premium_gems',
  quantity: 2
});

setCustomUserId

Método Singular.setCustomUserId

Define um ID de usuário personalizado para o usuário atual. Isto permite-lhe associar os dados Singular ao seu próprio sistema de identificação de usuários.

Assinatura

static setCustomUserId(customUserId: string): void

Exemplo de uso

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

// Set custom user ID after user logs in
NativeSingular.setCustomUserId('user123456');

setDeferredDeepLinkTimeout

Método Singular.setDeferredDeepLinkTimeout

Define por quanto tempo após uma instalação nova o Singular ainda resolverá um deep link diferido e chamará o seu singularLinkHandler. O padrão é 60 segundos.

Somente iOS, e precisa ser chamado antes de Singular.init(). A janela é avaliada no envio da primeira sessão, então uma chamada feita depois da inicialização não tem efeito sobre aquela instalação. No Android o método registra uma mensagem e não faz nada — use a propriedade de configuração ddlTimeoutSec. Durações menores que 5 segundos são ignoradas e o valor anterior é mantido.

Assinatura

static setDeferredDeepLinkTimeout(duration: number): void

Exemplo de uso

New ArchitectureOld Architecture
import NativeSingular from 'singular-react-native/js/NativeSingular';

// Call before initializing the SDK
NativeSingular.setDeferredDeepLinkTimeout(120);

setDeviceCustomUserId

Este método foi descontinuado e já não é utilizado.

Método Singular.setDeviceCustomUserId

Define um ID de usuário personalizado no nível do dispositivo. Isto permite-lhe associar os dados Singular ao seu próprio sistema de identificação de usuários ao nível do dispositivo.

Assinatura

static setDeviceCustomUserId(customUserId: string): void

Exemplo de uso

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

// Set device-level custom user ID
NativeSingular.setDeviceCustomUserId('device_user_123456');

setGlobalProperty

Método Singular.setGlobalProperty

Define uma propriedade global que será enviada com todos os eventos. Isto permite-lhe adicionar atributos consistentes a todos os eventos sem os especificar de cada vez.

Assinatura

static setGlobalProperty(
  key: string,
  value: string,
  overrideExisting: boolean
): boolean

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

// Set a global property
NativeSingular.setGlobalProperty(
  'user_tier',
  'premium',
  true
);

setLimitAdvertisingIdentifiers

Método Singular.setLimitAdvertisingIdentifiers

Ativa ou desativa o modo de identificadores de publicidade limitados. Esta opção afecta a forma como o SDK coleta e utiliza identificadores de dispositivos para rastreamento.

Assinatura

static setLimitAdvertisingIdentifiers(enabled: boolean): void

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

// Enable limited identifiers mode
NativeSingular.setLimitAdvertisingIdentifiers(true);

// Disable limited identifiers mode
NativeSingular.setLimitAdvertisingIdentifiers(false);

setUserDetails

Método Singular.setUserDetails

Envia um endereço de e-mail e/ou número de telefone hasheados para o Singular após a inicialização. O SDK normaliza e aplica hash SHA-256 aos valores em texto simples no dispositivo, pelo que o endereço de e-mail e o número de telefone originais nunca são transmitidos. Para anexar os User Details à primeira sessão, consulte Definindo um ID de usuário e User Details hasheados e defina SingularConfig.userDetails antes de init().

Disponibilidade: Versão 4.3.0 e superiores do SDK do React Native. Este método não tem efeito antes de init(): o SDK nativo registra um erro e retorna. A camada de JavaScript rejeita um argumento nulo ou ausente, por isso use clearUserDetails() para remover os valores armazenados.

Assinatura

static setUserDetails(userDetails: SingularUserDetails): void

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';
// Cleartext values, hashed on the device by the SDK
NativeSingular.setUserDetails({
  email: 'user@example.com',
  phoneNumber: '+15551234567'
});
// Or supply your own SHA-256 hashes
NativeSingular.setUserDetails({
  emailSTD: 'b4c9a289323b21a01c3e940f150eb9b8c542587f1abfd8f0e1cc1ffc5e475514',
  phoneE164: '8a59780bb8cd2ba022bfa5ba2ea3b6e07af17a7d8b30c1f9b3390e36f69019e4'
});

setUninstallToken

Método Singular.setUninstallToken

Registra o token de notificação push para rastreamento de desinstalação. Este método deve ser chamado com o token de notificação push para ativar o acompanhamento da desinstalação.

Assinatura

static setUninstallToken(token: string): void

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';
import messaging from '@react-native-firebase/messaging';

// Register device token for uninstall tracking
NativeSingular.setUninstallToken(token);

skanGetConversionValue

Método Singular.skanGetConversionValue

Recupera o valor de conversão atual de SKAdNetwork. Este método devolve uma promessa que resolve o valor de conversão atual utilizado para a atribuição de SKAdNetwork. Este método é exclusivo do iOS.

Assinatura

static skanGetConversionValue(): number | null

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';
import { Platform } from 'react-native';

// Get the current SKAdNetwork conversion value (iOS only)
if (Platform.OS === 'ios') {
  const conversionValue = NativeSingular.skanGetConversionValue();
  console.log('Current conversion value:', conversionValue ?? 0);
}

skanRegisterAppForAdNetworkAttribution

Método Singular.skanRegisterAppForAdNetworkAttribution

Registra o aplicativo para atribuição de SKAdNetwork. Este método deve ser chamado para ativar a atribuição de SKAdNetwork no iOS. Este método é exclusivo do iOS.

Assinatura

static skanRegisterAppForAdNetworkAttribution(): void

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';
import { Platform } from 'react-native';

// Register for SKAdNetwork attribution (iOS only)
if (Platform.OS === 'ios') {
  NativeSingular.skanRegisterAppForAdNetworkAttribution();
}

skanUpdateConversionValue

Método Singular.skanUpdateConversionValue

Atualiza o valor de conversão SKAdNetwork. Este método permite-lhe atualizar manualmente o valor de conversão utilizado para a atribuição de SKAdNetwork. Este método é exclusivo do iOS.

Assinatura

static skanUpdateConversionValue(conversionValue: number): boolean

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';
import { Platform } from 'react-native';

// Update the SKAdNetwork conversion value (iOS only)
if (Platform.OS === 'ios') {
  const success = NativeSingular.skanUpdateConversionValue(5);
  if (success) {
    console.log('Conversion value updated successfully');
  }
}

skanUpdateConversionValues

Método Singular.skanUpdateConversionValues

Atualiza os valores de conversão da SKAdNetwork 4.0 com o valor fino, o valor grosso e os parâmetros de bloqueio. Este método destina-se ao iOS 16.1+ e é exclusivo do iOS.

Assinatura

static skanUpdateConversionValues(
  conversionValue: number,
  coarse: number,
  lock: boolean
): void

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';
import { Platform } from 'react-native';

// Update SKAdNetwork 4.0 conversion values (iOS 16.1+)
if (Platform.OS === 'ios') {
  NativeSingular.skanUpdateConversionValues(
    5,     // fine value (0-63)
    1,     // coarse value (0=low, 1=medium, 2=high)
    false  // lock
  );
}

stopAllTracking

Método Singular.stopAllTracking

Interrompe todas as atividades de rastreamento. Utilize este método para desativar o rastreamento quando os usuários optam por não o fazer ou para garantir a conformidade com a privacidade.

Assinatura

static stopAllTracking(): void

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

// Stop tracking when user opts out
NativeSingular.stopAllTracking();

trackingOptIn

Método Singular.trackingOptIn

Indica que o usuário optou por aceitar o rastreamento. Chame este método quando o usuário consentir explicitamente no rastreamento e na coleta de dados.

Assinatura

static trackingOptIn(): void

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

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

trackingUnder13

Método Singular.trackingUnder13

Indica que o usuário tem menos de 13 anos de idade. Chame este método para cumprir a COPPA e outros regulamentos para usuários com menos de 13 anos.

Assinatura

static trackingUnder13(): void

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

// Notify Singular the user is under 13 years old
NativeSingular.trackingUnder13();

unsetCustomUserId

Método Singular.unsetCustomUserId

Remove o ID de usuário personalizado definido anteriormente. Chame este método quando o usuário terminar a sessão ou quando já não pretender associar eventos ao ID de usuário atual.

Assinatura

static unsetCustomUserId(): void

Exemplo de utilização

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

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

unsetGlobalProperty

Método Singular.unsetGlobalProperty

Remove uma propriedade global previamente definida. Chame este método quando já não quiser que uma propriedade global específica seja enviada com eventos.

Assinatura

static unsetGlobalProperty(key: string): void

Exemplo de uso

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';

// Remove a global property
NativeSingular.unsetGlobalProperty('user_tier');