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バイトに制限されます。
署名
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");