Flutter SDK - 設定方法リファレンス
このドキュメントでは、Flutterアプリケーション用のSingular SDKで利用可能なすべての設定オプションの包括的なリファレンスを提供します。SingularConfigオブジェクトによって、トラッキング設定、アトリビューションオプション、プライバシーコントロールなどを含むSDKの動作をカスタマイズすることができます。各設定メソッドは説明、シグネチャ、実際の使用例とともに紹介されています。
クリップボード属性
SingularConfig.clipboardAttributionプロパティ
SDKのクリップボード帰属を有効にします。有効にすると、SDKは初期化中にデバイスのクリップボードの属性リンクをチェックします。
シグネチャ
bool clipboardAttribution = false;
使用例
// Enable clipboard attribution
config.clipboardAttribution = true;
collectOAID
SingularConfig.collectOAIDプロパティ
サポートされているAndroidデバイスでOAID(Open Anonymous Device Identifier)の収集を有効にします。これは、一部の地域、特に中国で使用される代替識別子です。
シグネチャ
bool collectOAID = false;
使用例
// Enable OAID collection
config.collectOAID = true;
コンバージョン値更新コールバック
SingularConfig.conversionValueUpdatedCallback プロパティ
SKAdNetworkのコンバージョン値が更新された時に呼び出されるコールバック関数を設定します。これはiOSに特有のもので、コンバージョン値の変更に反応することができます。
シグネチャ
ConversionValueUpdatedCallback? conversionValueUpdatedCallback;
使用例
// Set conversion value updated callback
config.conversionValueUpdatedCallback = (int conversionValue) {
print("Conversion value updated to: $conversionValue");
// Update UI or take other actions based on the new conversion value
};
conversionValuesUpdatedCallback
SingularConfig.conversionValuesUpdatedCallbackプロパティ
SKAdNetwork 4.0のコンバージョン値が更新された時に呼び出されるコールバック関数を設定します。これはiOS 16.1+に特有で、fine、coarse、lock値の変更に反応することができます。
シグネチャ
ConversionValuesUpdatedCallback? conversionValuesUpdatedCallback;
使用例
// Set conversion values updated callback for SKAdNetwork 4.0
config.conversionValuesUpdatedCallback = (int conversionValue, int coarse, bool lock) {
print("Conversion values updated - Fine: $conversionValue, Coarse: $coarse, Lock: $lock");
// Update UI or take other actions based on the new conversion values
};
customSdid
SingularConfig.customSdidプロパティ
エンタープライズ機能:カスタムSDID(SingularデバイスID)を設定します。これにより、Singularによって生成されたものを使用する代わりに、独自のデバイス識別子を提供することができます。
シグネチャ
String? customSdid;
使用例
// Set custom SDID
config.customSdid = "custom-device-id-12345";
customUserId
SingularConfig.customUserIdプロパティ
SDK初期化時にカスタムユーザーIDを設定します。これにより、Singularデータを最初から独自のユーザー識別システムに関連付けることができます。
シグネチャ
String? customUserId;
使用例
// Set custom user ID
config.customUserId = "user_123456";
deviceAttributionCallback
SingularConfig.deviceAttributionCallbackプロパティ
BETA機能:デバイス属性データが利用可能になった時に呼び出されるコールバック関数を設定します。これにより、アトリビューションデータが利用可能になるとすぐにアクセスできるようになります。
シグネチャ
DeviceAttributionCallback? deviceAttributionCallback;
使用例
// Set device attribution callback
config.deviceAttributionCallback = (Map attributionData) {
print("Attribution data received: $attributionData");
// Access specific attribution parameters
final campaign = attributionData["campaign"];
final source = attributionData["source"];
final adSet = attributionData["adSet"];
// Update UI or take actions based on attribution data
if (campaign != null) {
showCampaignSpecificContent(campaign);
}
};
didSetSdidCallback
SingularConfig.didSetSdidCallback プロパティ
エンタープライズ機能:SDID(Singular Device ID)が設定されたときに呼び出されるコールバック関数を設定します。これにより、カスタムSDIDが正常に設定されたときに通知を受けることができます。
シグネチャ
SdidAccessorCallback? didSetSdidCallback;
使用例
// Set custom SDID
config.customSdid = "custom-device-id-12345";
// Set callback for when SDID is set
config.didSetSdidCallback = (String sdid) {
print("SDID was set: $sdid");
// Perform any actions needed after SDID is set
};
enableLogging
SingularConfig.enableLoggingプロパティ
SDKの詳細ロギングを有効にします。有効にすると、SDKはデバッグに役立つ詳細なログを出力します。
シグネチャ
bool enableLogging = false;
使用例
// Enable logging for debugging
config.enableLogging = true;
espDomains
SingularConfig.espDomains プロパティ
Eメール帰属のためのESP(Eメールサービスプロバイダ)ドメインを設定します。これにより、どのEメールドメインを帰属の対象とするかを指定できます。
署名
List espDomains = [];
使用例
// Set ESP domains for email attribution
config.espDomains = [
"mailchimp.com",
"sendgrid.net",
"campaign-monitor.com"
];
facebookAppId
SingularConfig.facebookAppId プロパティ
Facebookアトリビューション用のFacebookアプリIDを設定します。これにより、SDKはFacebookキャンペーンからのインストールやイベントをアトリビューションできるようになります。
署名
String? facebookAppId;
使用例
// Set Facebook App ID for attribution
config.facebookAppId = "123456789012345";
imei
SingularConfig.imeiプロパティ
デバイスのIMEI(International Mobile Equipment Identity)を設定します。これは通常、IMEIが帰属のための共通識別子である市場で使用される。
署名
String? imei;
使用例
// Set IMEI (only if you have proper permission to access it)
config.imei = "123456789012345";
リミットデータ共有
SingularConfig.limitDataSharingプロパティ
SDK初期化時にデータ共有制限ステータスを設定します。このプロパティを使用して、ユーザーの同意またはプライバシー要件に基づいてデータ共有を制限します。
シグネチャ
bool? limitDataSharing;
使用例
// Get user consent status
bool hasUserConsent = getUserConsentStatus();
// Set data sharing limitation based on consent
config.limitDataSharing = !hasUserConsent;
limitedIdentifiersEnabled
SingularConfig.limitedIdentifiersEnabledプロパティ
限定識別子の使用を有効または無効にします。このオプションは、SDKがトラッキングとアトリビューションのためにデバイス識別子を収集し使用する方法に影響します。
シグネチャ
bool limitedIdentifiersEnabled = false;
使用例
// Enable limited identifiers mode
config.limitedIdentifiersEnabled = true;
ログレベル
SingularConfig.logLevelプロパティ
SDKのログレベルを設定します。これは、SDKによって生成されるログの冗長性を制御します。デフォルト値は-1(ロギングなし)です。一般的な値は0(エラー)、1(警告)、2(情報)、3(デバッグ)、4(冗長)。
シグネチャ
int logLevel = -1;
使用例
// Set log level to debug
config.logLevel = 3;
マニュアルスキャンコンバージョン管理
SingularConfig.manualSkanConversionManagementプロパティ
SKAdNetwork変換値の手動管理を有効にする。有効にすると、SDKはコンバージョン値を自動的に更新せず、手動で管理できるようになります。
シグネチャ
bool manualSkanConversionManagement = false;
使用例
// Enable manual SKAdNetwork conversion management
config.manualSkanConversionManagement = true;
プッシュ通知リンクパス
SingularConfig.pushNotificationsLinkPathsプロパティ
プッシュ通知ペイロード内のディープリンクを探すパスを設定します。これはSDKがプッシュ通知内のアトリビューションリンクを見つけて処理するのに役立ちます。
シグネチャ
List<List<String>> pushNotificationsLinkPaths = [[]];
使用例
// Set push notification link paths
config.pushNotificationsLinkPaths = [
["data", "deeplink"],
["notification", "data", "url"],
["custom", "link"]
];
sdidReceivedCallback
SingularConfig.sdidReceivedCallback プロパティ
エンタープライズ機能:SDID(Singular Device ID)を受信したときに呼び出されるコールバック関数を設定します。これにより、SDIDが利用可能になるとすぐにアクセスできるようになります。
シグネチャ
SdidAccessorCallback? sdidReceivedCallback;
使用例
// Set callback for when SDID is received
config.sdidReceivedCallback = (String sdid) {
print("SDID received: $sdid");
// Store or use the SDID as needed
storeDeviceIdentifier(sdid);
};
セッションタイムアウト
SingularConfig.sessionTimeoutプロパティ
セッションタイムアウトを秒単位で設定します。これは、アプリがバックグラウンドに移行した後、ユーザーセッションが継続する時間を決定します。デフォルト値は-1で、SDKのデフォルトタイムアウト(60秒)を使用します。
シグネチャ
double sessionTimeout = -1;
使用例
// Set session timeout to 2 minutes
config.sessionTimeout = 120;
shortLinkResolveTimeOut
SingularConfig.shortLinkResolveTimeOutプロパティ
ショートリンクを解決するタイムアウトを秒単位で設定します。これは、SDKが初期化を続行する前にショートリンクが解決するのを待つ時間を決定します。デフォルト値は10秒です。
シグネチャ
double shortLinkResolveTimeOut = 10.0;
使用例
// Set short link resolve timeout to 15 seconds
config.shortLinkResolveTimeOut = 15.0;
singularLinksHandler
SingularConfig.singularLinksHandlerプロパティ
Singularによって処理されるディープリンクを処理するコールバック関数を設定します。これにより、あなたのアプリはアトリビューションで使用されるディープリンクに応答できるようになります。
シグネチャ
SingularLinksHandler? singularLinksHandler;
使用例
// Set singular links handler
config.singularLinksHandler = (SingularLinkParams params) {
// Check if we have a deep link
if (params.deeplink != null) {
print("Deep link received: ${params.deeplink}");
// Navigate based on the deep link
navigateToScreen(params.deeplink!);
}
// Check if this is a deferred deep link
if (params.isDeferred == true) {
print("This is a deferred deep link");
}
// Access passthrough parameters
if (params.passthrough != null) {
print("Passthrough data: ${params.passthrough}");
}
// Access all URL parameters from the OpenURL/Deeplink. Does not work with Deferred Deep Links.
if (params.urlParameters != null) {
print("URL parameters: ${params.urlParameters}");
}
};
skAdNetworkEnabled
SingularConfig.skAdNetworkEnabled プロパティ
SKAdNetworkサポートを有効または無効にします。これはiOSに特有で、SDKがアトリビューションのためにAppleのSKAdNetworkを使用するかどうかを制御します。デフォルト値はtrue。
シグネチャ
bool skAdNetworkEnabled = true;
使用例
// Disable SKAdNetwork support if needed
config.skAdNetworkEnabled = false;
waitForTrackingAuthorizationWithTimeoutInterval
SingularConfig.waitForTrackingAuthorizationWithTimeoutInterval プロパティ
iOS 14+でユーザーのトラッキング認証応答を待つタイムアウト間隔を秒単位で設定します。これは、初期化を続行する前に、SDKがATTプロンプト応答を待つ時間を決定します。デフォルト値は0で、これはSDKがATTプロンプト応答を待たないことを意味します。
署名
int waitForTrackingAuthorizationWithTimeoutInterval = 0;
使用例
// Wait up to 5 seconds for ATT prompt response
config.waitForTrackingAuthorizationWithTimeoutInterval = 5;
withGlobalProperty
SingularConfig.withGlobalPropertyメソッド
SDK初期化中にグローバルプロパティを設定します。このプロパティはSDKによって追跡されるすべてのイベントで送信されます。これはプロパティではなくメソッドであり、連鎖したコンフィギュレーションを可能にします。
シグネチャ
void withGlobalProperty(String key, String value, bool overrideExisting)
使用例
// Add global properties
config.withGlobalProperty("app_version", "1.2.3", true);
config.withGlobalProperty("user_type", "free", true);
完全な構成例
SDK の包括的な構成
次の例は、複数の設定プ ロ パテ ィ と メ ソ ッ ド を一緒に設定す る こ と に よ っ て包括的な設定を作成す る 方法を示 し ます。
完全な例
SingularConfig config = new SingularConfig('SDK KEY', 'SDK SECRET');
config.waitForTrackingAuthorizationWithTimeoutInterval = 60;
config.customUserId = "user_123456"; // Set a custom user ID for tracking
config.withGlobalProperty("key1", "value1", true);
config.limitDataSharing = false; // Allow data sharing (set to true for compliance if needed)
config.facebookAppId = "123456789012345"; // Optional: For Facebook integration
config.singularLinksHandler = (SingularLinkParams params) {
print('Received deferred deeplink: ');
deeplinkParams['deeplink'] = params.deeplink;
deeplinkParams['passthrough'] = params.passthrough;
deeplinkParams['isDeferred'] = params.isDeferred;
};
Singular.start(config);