React Native SDK - 設定リファレンス
このドキュメントでは、React Nativeアプリケーション用のSingular SDKで利用可能なすべての設定オプションの包括的なリファレンスを提供します。SingularConfigオブジェクトにより、トラッキング設定、アトリビューションオプション、プライバシーコントロールなど、SDKの動作をカスタマイズすることができます。各設定プロパティは、説明、署名、実用的な使用例とともに紹介されています。
apikey
SingularConfig.apikey プロパティ
あなたのSingular APIキー。これは設定の初期化時に設定しなければならない必須プロパティです。
署名
apikey: string
使用例
// 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';
const config: SingularConfig = {apikey: 'YOUR_API_KEY', secret: 'YOUR_SECRET'}
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('YOUR_API_KEY', 'YOUR_SECRET');
brandedDomains
SingularConfig.brandedDomains プロパティ
ウェブからアプリへのアトリビューション用のブランドドメインを設定します。これにより、アトリビューション目的で追跡されるべきカスタムドメインを指定できます。
署名
brandedDomains: Array<string>
使用例
// 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';
const config: SingularConfig = {
apikey: 'YOUR_API_KEY',
secret: 'YOUR_SECRET',
brandedDomains: ['yourcompany.com', 'go.yourcompany.com']
};
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET');
config.brandedDomains = ['yourcompany.com', 'go.yourcompany.com'];
clipboardAttribution
SingularConfig.clipboardAttribution プロパティ
iOSのクリップボードアトリビューションを有効にします。有効にすると、SDKはクリップボードのアトリビューションデータをチェックします。これはwithClipboardAttribution()メソッドを使用して有効にします。
シグネチャ
clipboardAttribution: boolean
使用例
// 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';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
clipboardAttribution: true // This property enables clipboard attribution
};
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withClipboardAttribution();
collectOAID
SingularConfig.collectOAID プロパティ
AndroidのOAID(Open Anonymous Device Identifier)収集を有効にします。 これは主に、Google Playサービスが利用できない中国でのトラッキングに使用されます。デフォルト値はfalseです。
シグネチャ
collectOAID: boolean
使用例
// 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';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
collectOAID: true // Enables OAID Collection
};
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withOAIDCollection();
conversionValueUpdatedHandler
SingularConfig.conversionValueUpdatedHandler プロパティ
SKAdNetworkのコンバージョン値が更新されたときに呼び出されるコールバックハンドラを設定します。これはiOSのコンバージョン値の変更をトラッキングするのに便利です。
シグネチャ
conversionValueUpdatedHandler: (conversionValue: number) => void
使用例
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';
import { NativeEventEmitter } from 'react-native';
const emitter = new NativeEventEmitter(NativeSingular);
emitter.addListener("ConversionValueUpdatedHandler", (conversionValue) => {
console.log('conversion value updated to:', conversionValue);
});
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withConversionValueUpdatedHandler((conversionValue) => {
console.log('Conversion value updated:', conversionValue);
});
conversionValuesUpdatedHandler
SingularConfig.conversionValuesUpdatedHandler プロパティ
SKAdNetwork 4.0のコンバージョン値が更新されたときに呼び出されるコールバックハンドラを設定します。このコールバックは、iOS 16.1+のfine値、coarse値、ロックステータスを受け取ります。
シグネチャ
conversionValuesUpdatedHandler: (updatedValues: Record<string, any>) => void
使用例
// TurboModule direct API (React Native 0.76+ New Architecture)
import NativeSingular from 'singular-react-native/js/NativeSingular';
import { NativeEventEmitter } from 'react-native';
const emitter = new NativeEventEmitter(NativeSingular);
emitter.addListener("ConversionValuesUpdatedHandler", (values) => {
console.log('Conversion values updated:', values);
});
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withConversionValuesUpdatedHandler((values) => {
console.log('Conversion values updated:', values);
});
customSdid
SingularConfig.customSdid プロパティ
カスタムSDID(Singular Device ID)を設定します。これにより、Singularによって生成されたものを使用する代わりに、独自のデバイス識別子を提供することができます。
シグネチャ
customSdid: string
使用例
// 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';
import { NativeEventEmitter } from 'react-native';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
customSdid: 'custom-device-id-12345'
};
const emitter = new NativeEventEmitter(NativeSingular);
emitter.addListener('DidSetSdidCallback', (result) => {
console.log('SDID was set:', result);
});
emitter.addListener('SdidReceivedCallback', (result) => {
console.log('SDID received:', result);
});
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withCustomSdid(
'custom-device-id-12345',
(sdid) => {
console.log('SDID was set:', sdid);
},
(sdid) => {
console.log('SDID received:', sdid);
}
);
customUserId
SingularConfig.customUserId プロパティ
SDK初期化時にカスタムユーザーIDを設定します。これにより、Singularデータを最初から独自のユーザー識別システムに関連付けることができます。
シグネチャ
customUserId: string
使用例
// 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';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
customUserId: 'user123456'
};
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withCustomUserId('user123456');
ddlTimeoutSec
SingularConfig.ddlTimeoutSec プロパティ
新規インストール後、Singularがディファードディープリンクを解決してsingularLinkHandlerを呼び出せる時間を設定します。デフォルトは60秒です。オンボーディングが長くユーザーがディープリンク先の画面に到達するまで時間がかかる場合は値を大きくし、古いディファードリンクでルーティングするより破棄したい場合は小さくしてください。
Android専用です。 iOSではwithDDLTimeoutInSec()はメッセージを出力するだけで、構成は変更されません。iOSでの相当機能はランタイムメソッドSingular.setDeferredDeepLinkTimeout()です。0以下の値は無視され、デフォルトの60秒が維持されます。
シグネチャ
ddlTimeoutSec: number
使用例
import NativeSingular from 'singular-react-native/js/NativeSingular';
import type { SingularConfig } from 'singular-react-native/js/NativeSingular';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
ddlTimeoutSec: 120 // seconds
};
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withDDLTimeoutInSec(120);
deviceAttributionCallbackHandler
BETA機能- デバイスアトリビューションデータが利用可能になったときに呼び出されるコールバック関数を設定します。
SingularConfig.deviceAttributionCallbackHandler プロパティ
デバイスアトリビューションデータが利用可能になったときに呼び出されるコールバックハンドラを設定します。これにより、アトリビューションデータが解決されるとすぐにアクセスできるようになります。
値のあるフィールドのみが含まれるため、読み取る前にキーの有無を確認してください。ほとんどのインストールでは一部のフィールドのみが返され、どのフィールドが含まれるかは Singular が一致させたタッチポイントによって異なります。
| キー | 型 | 備考 |
|---|---|---|
network |
string | コールバックが呼び出されるときは常に含まれます。タッチポイントが一致しなかった場合は "Organic" です。 |
campaign_id |
string | タッチポイントが提供する場合に含まれます。 |
campaign_name |
string | タッチポイントが提供する場合に含まれます。 |
subcampaign_id |
string | タッチポイントが提供する場合に含まれます。すべてのソースで提供されるわけではありません。 |
subcampaign_name |
string | タッチポイントが提供する場合に含まれます。すべてのソースで提供されるわけではありません。 |
creative_id |
string | タッチポイントが提供する場合に含まれます。すべてのソースで提供されるわけではありません。 |
creative_name |
string | タッチポイントが提供する場合に含まれます。すべてのソースで提供されるわけではありません。 |
passthrough |
string | リンクにパススルー値が付与されている場合に含まれます。 |
match_type |
string | タッチポイントが提供する場合に含まれます。値の一覧が必要な場合は Singular にお問い合わせください。 |
click_timestamp |
number | タッチポイントが提供する場合に含まれます。エポックマイクロ秒で、秒に変換するには 1,000,000 で割ってください。 |
シグネチャ
deviceAttributionCallbackHandler: (attributes: Record<string, any>) => void
使用例
// 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';
import { NativeEventEmitter } from 'react-native';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET'
};
const emitter = new NativeEventEmitter(NativeSingular);
emitter.addListener('DeviceAttributionCallbackHandler', (attributes) => {
console.log('Attribution data received:', attributes);
const campaign = attributes.campaign;
const source = attributes.source;
});
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withDeviceAttributionCallbackHandler((attributes) => {
console.log('Attribution data received:', attributes);
const campaign = attributes.campaign;
const source = attributes.source;
});
didSetSdidCallback
- カスタム SDID が設定されたときに呼び出されるコールバック。
SingularConfig.didSetSdidCallback プロパティ
カスタム SDID が設定されたときに呼び出されるコールバック関数を設定します。 これは customSdid プロパティと組み合わせて使用します。
シグネチャ
didSetSdidCallback: (result: string) => void
使用例
// 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';
import { NativeEventEmitter } from 'react-native';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
customSdid: 'custom-device-id'
};
const emitter = new NativeEventEmitter(NativeSingular);
emitter.addListener('DidSetSdidCallback', (result) => {
console.log('SDID was set:', result);
});
emitter.addListener('SdidReceivedCallback', (result) => {
console.log('SDID received:', result);
});
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withCustomSdid(
'custom-device-id',
(result) => {
console.log('SDID was set:', result);
},
(result) => {
console.log('SDID received:', result);
}
);
enableLogging
SingularConfig.enableLogging プロパティ
デバッグ目的でSDKロギングを有効にします。これは開発中やトラブルシューティング中に便利です。本番ビルドではロギングを無効にすることを推奨します。デフォルト値はfalseです。
プラットフォーム: Android および iOS。iOS 対応は React Native SDK 4.3.0 で追加されました。それ以前のバージョンでは iOS でこのプロパティは無視されていました。詳細度を制御するには logLevel と併用してください。
シグネチャ
enableLogging: boolean
使用例
// 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';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
enableLogging: true
};
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withLoggingEnabled();
enableOdmWithTimeoutInterval
SingularConfig.enableOdmWithTimeoutInterval プロパティ
GoogleのOn-Device Measurement(ODM)を有効にし、最初のセッションを送信する前にGoogleのアトリビューショントークンを待機する秒数を設定します。デフォルトは-1で、ODMは無効です。Google Ads iOS Integrated Conversion Measurement(ICM)に必要です。
iOS専用で、最初のセッションが遅延します。 SDKはGoogleがアトリビューショントークンを返すか設定した秒数が経過するまでセッションをブロックするため、ディープリンクのコールバックが最大でその秒数だけ遅延します。ODMにはGoogleのODM SDK、-ObjCリンカーフラグ、React Native SDK v3.9.0以降も必要です。後から追加するのではなく、初回の統合時に設定してください。
シグネチャ
enableOdmWithTimeoutInterval: number
使用例
import NativeSingular from 'singular-react-native/js/NativeSingular';
import type { SingularConfig } from 'singular-react-native/js/NativeSingular';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
enableOdmWithTimeoutInterval: 10 // seconds
};
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withEnableOdmWithTimeoutInterval(10);
espDomains
SingularConfig.espDomains プロパティ
EメールアトリビューションのESP(Eメールサービスプロバイダ)ドメインを設定します。 これにより、どのEメールドメインをアトリビューショントラッキングの対象とするかを指定できます。
シグネチャ
espDomains: Array<string>
使用例
// 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';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
espDomains: ['mailchimp.com', 'sendgrid.net', 'campaign-monitor.com']
};
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withEspDomains(['mailchimp.com', 'sendgrid.net', 'campaign-monitor.com']);
facebookAppId
SingularConfig.facebookAppId プロパティ
Facebookアトリビューション統合用のFacebookアプリIDを設定します。これにより、SDKがFacebookキャンペーンのアトリビューションをトラッキングできるようになります。
署名
facebookAppId: string
使用例
// 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';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
facebookAppId: 'YOUR_FACEBOOK_APP_ID'
};
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withFacebookAppId('YOUR_FACEBOOK_APP_ID');
globalProperties
SingularConfig.globalProperties プロパティ
SDKの初期化中にグローバルプロパティを設定します。これらのプロパティは、SDKによって追跡されるすべてのイベントと共に送信されます。
シグネチャ
globalProperties: Record<string, { Key: string; Value: any; OverrideExisting: boolean }>
使用例
// 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';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
globalProperties: {
prop1: {
Key: "app_version",
Value: "1.2.3",
OverrideExisting: true
},
prop2: {
Key: "user_type",
Value: "free",
OverrideExisting: true
}
}
};
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withGlobalProperty('app_version', '1.2.3', true)
.withGlobalProperty('user_type', 'premium', true);
limitAdvertisingIdentifiers
SingularConfig.limitAdvertisingIdentifiers プロパティ
このオプションは、SDKがトラッキングのためにデバイス識別子を収集し使用する方法に影響します。デフォルト値はfalseです。
シグネチャ
limitAdvertisingIdentifiers: boolean
使用例
// 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';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
limitAdvertisingIdentifiers: true
};
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withLimitAdvertisingIdentifiers(true);
limitDataSharing
SingularConfig.limitDataSharing プロパティ
初期化時のデータ共有制限ステータスを設定します。ユーザーの同意やプライバシー要件に基づいてデータ共有を制限する場合に使用します。デフォルト値はnull。
シグネチャ
limitDataSharing: boolean | null
使用例
// 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';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
limitDataSharing: true
};
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withLimitDataSharing(true);
logLevel
SingularConfig.logLevel プロパティ
SDKのログ出力の詳細度を設定します。enableLoggingがtrueの場合にのみ有効です。値はAndroidのandroid.util.Log標準定数で、数値が小さいほど詳細になります。2 VERBOSE、3 DEBUG、4 INFO、5 WARN、6 ERROR、7 ASSERT。デフォルトは6(ERROR)です。
4.3.0 で iOS 対応が追加されました。 以前のバージョンでは、iOS で logLevel と enableLogging のどちらも無視されていました。4.3.0 以降、iOS ブリッジは Android 形式の値をネイティブ iOS のログレベルにマッピングします: 2 Verbose、3 Debug、4 Info、5 Warning、6 Error、7 はロギングを無効にします。負の値を含むそれ以外の値は Error にフォールバックします。
範囲の上限が異なる点にご注意ください:Android では 7 は ASSERT ですが、iOS ではロギングが完全に無効になります。
シグネチャ
logLevel: number
使用例
import NativeSingular from 'singular-react-native/js/NativeSingular';
import type { SingularConfig } from 'singular-react-native/js/NativeSingular';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
enableLogging: true,
logLevel: 3 // DEBUG
};
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withLoggingEnabled()
.withLogLevel(3); // DEBUG
manualSkanConversionManagement
SingularConfig.manualSkanConversionManagement プロパティ
SKAdNetworkのコンバージョン値の手動管理を有効にする。有効にすると、コンバージョン値の更新は手動で行います。デフォルト値はfalse。
シグネチャ
manualSkanConversionManagement: boolean
使用例
// 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';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
manualSkanConversionManagement: true
};
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withManualSkanConversionManagement();
pushNotificationsLinkPaths
SingularConfig.pushNotificationsLinkPaths プロパティ
プッシュ通知ペイロードからディープリンクを抽出するためのカスタムパスを構成します。これにより、通知ペイロードのどこにディープリンクがあるかを指定できます。
シグネチャ
pushNotificationsLinkPaths: Array<Array<string>>
使用例
// 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';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
pushNotificationsLinkPaths: [
['data', 'deeplink'],
['notification', 'data', 'url'],
['custom', 'link']
]
};
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withPushNotificationsLinkPaths([
['data', 'deeplink'],
['notification', 'data', 'url'],
['custom', 'link']
]);
sdidReceivedCallback
- SDID を受信したときに呼び出されるコールバック。
SingularConfig.sdidReceivedCallback プロパティ
SDID がサーバーから受信されたときに呼び出されるコールバック関数を設定します。これは customSdid プロパティと組み合わせて使用します。
シグネチャ
sdidReceivedCallback: (result: string) => void
使用例
// 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';
import { NativeEventEmitter } from 'react-native';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
customSdid: 'custom-device-id'
};
const emitter = new NativeEventEmitter(NativeSingular);
emitter.addListener('DidSetSdidCallback', (result) => {
console.log('SDID set:', result);
});
emitter.addListener('SdidReceivedCallback', (result) => {
console.log('SDID received:', result);
});
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withCustomSdid(
'custom-device-id',
(result) => { console.log('SDID set:', result); },
(result) => { console.log('SDID received:', result); }
);
secret
SingularConfig.secret プロパティ
あなたのSingular SDKの秘密。これは設定の初期化時に設定されなければならない必須プロパティです。
署名
secret: string
使用例
// 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';
import { NativeEventEmitter } from 'react-native';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET'
};
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('YOUR_API_KEY', 'YOUR_SECRET');
sessionTimeout
SingularConfig.sessionTimeout プロパティ
セッションタイムアウトを秒単位で設定します。これは、アプリがバックグラウンドに移行した後、ユーザーセッションが継続する時間を決定します。デフォルト値は-1(デフォルトのタイムアウト60秒を使用)。
シグネチャ
sessionTimeout: number
使用例
// 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';
import { NativeEventEmitter } from 'react-native';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
sessionTimeout: 120 // 2 minutes
};
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withSessionTimeoutInSec(120); // 2 minutes
shortLinkResolveTimeout
SingularConfig.shortLinkResolveTimeout プロパティ
ショートリンク解決のタイムアウトを秒単位で設定します。これは、SDKがショートリンクの解決を待つ時間を決定します。デフォルト値は10秒です。
シグネチャ
shortLinkResolveTimeout: number
使用例
// 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';
import { NativeEventEmitter } from 'react-native';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
shortLinkResolveTimeout: 15
};
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withShortLinkResolveTimeout(15);
singularLinkHandler
SingularConfig.singularLinkHandler プロパティ
シンギュラーリンク(ディープリンク)のコールバックハンドラを設定します。このコールバックは、ディープリンクが解決されたときに呼び出され、アプリケーションでディープリンクデータを処理できるようにします。
シグネチャ
singularLinkHandler: (params: Record<string, any>) => void
使用例
// 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';
import { NativeEventEmitter } from 'react-native';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
// No singularLink callback in config for TurboModule!
};
const emitter = new NativeEventEmitter(NativeSingular);
emitter.addListener('SingularLinkHandler', (params) => {
if (params.deeplink) {
console.log('Deep link received:', params.deeplink);
// Navigate to the appropriate screen
}
if (params.passthrough) {
console.log('Passthrough data:', params.passthrough);
}
});
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withSingularLink((params) => {
if (params.deeplink) {
console.log('Deep link received:', params.deeplink);
// Navigate to the appropriate screen
}
if (params.passthrough) {
console.log('Passthrough data:', params.passthrough);
}
});
skAdNetworkEnabled
SingularConfig.skAdNetworkEnabled プロパティ
iOSでSKAdNetworkアトリビューションを有効または無効にします。有効な場合、SDKは自動的にSKAdNetworkアトリビューションを処理します。デフォルト値はtrue。
シグネチャ
skAdNetworkEnabled: boolean
使用例
// 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';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
skAdNetworkEnabled: true
};
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withSkAdNetworkEnabled(true);
userDetails
SingularConfig.userDetails プロパティ
SDK が送信する最初のセッションに、ハッシュ化されたメールアドレスや電話番号を添付します。SingularUserDetails オブジェクトを割り当てるか、withUserDetails() ビルダーで設定してください。SDK がデバイス上で平文の値を正規化し SHA-256 でハッシュ化するため、元のメールアドレスと電話番号は送信されません。 ユーザーIDとハッシュ化 User Details の設定
対応バージョン: React Native SDK バージョン 4.3.0 以降。
シグネチャ
userDetails: SingularUserDetails
使用例
// 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';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
userDetails: {
email: 'user@example.com',
phoneNumber: '+15551234567'
}
};import { SingularConfig, SingularUserDetails } from 'singular-react-native';
const userDetails = new SingularUserDetails()
.setEmail('user@example.com')
.setPhoneNumber('+15551234567');
const config = new SingularConfig('API_KEY', 'SECRET')
.withUserDetails(userDetails);waitForTrackingAuthorizationWithTimeoutInterval
SingularConfig.waitForTrackingAuthorizationWithTimeoutInterval プロパティ
iOSでATT(App Tracking Transparency)認可を待つためのタイムアウト間隔を設定します。SDKは、続行する前に、ユーザーがATTプロンプトに応答するまで最大この秒数まで待機します。デフォルト値は0(待機なし)です。
シグネチャ
waitForTrackingAuthorizationWithTimeoutInterval: number
使用例
// 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';
const config: SingularConfig = {
apikey: 'API_KEY',
secret: 'SECRET',
waitForTrackingAuthorizationWithTimeoutInterval: 300
};
import { SingularConfig } from 'singular-react-native';
const config = new SingularConfig('API_KEY', 'SECRET')
.withWaitForTrackingAuthorizationWithTimeoutInterval(300);
完全な構成例
総合SDKコンフィギュレーション
次の例は、複数の設定 メ ソ ッ ド を連結 し て包括的な設定を作成す る 方法を示 し ます。
完全な例
// 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';
import { NativeEventEmitter } from 'react-native';
// Create comprehensive configuration
const config: SingularConfig = {
apikey: 'YOUR_API_KEY',
secret: 'YOUR_SECRET',
// Basic options
sessionTimeout: 120,
enableLogging: true,
// User identification
customUserId: 'user123456',
// Global properties
globalProperties: {
app_version: {
Key: 'app_version',
Value: '1.2.3',
OverrideExisting: true
},
user_type: {
Key: 'user_type',
Value: 'premium',
OverrideExisting: true
}
},
// Privacy settings
limitDataSharing: false,
// Email attribution
espDomains: ['mailchimp.com', 'sendgrid.net'],
// Facebook integration
facebookAppId: 'YOUR_FACEBOOK_APP_ID',
// SKAdNetwork (iOS)
skAdNetworkEnabled: true,
waitForTrackingAuthorizationWithTimeoutInterval: 300,
// Push notifications
pushNotificationsLinkPaths: [
['data', 'deeplink'],
['notification', 'data', 'url']
],
// Branded domains
brandedDomains: ['yourcompany.com', 'go.yourcompany.com'],
};
// Initialize the SDK
NativeSingular.init(config);
// Use event emitter for all callbacks/handlers
const emitter = new NativeEventEmitter(NativeSingular);
// Singular Link (deep links)
emitter.addListener('SingularLinkHandler', (params) => {
if (params.deeplink) {
console.log('Deep link:', params.deeplink);
// Handle deep link navigation
}
if (params.passthrough) {
console.log('Passthrough data:', params.passthrough);
}
});
// Attribution callback
emitter.addListener('DeviceAttributionCallbackHandler', (attributionData) => {
console.log('Attribution:', attributionData);
});
// SDID callbacks (if needed)
emitter.addListener('DidSetSdidCallback', (result) => {
console.log('SDID set:', result);
});
emitter.addListener('SdidReceivedCallback', (result) => {
console.log('SDID received:', result);
});
import { Singular, SingularConfig } from 'singular-react-native';
// Create comprehensive configuration
const config = new SingularConfig('YOUR_API_KEY', 'YOUR_SECRET')
// Basic options
.withSessionTimeoutInSec(120)
.withLoggingEnabled()
// User identification
.withCustomUserId('user123456')
// Global properties
.withGlobalProperty('app_version', '1.2.3', true)
.withGlobalProperty('user_type', 'premium', true)
// Deep links
.withSingularLink((params) => {
if (params.deeplink) {
console.log('Deep link:', params.deeplink);
// Handle deep link navigation
}
})
.withShortLinkResolveTimeout(10)
// Attribution callback
.withDeviceAttributionCallbackHandler((attributionData) => {
console.log('Attribution:', attributionData);
})
// Privacy settings
.withLimitDataSharing(false)
// Email attribution
.withEspDomains(['mailchimp.com', 'sendgrid.net'])
// Facebook integration
.withFacebookAppId('YOUR_FACEBOOK_APP_ID')
// SKAdNetwork (iOS)
.withSkAdNetworkEnabled(true)
.withWaitForTrackingAuthorizationWithTimeoutInterval(30)
// Push notifications
.withPushNotificationsLinkPaths([
['data', 'deeplink'],
['notification', 'data', 'url']
])
// Branded domains
.withBrandedDomains(['yourcompany.com', 'go.yourcompany.com']);
// Initialize the SDK
Singular.init(config);