Flutter SDK - 設定メソッドリファレンス

ドキュメント

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);