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

ドキュメント

Flutter SDK - 設定リファレンス

このドキュメントはFlutterアプリケーション用のSingular SDKで利用可能なすべての設定オプションに関する包括的なリファレンスを提供します。SingularConfigオブジェクトによって、トラッキング設定、アトリビューションオプション、プライバシーコントロールなどを含むSDKの動作をカスタマイズすることができます。各設定プロパティは説明、署名、実際の使用例とともに紹介されています。


クリップボード属性

SingularConfig.clipboardAttribution プロパティ

デバイスのクリップボードにコピーされたディープリンクをトラッキングするために、クリップボード帰属を有効にします。有効にすると、SDKはアプリ起動時にSingularリンクのクリップボードをチェックします。

シグネチャ

bool clipboardAttribution

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.clipboardAttribution = true;

collectOAID

SingularConfig.collectOAIDプロパティ

AndroidデバイスのOpen Anonymous Device Identifier(OAID)の収集を有効にします。OAIDは、主に中国で使用されている広告識別子です。

シグネチャ

bool collectOAID

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.collectOAID = true;

コンバージョン値更新コールバック

SingularConfig.conversionValueUpdatedCallbackプロパティ

SKAdNetworkのコンバージョン値が更新されたときにトリガーされるコールバック関数を設定します(iOSのみ)。このコールバックは新しいコンバージョン値をパラメータとして受け取ります。

シグネチャ

ConversionValueUpdatedCallback? conversionValueUpdatedCallback

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.conversionValueUpdatedCallback = (int conversionValue) {
  print('SKAdNetwork conversion value updated: $conversionValue');
};

conversionValuesUpdatedCallback

SingularConfig.conversionValuesUpdatedCallbackプロパティ

SKAdNetwork 4.0+のコンバージョン値のコールバック関数を設定します(iOS 16.1+のみ)。このコールバックは、細かい変換値、粗い変換値、ロックステータスを受け取ります。

シグネチャ

ConversionValuesUpdatedCallback? conversionValuesUpdatedCallback

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.conversionValuesUpdatedCallback = (int conversionValue, int coarse, bool lock) {
  print('Fine: $conversionValue, Coarse: $coarse, Locked: $lock');
};

customSdid

SingularConfig.customSdidプロパティ

カスタムSingularデバイスID(SDID)を設定します。これにより、SDKが生成したものを使用する代わりに、独自のデバイス識別子を提供することができます。

署名

String? customSdid

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.customSdid = 'my_custom_device_id_123';

カスタムユーザーID

SingularConfig.customUserIdプロパティ

SDK初期化時にカスタムユーザー識別子を設定します。これにより、すべてのイベントは最初からアプリケーションのユーザーIDに関連付けられます。

シグネチャ

String? customUserId

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.customUserId = 'user_12345';

deviceAttributionCallback

SingularConfig.deviceAttributionCallbackプロパティ

デバイス属性データを受け取るコールバック関数を設定します。このコールバックは、属性情報がSingularサーバーから利用可能になったときにトリガーされます。

シグネチャ

DeviceAttributionCallback? deviceAttributionCallback

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.deviceAttributionCallback = (Map<String, dynamic> attributes) {
  print('Attribution data received:');
  attributes.forEach((key, value) {
    print('  $key: $value');
  });
};

didSetSdidCallback

SingularConfig.didSetSdidCallbackプロパティ

SDKによってSingularデバイスID(SDID)が設定された後にトリガーされるコールバック関数を設定します。

シグネチャ

SdidAccessorCallback? didSetSdidCallback

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.didSetSdidCallback = (String sdid) {
  print('SDID has been set: $sdid');
};

イネーブルロギング

SingularConfig.enableLoggingプロパティ

Singular SDKのデバッグロギングを有効にします。有効にすると、SDKはデバッグやトラブルシューティングに役立つ詳細なログを出力します。

シグネチャ

bool enableLogging

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.enableLogging = true;

enableOdmWithTimeoutInterval

SingularConfig.enableOdmWithTimeoutIntervalプロパティ

指定したタイムアウト間隔(秒)でオンデバイスマッチング(ODM)を有効にします。ODMは、データをSingularサーバーに送信する前に、デバイス識別子をローカルでマッチングすることにより、帰属の精度を向上させます。

シグネチャ

int enableOdmWithTimeoutInterval

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.enableOdmWithTimeoutInterval = 5; // 5 seconds timeout

facebookAppId

SingularConfig.facebookAppId プロパティ

