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

ドキュメント

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

この包括的なリファレンスは、Flutterアプリケーション用のSingular SDKで利用可能なすべてのメソッドについて説明しています。SDKは初期化、イベントトラッキング、収益レポート、アトリビューション、データプライバシーコンプライアンス、設定のための機能を提供します。各メソッドには説明、署名、実用的な使用例が記載されており、開発者がSingularのSDK機能をアプリケーションに統合するのに役立ちます。

広告収入

Singular.adRevenueメソッド

詳細な広告データ情報で広告収入イベントをトラッキングします。このメソッドを使用すると、アプリケーションに表示された広告から発生した収益を、広告パフォーマンスを分類・分析するための様々なパラメータと共に報告することができます。

シグネチャ

static void adRevenue(SingularAdData? adData)

使用例

// Create ad data object
final adData = SingularAdData("AdMob", "USD", 0.05)
    .withNetworkName("Google")
    .withAdType("Rewarded")
    .withAdPlacementName("level_complete")
    .withAdUnitId("ca-app-pub-123456789/1234567890");

// Track ad revenue event
Singular.adRevenue(adData);

clearGlobalProperties

Singular.clearGlobalPropertiesメソッド

以前に設定されたすべてのグローバルプロパティを削除します。これは、ユーザーがアプリケーションからログアウトした場合など、グローバルプロパティをリセットする必要がある場合に便利です。

シグネチャ

static void clearGlobalProperties()

使用例

// Clear all global properties, for example when a user logs out
Singular.clearGlobalProperties();

createReferrerShortLink

Singular.createReferrerShortLink メソッド

共有やアトリビューションに使用できるリファラー情報を持つショートリンクを作成します。このメソッドは、ユーザーと共有できる追跡可能なリンクを生成し、インストールやアクティビティを特定のリファラーソースに帰属させることができます。

署名

static void createReferrerShortLink(String baseLink, String referrerName, String referrerId, Map args, ShortLinkCallback shortLinkCallback)

使用例

// Create a short link for referral
Singular.createReferrerShortLink(
    "https://sample.sng.link/B4tbm/v8fp?_dl=https%3A%2F%2Fabc.com",
    "John Doe", // Referrer Name
    "aq239897", // Referrer ID
    {
        "channel": "sms", 
        "campaign": "summer_promo"
    }, // Passthrough parameters
    (String? data, String? error) {
        if (error != null) {
            print("Error creating short link: $error");
        } else {
            print("Generated short link: $data");
            // Share the link with users
        }
    }
);

customRevenue

Singular.customRevenueメソッド

指定したイベント名、通貨、金額でカスタム収益イベントをトラッキングします。これにより、より具体的な収益追跡のためにカスタム名で収益イベントを追跡できます。

  • イベント名は32 ASCII文字に制限されています。非ASCII文字の場合、UTF-8に変換すると32バイトに制限されます。
  • 通貨コードはすべて大文字で、3文字のISO 4217通貨コードに準拠する必要があります。

署名

static void customRevenue(String eventName, String currency, double amount)

使用例

// Track a custom revenue event
Singular.customRevenue("premium_subscription", "USD", 9.99);

customRevenueWithAllAttributes

Singular.customRevenueWithAllAttributesメソッド

指定されたイベント名、通貨、金額、詳細な商品情報を持つカスタム収益イベントを追跡します。これにより、商品の詳細を含む包括的な収益追跡が可能になります。

  • イベント名は32 ASCII文字に制限されています。非ASCII文字の場合、UTF-8に変換されると32バイトに制限されます。
  • 通貨コードはすべて大文字で、ISO 4217の3文字の通貨コードに準拠する必要があります

署名

static void customRevenueWithAllAttributes(String eventName, String currency, double amount, String productSKU, String productName, String productCategory, int productQuantity, double productPrice)

使用例

// Track a custom revenue event with detailed product information
Singular.customRevenueWithAllAttributes(
    "item_purchased",
    "USD",
    19.98,
    "SKU123456",
    "Premium Sword",
    "Weapons",
    2,
    9.99
);

customRevenueWithAttributes

Singular.customRevenueWithAttributesメソッド

