React Native SDK - 메서드 참조

문서

React Native SDK - 메서드 레퍼런스

이 포괄적인 참조 문서에는 React Native 애플리케이션용 Singular SDK에서 사용 가능한 모든 메서드가 설명되어 있습니다. SDK는 초기화, 이벤트 추적, 구매 보고, 어트리뷰션, 데이터 개인정보 보호 규정 준수 및 구성을 위한 기능을 제공합니다. 각 메서드에는 설명, 서명, 실제 사용 예시가 함께 제공되어 개발자가 Singular의 SDK 기능을 React Native 애플리케이션에 연동하는 데 도움이 됩니다.

광고 구매

Singular.adRevenue 메서드

자세한 광고 데이터 정보로 광고 구매 이벤트를 추적합니다. 이 메서드를 사용하면 애플리케이션에 표시된 광고에서 발생한 구매을 다양한 파라미터와 함께 보고하여 광고 성과를 분류하고 분석할 수 있습니다.

서명

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

필수 속성

  • ad_platform (문자열): 광고 구매이 발생한 광고 플랫폼(예: 'AdMob', 'Facebook', 'UnityAds').
  • ad_currency (문자열): 광고 구매이 보고되는 통화 코드(ISO 4217 형식)입니다(예: 'USD', 'EUR').
  • ad_revenue (숫자): 광고 노출에서 발생한 구매 금액입니다.

선택적 속성

  • ad_unit_id (문자열): 광고가 게재된 광고 단위의 고유 식별자입니다.
  • ad_type (문자열): 광고의 유형 또는 형식(예: '보상형', '전면 광고', '배너')입니다.
  • ad_placement_name (문자열): 애플리케이션 내에서 광고가 게재된 위치의 이름 또는 위치 식별자(예: '레벨_완료', '메인 메뉴')입니다.
  • ad_mediation_platform (문자열): 광고를 게재하는 데 사용된 광고 중개 플랫폼(예: 'admob', 'ironsource', 'max').
  • ad_impression_id (문자열): 특정 광고 노출 이벤트의 고유 식별자입니다.
  • ad_group_type (문자열): 광고 그룹의 유형 또는 카테고리 분류입니다.
  • ad_unit_name (문자열): 광고 단위에 할당된 사람이 읽을 수 있는 이름입니다.
  • ad_group_id (문자열): 이 노출과 연결된 광고 그룹의 고유 식별자입니다.
  • ad_group_name (문자열): 사람이 읽을 수 있는 광고 그룹의 이름입니다.
  • ad_group_priority (숫자): 미디에이션 워터폴 순서를 위해 광고 그룹에 할당된 숫자 우선 순위 수준입니다.
  • ad_precision (문자열): 광고 구매 데이터의 정밀도 또는 정확도 수준(예: '추정', '정확', '퍼블리셔_정의').
  • ad_placement_id (문자열): 애플리케이션 내 광고 게재 위치에 대한 고유 식별자입니다.

사용 예시

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

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

Singular.clearGlobalProperties 메서드

이전에 설정된 모든 글로벌 속성을 제거합니다. 사용자가 애플리케이션에서 로그아웃하는 경우와 같이 전역 속성을 재설정해야 할 때 유용합니다.

서명

static clearGlobalProperties(): void

사용 예시

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

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

createReferrerShortLink

Singular.createReferrerShortLink 메서드

공유 및 어트리뷰션에 사용할 수 있는 리퍼러 정보가 포함된 짧은 링크를 생성합니다. 이 메서드는 사용자와 공유할 수 있는 추적 가능한 링크를 생성하여 설치 및 활동을 특정 리퍼럴 소스에 어트리뷰션할 수 있도록 합니다.

서명

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

사용 예시

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

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

Singular.customRevenue 메서드

지정된 이벤트 이름, 통화 및 금액으로 사용자 지정 구매 이벤트를 추적합니다. 이를 통해 사용자 지정 이벤트 이름으로 보다 구체적인 구매을 추적할 수 있습니다.

서명

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

사용 예시

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

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

customRevenueWithArgs

Singular.customRevenueWithArgs 메서드

지정된 이벤트 이름, 통화, 금액 및 추가 속성을 사용하여 사용자 지정 구매 이벤트를 추적합니다. 이를 통해 사용자 지정 매개변수를 사용하여 보다 상세한 구매 추적이 가능합니다.

서명

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

사용 예시

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

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

Singular.event 메서드

지정된 이름의 이벤트를 추적합니다. 이 메서드를 사용하여 애플리케이션 내에서 사용자 행동과 참여를 추적하세요.

서명

static event(eventName: string): void

사용 예시

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

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

eventWithArgs

Singular.eventWithArgs 메서드