Facebookアトリビューション統合用のFacebookアプリIDを設定します。これにより、Facebook広告キャンペーンの適切なアトリビューション追跡が可能になります。

署名

String? facebookAppId

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.facebookAppId = '1234567890123456';

グローバルプロパティ

SingularConfig.globalProperties プロパティ

SDK初期化時にグローバルプロパティのリストを設定します。これらのプロパティは、SDKによって追跡されるすべてのイベントに自動的に含まれます。

シグネチャー

List<SingularGlobalProperty> globalProperties

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';
import 'package:singular_flutter_sdk/singular_global_property.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.globalProperties = [
  SingularGlobalProperty('app_version', '2.5.0', true),
  SingularGlobalProperty('user_tier', 'premium', false)
];

imei

SingularConfig.imeiプロパティ

トラッキング用のデバイスIMEI(国際移動体識別番号)を設定します。 これは主に、IMEIが一般的なデバイス識別子である特定のアジア市場で使用されます。

署名

String? imei

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.imei = '123456789012345';

リミット広告識別子

SingularConfig.limitAdvertisingIdentifiersプロパティ

SDKの初期化中に広告識別子(iOSではIDFA、AndroidではGAID)の収集を制限します。有効にすると、SDKは広告IDを収集または送信しません。

署名

bool limitAdvertisingIdentifiers

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.limitAdvertisingIdentifiers = true;

リミットデータ共有

SingularConfig.limitDataSharingプロパティ

SDK初期化時に第三者とのデータ共有を制限します。有効にすると、SDKは広告ネットワークやその他のパートナーとのアトリビューションデータの共有を制限します。

シグネチャ

bool? limitDataSharing

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.limitDataSharing = true;

ログレベル

SingularConfig.logLevelプロパティ

SDKのロギングレベルを設定します。より高い値は、デバッグ目的のためのより詳細なロギング出力を提供します。

利用可能なレベルは以下のとおりです:

  • NONE = -1

  • VERBOSE = Log.VERBOSE(Android定数、数値2)

  • DEBUG = Log.DEBUG (3)

  • INFO = Log.INFO (4)

  • WARNING = Log.WARN (5)

  • ERROR = Log.ERROR (6)

署名

int logLevel

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.logLevel = 5; // Maximum logging detail

マニュアルスキャンコンバージョン管理

SingularConfig.manualSkanConversionManagementプロパティ

手動でのSKAdNetworkコンバージョン値管理を有効にします(iOSのみ)。有効にすると、SDKは自動的にコンバージョン値を更新しないので、コンバージョン値がいつ、どのように設定されるかを完全にコントロールできるようになります。

シグネチャ

bool manualSkanConversionManagement

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.manualSkanConversionManagement = true;

sdidReceivedCallback

SingularConfig.sdidReceivedCallbackプロパティ

Singular Device ID (SDID)がサーバーから受信されたとき、またはローカルストレージから取得されたときにトリガーされるコールバック関数を設定します。

シグネチャ

SdidAccessorCallback? sdidReceivedCallback

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.sdidReceivedCallback = (String sdid) {
  print('SDID received: $sdid');
};

セッションタイムアウト

SingularConfig.sessionTimeout プロパティ

セッションタイムアウト時間を秒単位で設定します。この非アクティブ期間が経過すると、SDKはアプリが再び開かれたときに新しいセッションとみなします。

シグネチャ

double sessionTimeout

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.sessionTimeout = 60.0; // 60 seconds

shortLinkResolveTimeOut

SingularConfig.shortLinkResolveTimeOutプロパティ

ショートリンクを解決するタイムアウト時間を秒単位で設定します。これは、SDKがタイムアウトする前にショートリンクが解決するのを待つ時間を決定します。

シグネチャ

double shortLinkResolveTimeOut

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.shortLinkResolveTimeOut = 10.0; // 10 seconds

singularLinksHandler

SingularConfig.singularLinksHandler プロパティ

Singularリンク(ディープリンク)のコールバックハンドラーを設定します。このコールバックは、ユーザーがSingularショートリンクまたはディファードディープリンク経由でアプリを開いたときにトリガーされます。

シグネチャ

SingularLinksHandler? singularLinksHandler

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';
import 'package:singular_flutter_sdk/singular_link_params.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.singularLinksHandler = (SingularLinkParams params) {
  print('Deep link received:');
  print('  Deep link: ${params.deeplink}');
  print('  Passthrough: ${params.passthrough}');
  print('  Is deferred: ${params.isDeferred}');
};