指定されたイベント名、通貨、金額、追加のカスタム属性を持つカスタム収益イベントを追跡します。これにより、カスタムパラメータでより詳細な収益を追跡できます。

  • イベント名は32 ASCII文字に制限されています。非ASCII文字の場合、UTF-8に変換されると32バイトに制限されます。
  • 通貨コードはすべて大文字で、3文字のISO 4217通貨コードに準拠する必要があります。

署名

static void customRevenueWithAttributes(String eventName, String currency, double amount, Map attributes)

使用例

// Track a custom revenue event with additional parameters
Singular.customRevenueWithAttributes(
    "in_app_purchase",
    "USD",
    5.99,
    {
        "product_id": "com.app.gems_pack_small",
        "quantity": 1,
        "transaction_id": "T12345678",
        "receipt_id": "R98765432"
    }
);

イベント

Singular.event メソッド

指定した名前の単純なイベントを追跡します。このメソッドを使用して、アプリケーション内のユーザーのアクションとエンゲージメントを追跡します。

  • イベント名は32 ASCII文字に制限されています。非ASCII文字の場合、UTF-8に変換すると32バイトになります。

シグネチャ

static void event(String eventName)

使用例

// Track a simple event
Singular.event("level_completed");

eventWithArgs

Singular.eventWithArgsメソッド

指定された名前と追加のカスタム属性を持つイベントを追跡します。これにより、カスタムパラメータを使用したより詳細なイベント追跡が可能になります。

  • イベント名は32 ASCII文字に制限されています。非ASCII文字の場合、UTF-8に変換されると32バイトに制限されます。
  • イベント属性名と属性値は500 ASCII文字に制限されます。

シグネチャ

static void eventWithArgs(String eventName, Map args)

使用例

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

getGlobalProperties

Singular.getGlobalPropertiesメソッド

現在設定されているすべてのグローバル・プロパティを取得します。このメソッドは、SDKに設定されているすべてのグローバルプロパティを含むMapに解決するFutureを返します。

シグネチャ

static Future getGlobalProperties()

使用例

// Get all global properties
Singular.getGlobalProperties()

getLimitDataSharing

Singular.getLimitDataSharingメソッド

現在のデータ共有制限ステータスを取得します。このメソッドは、データ共有が現在制限されているかどうかを示すブール値に解決する Future を返します。

シグネチャ

static Future getLimitDataSharing()

使用例

// Check if data sharing is limited
Singular.getLimitDataSharing()

handlePushNotification

Singular.handlePushNotification メソッド

帰属のためにプッシュ通知のペイロードを処理します。このメソッドはアプリがプッシュ通知を受信したときに呼び出され、Singularが正しくアトリビュートできるようにする必要があります。このメソッドは iOS でのみ利用可能です。

シグネチャ

static void handlePushNotification(Map pushNotificationPayload)

使用例

// Handle a received push notification
void onPushNotificationReceived(Map payload) {
  Singular.handlePushNotification(payload);
}

inAppPurchase

Singular.inAppPurchaseメソッド

このメソッドは、アプリ内のトランザクションを管理するためにFlutter IAPパッケージを使用する必要があります。

指定されたイベント名と購入データを持つアプリ内購入イベントを追跡します。このメソッドは、アプリケーション内で行われたアプリ内購入を報告するために使用されます。

  • イベント名は32 ASCII文字に制限されています。ASCII文字以外の場合、UTF-8に変換すると32バイトになります。

署名

static void inAppPurchase(String eventName, SingularIAP purchase)

使用例

import 'package:singular_flutter_sdk/singular_iap.dart';

singularPurchase = new SingularIOSIAP(
   product.price,
   product.currencyCode,
   purchase.productId,
   purchase.purchaseId,
   purchase.verificationData.serverVerificationData);

singularPurchase = new SingularAndroidIAP(
   product.price,
   product.currencyCode,
   purchase.singature,
   purchase.verificationData.serverVerificationData);

Singular.inAppPurchase(eventName, singularPurchase);

inAppPurchaseWithAttributes

Singular.inAppPurchaseWithAttributesメソッド

このメソッドは、アプリ内のトランザクションを管理するためにFlutter IAPパッケージを使用する必要があります。

指定したイベント名、購入データ、追加のカスタム属性でアプリ内購入イベントをトラッキングします。これにより、カスタムパラメータでより詳細な購入トラッキングが可能になります。

  • イベント名は32 ASCII文字に制限されています。非ASCII文字の場合、UTF-8に変換すると32バイトになります。