지정된 이름과 추가 사용자 정의 속성으로 이벤트를 추적합니다. 이 메서드를 사용하여 세부 매개변수로 사용자 행동을 추적합니다.

Signature

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

사용 예시

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

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

getGlobalProperties

Singular.getGlobalProperties 메서드

현재 설정된 모든 글로벌 속성을 검색합니다. 이 메서드는 SDK에 설정된 모든 전역 프로퍼티가 포함된 객체로 확인되는 프로미스를 반환합니다.

서명

static getGlobalProperties(): Promise<Record<string, any>>

사용 예시

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

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

getLimitDataSharing

Singular.getLimitDataSharing 메서드

현재 데이터 공유 제한 상태를 검색합니다. 이 메서드는 현재 데이터 공유가 제한되어 있는지 여부를 나타내는 부울로 확인되는 프로미스를 반환합니다.

서명

static getLimitDataSharing(): Promise<boolean>

사용 예시

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

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

핸들 푸시 알림

Singular.handlePushNotification 메서드

어트리뷰션을 위한 푸시 알림 페이로드를 처리합니다. 앱이 푸시 알림을 수신할 때 이 메서드를 호출해야 Singular가 올바르게 어트리뷰션할 수 있습니다. 이 메서드는 iOS 전용입니다.

서명

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

사용 예시

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

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

인앱 구매

Singular.inAppPurchase 메서드

Singular에 구매을 보고하고 백엔드에서 영수증 유효성 검사(활성화된 경우)를 수행합니다. 구매 객체는 SingularIOSPurchase 또는 SingularAndroidPurchase 유형이어야 합니다.

서명

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

SingularIOSPurchase 구매 클래스 생성자

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

SingularAndroidPurchase 구매 클래스 생성자

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

사용 예시

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/jsNativeSingular';
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

Singular.inAppPurchaseWithArgs 메서드

추가 속성과 함께 구매을 Singular에 보고하고 백엔드에서 영수증 유효성 검사(활성화된 경우)를 수행합니다. 구매 객체는 SingularIOSPurchase 또는 SingularAndroidPurchase 유형이어야 합니다.

서명

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

SingularIOSPurchase 구매 클래스 생성자

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

SingularAndroidPurchase 구매 클래스 생성자

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

사용 예제

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/jsNativeSingular';
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

Singular.init 메서드

제공된 구성으로 Singular SDK를 초기화합니다. Singular SDK 사용을 시작하기 위해 가장 먼저 호출해야 하는 메서드입니다.

서명

static init(singularConfig: SingularConfig): void

사용 예제

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

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

Singular.isAllTrackingStopped 메서드

현재 모든 추적이 중지되었는지 확인합니다. 이 메서드는 현재 추적이 중지되었는지 여부를 나타내는 부울로 확인되는 프로미스를 반환합니다.

서명

static isAllTrackingStopped(): Promise<boolean>

사용 예시

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

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

limitDataSharing

Singular.limitDataSharing 메서드

데이터 공유 제한 상태를 설정합니다. 사용자 동의 또는 개인정보 보호 요구 사항에 따라 데이터 공유를 제한하려면 이 메서드를 사용합니다.

서명

static limitDataSharing(limitDataSharingValue: boolean): void

사용 예시

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

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

Singular.resumeAllTracking 메서드

이전에 중지된 모든 추적 활동을 재개합니다. 추적이 중지된 후 다시 활성화하려면 이 메서드를 사용합니다.

서명

static resumeAllTracking(): void

사용 예시

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

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

revenue

Singular.revenue 메서드

통화와 금액으로 구매 이벤트를 추적합니다. 이를 통해 애플리케이션의 기본 구매 추적이 가능합니다.

서명

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

사용 예시

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

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

revenueWithArgs

Singular.revenueWithArgs 메서드

통화, 금액 및 추가 속성으로 구매 이벤트를 추적합니다. 이를 통해 사용자 지정 매개변수를 사용하여 포괄적인 구매 추적이 가능합니다.

시그니처

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

사용 예시

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

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

setCustomUserId

Singular.setCustomUserId 메서드

현재 사용자에 대한 사용자 지정 사용자 ID를 설정합니다. 이를 통해 Singular 데이터를 자체 사용자 식별 시스템과 연결할 수 있습니다.

서명

static setCustomUserId(customUserId: string): void

사용 예

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

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

setDeviceCustomUserId

엔터프라이즈 기능 - 계정에 이 기능을 사용 설정하려면 고객 성공 매니저에게 문의하세요.

Singular.setDeviceCustomUserId 메서드

디바이스 수준에서 사용자 지정 사용자 ID를 설정합니다. 이를 통해 장치 수준에서 Singular 데이터를 자체 사용자 식별 시스템과 연결할 수 있습니다.