skAdNetworkEnabled

SingularConfig.skAdNetworkEnabled プロパティ

SKAdNetworkの統合を有効または無効にします(iOSのみ)。有効な場合、SDKは自動的にSKAdNetworkのアトリビューションとコンバージョン値の更新を処理します。

シグネチャ

bool skAdNetworkEnabled

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.skAdNetworkEnabled = true;

waitForTrackingAuthorizationWithTimeoutInterval

SingularConfig.waitForTrackingAuthorizationWithTimeoutIntervalプロパティ

iOSのApp Tracking Transparency(ATT)認可を待機するタイムアウト間隔を秒単位で設定します。SDKは、ユーザーがATTプロンプトに応答するか、タイムアウトに達するまで初期化を遅らせます。

シグネチャ

int waitForTrackingAuthorizationWithTimeoutInterval

使用例

Dart
import 'package:singular_flutter_sdk/singular_config.dart';

SingularConfig config = SingularConfig('API_KEY', 'SECRET_KEY');
config.waitForTrackingAuthorizationWithTimeoutInterval = 30; // 30 seconds

完全な構成例

以下は、Flutterアプリケーション用に複数のオプションを使用してSingular SDKを設定する方法を示す包括的な例です。

Dart
import 'package:flutter/material.dart';
import 'package:singular_flutter_sdk/singular.dart';
import 'package:singular_flutter_sdk/singular_config.dart';
import 'package:singular_flutter_sdk/singular_link_params.dart';
import 'package:singular_flutter_sdk/singular_global_property.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
    initSingularSDK();
  }

  void initSingularSDK() {
    // Create configuration object
    SingularConfig config = SingularConfig(
      'YOUR_API_KEY',
      'YOUR_SECRET_KEY'
    );

    // Enable logging for debugging
    config.enableLogging = true;
    config.logLevel = 4;

    // Set custom user ID if available
    config.customUserId = 'user_12345';

    // Configure session timeout
    config.sessionTimeout = 60.0;

    // Enable clipboard attribution
    config.clipboardAttribution = true;

    // Configure SKAdNetwork (iOS)
    config.skAdNetworkEnabled = true;
    config.manualSkanConversionManagement = false;
    config.waitForTrackingAuthorizationWithTimeoutInterval = 30;

    // Set conversion value callbacks (iOS)
    config.conversionValueUpdatedCallback = (int conversionValue) {
      print('SKAdNetwork conversion value updated: $conversionValue');
    };

    config.conversionValuesUpdatedCallback = (int cv, int coarse, bool lock) {
      print('SKAdNetwork values - Fine: $cv, Coarse: $coarse, Lock: $lock');
    };

    // Configure deep link handling
    config.singularLinksHandler = (SingularLinkParams params) {
      print('Singular Link detected');
      print('Deep link: ${params.deeplink}');
      print('Passthrough params: ${params.passthrough}');
      print('Is deferred: ${params.isDeferred}');

      // Handle deep link navigation
      if (params.deeplink != null) {
        // Navigate to appropriate screen based on deep link
      }
    };

    // Set short link timeout
    config.shortLinkResolveTimeOut = 10.0;

    // Configure attribution callback
    config.deviceAttributionCallback = (Map<String, dynamic> attributes) {
      print('Attribution data received:');
      attributes.forEach((key, value) {
        print('  $key: $value');
      });
    };

    // Configure SDID callbacks
    config.sdidReceivedCallback = (String sdid) {
      print('SDID received: $sdid');
    };

    config.didSetSdidCallback = (String sdid) {
      print('SDID has been set: $sdid');
    };

    // Set global properties
    config.globalProperties = [
      SingularGlobalProperty('app_version', '2.5.0', true),
      SingularGlobalProperty('user_tier', 'premium', false),
      SingularGlobalProperty('environment', 'production', true)
    ];

    // Configure Facebook integration
    config.facebookAppId = '1234567890123456';

    // Privacy settings
    config.limitDataSharing = false;
    config.limitAdvertisingIdentifiers = false;

    // Android-specific settings
    config.collectOAID = true;

    // Enable On-Device Matching
    config.enableOdmWithTimeoutInterval = 5;

    // Start the SDK
    Singular.start(config);

    print('Singular SDK initialized successfully');
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Singular Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: Text('Singular SDK Demo'),
        ),
        body: Center(
          child: Text('Singular SDK Initialized'),
        ),
      ),
    );
  }
}