署名

static void inAppPurchaseWithAttributes(String eventName, SingularIAP purchase, Map attributes)

使用例

import 'package:singular_flutter_sdk/singular_iap.dart';

singularPurchase = new SingularIOSIAP(
   product.price,
   product.currencyCode,
   purchase.productId,
   purchase.purchaseId,
   purchase.verificationData.serverVerificationData);

singularPurchase = new SingularAndroidIAP(
   product.price,
   product.currencyCode,
   purchase.singature,
   purchase.verificationData.serverVerificationData);

// Track the purchase with additional attributes
Singular.inAppPurchaseWithAttributes(
    eventName, 
    singularPurchase,
    purchase,
    {
        "user_level": 42,
        "is_first_purchase": true,
        "gems_balance": 1500
    }
);

isAllTrackingStopped

Singular.isAllTrackingStoppedメソッド

すべてのトラッキングが現在停止しているかどうかをチェックします。このメソッドは、トラッキングが現在停止しているかどうかを示すブール値に解決するFutureを返します。

シグネチャ

static Future isAllTrackingStopped()

使用例

// Check if tracking is stopped
Singular.isAllTrackingStopped()

limitDataSharing

Singular.limitDataSharing メソッド

データ共有の制限ステータスを設定します。このメソッドを使用して、ユーザーの同意またはプライバシー要件に基づいてデータ共有を制限します。

シグネチャ

static void limitDataSharing(bool shouldLimitDataSharing)

使用例

// To limit data sharing (e.g., when user opts out) 
Singular.limitDataSharing(true);

// To enable full data sharing (e.g., when user opts in)
Singular.limitDataSharing(false);

registerDeviceTokenForUninstall

Singular.registerDeviceTokenForUninstall メソッド

アンインストール追跡用にデバイストークンを登録します。アンインストール追跡を有効にするには、このメソッドをプッシュ通知トークンと一緒に呼び出す必要があります。

シグネチャ

static void registerDeviceTokenForUninstall(String deviceToken)

使用例

// Register device token for uninstall tracking
Singular.registerDeviceTokenForUninstall(token);

全トラッキングの再開

Singular.resumeAllTracking メソッド

停止していた全てのトラッキングを再開します。一度停止したトラッキングを再度有効にするにはこのメソッドを使用してください。

シグネチャ

static void resumeAllTracking()

使用例

// Resume tracking, for example when user opts back in
Singular.resumeAllTracking();

setCustomUserId

Singular.setCustomUserIdメソッド

現在のユーザーのカスタムユーザーIDを設定します。これにより、Singularのデータを独自のユーザー識別システムに関連付けることができます。

シグネチャ

static void setCustomUserId(String customUserId)

使用例

// Set custom user ID after user logs in
Singular.setCustomUserId(customUserId);

setDeviceCustomUserId

Singular.setDeviceCustomUserId メソッド

デバイスレベルでカスタムユーザーIDを設定します。これにより、Singularのデータをデバイスレベルで独自のユーザー識別システムに関連付けることができます。

シグネチャ

static void setDeviceCustomUserId(String customUserId)

使用例

// Set device-level custom user ID
Singular.setDeviceCustomUserId(customUserId);

setFCMDeviceToken

Singular.setFCMDeviceToken メソッド

プッシュ通知用のFirebase Cloud Messaging (FCM) デバイストークンを設定します。これは、Android デバイスのアンインストール追跡とプッシュ通知の属性に使用されます。

シグネチャ

static void setFCMDeviceToken(String fcmToken)

使用例

// Set FCM token when received from Firebase
void onFCMTokenReceived(String token) {
    Singular.setFCMDeviceToken(token);
}

setGlobalProperty

Singular.setGlobalPropertyメソッド

すべてのイベントで送信されるグローバルプロパティを設定します。これにより、毎回指定することなく、すべてのイベントに一貫した属性を追加することができます。

シグネチャ

static Future setGlobalProperty(String key, String value, bool overrideExisting)

使用例

// Set a global property
Singular.setGlobalProperty("user_tier", "premium", true).then((isSuccess) {
    print("Global property set successfully: $isSuccess");
});

skanGetConversionValue

Singular.skanGetConversionValueメソッド