서명

static setDeviceCustomUserId(customUserId: string): void

사용 예

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

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

setGlobalProperty

Singular.setGlobalProperty 메서드

모든 이벤트와 함께 전송할 글로벌 프로퍼티를 설정합니다. 이를 통해 매번 속성을 지정하지 않고도 모든 이벤트에 일관된 속성을 추가할 수 있습니다.

서명

static setGlobalProperty(
  key: string,
  value: string,
  overrideExisting: boolean
): Promise<boolean>

사용 예시

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

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

setLimitAdvertisingIdentifiers

Singular.setLimitAdvertisingIdentifiers 메서드

제한된 광고 식별자 모드를 활성화 또는 비활성화합니다. 이 옵션은 SDK가 추적을 위해 디바이스 식별자를 수집하고 사용하는 방식에 영향을 줍니다.

서명

static setLimitAdvertisingIdentifiers(enabled: boolean): void

사용 예시

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

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

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

setUninstallToken

Singular.setUninstallToken 메서드

제거 추적을 위한 푸시 알림 토큰을 등록합니다. 이 메서드는 제거 추적을 활성화하려면 푸시 알림 토큰과 함께 호출해야 합니다.

서명

static setUninstallToken(token: string): void

사용 예시

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

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

skanGetConversionValue

Singular.skanGetConversionValue 메서드

현재 SKAdNetwork 전환 값을 가져옵니다. 이 메서드는 SKAdNetwork 어트리뷰션에 사용된 현재 전환 값으로 확인되는 프로미스를 반환합니다. 이 메서드는 iOS 전용입니다.

서명

static skanGetConversionValue(): Promise<number | null>

사용 예시

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

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

skanRegisterAppForAdNetworkAttribution

Singular.skanRegisterAppForAdNetworkAttribution 메서드

SKAdNetwork 어트리뷰션을 위해 앱을 등록합니다. 이 메서드는 iOS에서 SKAdNetwork 어트리뷰션을 활성화하기 위해 호출해야 합니다. 이 메서드는 iOS 전용입니다.

서명

static skanRegisterAppForAdNetworkAttribution(): void

사용 예시

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

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

skanUpdateConversionValue

Singular.skanUpdateConversionValue 메서드

SKAdNetwork 전환 값을 업데이트합니다. 이 메서드를 사용하면 SKAdNetwork 어트리뷰션에 사용되는 전환 값을 수동으로 업데이트할 수 있습니다. 이 메서드는 iOS 전용입니다.

서명

static skanUpdateConversionValue(conversionValue: number): Promise<boolean>

사용 예시

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

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

skanUpdateConversionValues

Singular.skanUpdateConversionValues 메서드

미세값, 거친값, 잠금 파라미터를 사용하여 SKAdNetwork 4.0 전환값을 업데이트합니다. 이 메서드는 iOS 16.1 이상용이며 iOS 전용입니다.

서명

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

사용 예시

New ArchitectureOld Architecture
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/jsNativeSingular';
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

Singular.stopAllTracking 메서드

모든 추적 활동을 중지합니다. 이 메서드를 사용하면 사용자가 옵트아웃할 때 또는 개인 정보 보호를 준수하기 위해 추적을 비활성화할 수 있습니다.

서명

static stopAllTracking(): void

사용 예시

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

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

trackingOptIn

Singular.trackingOptIn 메서드

사용자가 추적에 옵트인했음을 나타냅니다. 사용자가 추적 및 데이터 수집에 명시적으로 동의할 때 이 메서드를 호출합니다.

서명

static trackingOptIn(): void

사용 예시

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

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

trackingUnder13

Singular.trackingUnder13 메서드

사용자가 13세 미만임을 나타냅니다. 이 메서드를 호출하면 13세 미만 사용자에 대한 COPPA 및 기타 규정을 준수할 수 있습니다.

서명

static trackingUnder13(): void

사용 예시

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

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

unsetCustomUserId

Singular.unsetCustomUserId 메서드

이전에 설정된 사용자 지정 사용자 아이디를 제거합니다. 사용자가 로그아웃하거나 이벤트를 더 이상 현재 사용자 ID에 연결하지 않으려는 경우 이 메서드를 호출하세요.

서명

static unsetCustomUserId(): void

사용 예시

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

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

unsetGlobalProperty

Singular.unsetGlobalProperty 메서드

이전에 설정된 전역 속성을 제거합니다. 특정 글로벌 프로퍼티를 더 이상 이벤트와 함께 전송하지 않으려면 이 메서드를 호출하세요.

서명

static unsetGlobalProperty(key: string): void

사용 예시

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

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