現在のSKAdNetwork変換値を取得します。このメソッドはiOS専用で、SKAdNetworkアトリビューションに使用される現在の変換値を解決するFutureを返します。

シグネチャ

static Future skanGetConversionValue()

使用例

// Get the current SKAdNetwork conversion value
if (Platform.isIOS) {
    Singular.skanGetConversionValue().then((conversionValue) {
        print("Current conversion value: $conversionValue");
    });
}

skanRegisterAppForAdNetworkAttribution

Singular.skanRegisterAppForAdNetworkAttributionメソッド

SKAdNetworkアトリビューション用にアプリを登録します。このメソッドはiOS専用で、SKAdNetworkのアトリビューションを有効にするために呼び出す必要があります。

シグネチャ

static void skanRegisterAppForAdNetworkAttribution()

使用例

// Register for SKAdNetwork attribution
if (Platform.isIOS) {
    Singular.skanRegisterAppForAdNetworkAttribution();
}

skanUpdateConversionValue

Singular.skanUpdateConversionValueメソッド

SKAdNetworkの変換値を更新する。このメソッドはiOS専用で、SKAdNetworkアトリビューションに使用される変換値を手動で更新することができます。

シグネチャ

static Future skanUpdateConversionValue(int conversionValue)

使用例

// Update the SKAdNetwork conversion value
if (Platform.isIOS) {
    Singular.skanUpdateConversionValue(5).then((isSuccess) {
        print("Conversion value updated successfully: $isSuccess");
    });
}

skanUpdateConversionValues

Singular.skanUpdateConversionValuesメソッド

追加パラメータでSKAdNetworkの変換値を更新します。このメソッドはiOS 16.1+に固有で、SKAdNetwork 4.0アトリビューションのfine、coarse、lock値を更新できます。

シグネチャ

static void skanUpdateConversionValues(int conversionValue, int coarse, bool lock)

使用例

// Update the SKAdNetwork 4.0 conversion values
if (Platform.isIOS) {
    Singular.skanUpdateConversionValues(
        5,       // fine value (0-63)
        1,       // coarse value (0=low, 1=medium, 2=high)
        false    // lock
    );
}

開始

Singular.startメソッド

提供された設定でSingular SDKを初期化します。これはSingular SDKの使用を開始するために最初に呼び出すメソッドです。

シグネチャ

static void start(SingularConfig config)

使用例

// Create configuration object
SingularConfig config = new SingularConfig('SDK KEY', 'SDK SECRET');

// Configure additional options if needed
config.customUserId = "user-123456";
config.sessionTimeout = 60;

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

stopAllTracking

Singular.stopAllTracking メソッド

すべてのトラッキングを停止します。このメソッドは、ユーザーがオプトアウトしたときや、プライバシーコンプライアンスのためにトラッキングを無効にするために使用します。

シグネチャ

static void stopAllTracking()

使用例

// Stop tracking, for example when user opts out.
Singular.stopAllTracking();

トラッキングオプトイン

Singular.trackingOptIn メソッド

ユーザーがトラッキングをオプトインしたことを示します。ユーザーがトラッキングとデータ収集に明示的に同意した場合にこのメソッドを呼び出します。

シグネチャ

static void trackingOptIn()

使用例

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

トラッキングアンダー13

Singular.trackingUnder13 メソッド

ユーザーが13歳未満であることを示します。このメソッドを呼び出すことで、13歳未満のユーザーに対するCOPPAやその他の規制に準拠することができます。

シグネチャ

static void trackingUnder13()

使用例

// Notifies Singular the User is under 13 years old, GDPR_UNDER_13 flag applied.
Singular.trackingunder13();

unsetCustomUserId

Singular.unsetCustomUserId メソッド

以前に設定されたカスタムユーザーIDを削除します。ユーザがログアウトしたとき、または現在のユーザIDにイベントを関連付けたくなくなったときにこのメソッドを呼び出します。

シグネチャ

static void unsetCustomUserId()

使用例

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

unsetGlobalProperty

Singular.unsetGlobalProperty メソッド

以前に設定されたグローバル・プロパティを削除します。特定のグローバル・プロパティをイベントと共に送信する必要がなくなった場合に、このメソッドを呼び出します。

シグネチャ

static void unsetGlobalProperty(String key)

使用例

// Remove a global property
Singular.unsetGlobalProperty("user_tier");