アンリアル エンジン SDK - メソッド リファレンス

ドキュメント

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

Singular Unreal Engine SDK は、Unreal Engine アプリケーションの包括的なトラッキングおよびアトリビューション機能を提供します。このリファレンスでは、使用可能なすべての SDK メソッドについて、そのシグネチャと使用例を示します。


CreateReferrerShortLink

リファラー ショート リンクの作成

ユーザー間のアトリビューションやバイラル成長キャンペーンを追跡するために共有できる短い Singular リンクを生成します。

シグネチャ

C++
static void CreateReferrerShortLink(
    FString baseLink,
    FString referrerName,
    FString referrerId,
    TMap<FString, FString> args
);

使用例

C++
// Create a referrer short link
FString BaseLink = TEXT("https://example.sng.link/abc123");
FString ReferrerName = TEXT("John Doe");
FString ReferrerId = TEXT("user_12345");

TMap<FString, FString> PassthroughParams;
PassthroughParams.Add(TEXT("campaign"), TEXT("summer_promo"));
PassthroughParams.Add(TEXT("level"), TEXT("5"));

USingularSDKBPLibrary::CreateReferrerShortLink(
    BaseLink,
    ReferrerName,
    ReferrerId,
    PassthroughParams
);

GetLimitDataSharing

データ共有の制限状態を取得

プライバシー・コンプライアンスのために、現在のデータ共有制限ステータスを確認します。

署名

C++
static bool GetLimitDataSharing();

使用例

C++
// Check if data sharing is limited
bool IsLimited = USingularSDKBPLibrary::GetLimitDataSharing();

if (IsLimited)
{
    UE_LOG(LogTemp, Log, TEXT("Data sharing is currently limited"));
}
else
{
    UE_LOG(LogTemp, Log, TEXT("Data sharing is enabled"));
}

初期化

Singular SDKの初期化

API 認証情報、トラッキング設定、プライバシーオプションを含む設定パラメータで Singular SDK を初期化します。

署名

C++
static bool Initialize(
    FString apiKey,
    FString apiSecret,
    int sessionTimeout = 60,
    FString customUserId = TEXT(""),
    bool skAdNetworkEnabled = true,
    bool manualSkanConversionManagement = false,
    int waitForTrackingAuthorizationWithTimeoutInterval = 0,
    bool oaidCollection = false,
    bool enableLogging = false,
    int logLevel = 0,
    bool clipboardAttribution = false,
    FString facebookAppId = TEXT(""),
    FString customSdid = TEXT("")
);

使用例

C++
// Initialize SDK with required parameters
FString ApiKey = TEXT("SDK KEY");
FString ApiSecret = TEXT("YOUR_API_SECRET");

bool Success = USingularSDKBPLibrary::Initialize(
    ApiKey,
    ApiSecret,
    60,                    // Session timeout in seconds
    TEXT(""),             // Custom user ID (optional)
    true,                 // SKAdNetwork enabled
    false,                // Manual SKAN conversion management
    0,                    // Wait for tracking authorization timeout
    false,                // OAID collection
    true,                 // Enable logging for debugging
    3,                    // Log level (0-5)
    false,                // Clipboard attribution
    TEXT(""),             // Facebook App ID (optional)
    TEXT("")              // Custom SDID (optional)
);

if (Success)
{
    UE_LOG(LogTemp, Log, TEXT("Singular SDK initialized successfully"));
}
else
{
    UE_LOG(LogTemp, Error, TEXT("Failed to initialize Singular SDK"));
}

IsAllTrackingStopped

すべてのトラッキングが停止されているかチェックする

プライバシーコンプライアンスまたはユーザー設定のためにすべてのトラッキングが停止されているかどうかを判定します。

シグネチャ

C++
static bool IsAllTrackingStopped();

使用例

C++
// Check tracking status
bool IsTrackingStopped = USingularSDKBPLibrary::IsAllTrackingStopped();

if (IsTrackingStopped)
{
    UE_LOG(LogTemp, Warning, TEXT("Tracking is currently stopped"));
    // Update UI to reflect tracking status
}
else
{
    UE_LOG(LogTemp, Log, TEXT("Tracking is active"));
}

データ共有の制限

データ共有の制限を設定

GDPRやCCPAのような規制を遵守するために、ユーザーデータを第三者と共有するかどうかを制御します。

署名

C++
static void LimitDataSharing(bool shouldLimitDataSharing);

使用例

C++
// Limit data sharing when user opts out
USingularSDKBPLibrary::LimitDataSharing(true);
UE_LOG(LogTemp, Log, TEXT("Data sharing has been limited"));

// Enable data sharing when user opts in
USingularSDKBPLibrary::LimitDataSharing(false);
UE_LOG(LogTemp, Log, TEXT("Data sharing has been enabled"));

全トラッキングの再開

全てのトラッキングを再開

SDKがデータ収集とイベント報告を再開できるように、トラッキング停止後にトラッキングを再度有効にします。

シグネチャ

C++
static void ResumeAllTracking();

使用例

C++
// Resume tracking when user grants consent
USingularSDKBPLibrary::ResumeAllTracking();
UE_LOG(LogTemp, Log, TEXT("Tracking has been resumed"));

イベント送信

カスタムイベントを送信

アプリケーション内のユーザーアクションとエンゲージメントを測定するために、カスタムイベントを名前でトラッキングします。

シグネチャ

C++
static void SendEvent(FString eventName);

使用例

C++
// Track level completion event
USingularSDKBPLibrary::SendEvent(TEXT("level_completed"));

// Track tutorial start
USingularSDKBPLibrary::SendEvent(TEXT("tutorial_start"));

// Track user achievement
USingularSDKBPLibrary::SendEvent(TEXT("achievement_unlocked"));

引数付きイベント送信

属性付きカスタム・イベントの送信

ユーザーアクションに関する詳細なコンテキストを提供するために、属性を追加してカスタムイベントを追跡します。

シグネチャ

C++
static void SendEventWithArgs(
    FString eventName,
    TMap<FString, FString> args
);

使用例

C++
// Track level completion with attributes
TMap<FString, FString> LevelAttributes;
LevelAttributes.Add(TEXT("level_name"), TEXT("Dark Forest"));
LevelAttributes.Add(TEXT("level_number"), TEXT("5"));
LevelAttributes.Add(TEXT("time_spent"), TEXT("245"));
LevelAttributes.Add(TEXT("score"), TEXT("8500"));

USingularSDKBPLibrary::SendEventWithArgs(
    TEXT("level_completed"),
    LevelAttributes
);

// Track item purchase with details
TMap<FString, FString> PurchaseAttributes;
PurchaseAttributes.Add(TEXT("item_id"), TEXT("sword_legendary"));
PurchaseAttributes.Add(TEXT("item_category"), TEXT("weapon"));
PurchaseAttributes.Add(TEXT("item_rarity"), TEXT("legendary"));

USingularSDKBPLibrary::SendEventWithArgs(
    TEXT("item_purchased"),
    PurchaseAttributes
);

収益イベントの送信

収益イベントの送信

収益イベントを通貨と金額で追跡し、収益化のパフォーマンスを測定します。

署名

C++
static void SendRevenue(
    FString eventName,
    FString currency,
    float amount
);

使用例

C++
// Track in-app purchase revenue
USingularSDKBPLibrary::SendRevenue(
    TEXT("coin_pack_purchase"),
    TEXT("USD"),
    4.99f
);

// Track subscription purchase
USingularSDKBPLibrary::SendRevenue(
    TEXT("premium_subscription"),
    TEXT("EUR"),
    9.99f
);

SendRevenueWithArgs

属性付き収益イベントの送信

トランザクションの詳細情報を提供するために、追加の属性を使用して収益を追跡します。

シグネチャ

C++
static void SendRevenueWithArgs(
    FString eventName,
    FString currency,
    float amount,
    TMap<FString, FString> args
);

使用例

C++
// Track revenue with transaction details
TMap<FString, FString> TransactionAttributes;
TransactionAttributes.Add(TEXT("product_id"), TEXT("com.game.coins.large"));
TransactionAttributes.Add(TEXT("product_name"), TEXT("Large Coin Pack"));
TransactionAttributes.Add(TEXT("quantity"), TEXT("1"));
TransactionAttributes.Add(TEXT("payment_method"), TEXT("credit_card"));

USingularSDKBPLibrary::SendRevenueWithArgs(
    TEXT("iap_purchase"),
    TEXT("USD"),
    9.99f,
    TransactionAttributes
);

SetCustomUserId

カスタムユーザIDの設定

独自のIDシステムを使用してデバイスやセッション間でユーザーを追跡するために、カスタムユーザー識別子を割り当てます。

シグネチャ

C++
static void SetCustomUserId(FString customUserId);

使用例

C++
// Set custom user ID after login
FString UserId = TEXT("user_abc123xyz");
USingularSDKBPLibrary::SetCustomUserId(UserId);
UE_LOG(LogTemp, Log, TEXT("Custom user ID set: %s"), *UserId);

SetUninstallToken

アンインストール追跡トークンの設定

プッシュ通知トークンを登録し、アンインストール追跡を有効にします。

シグネチャ

C++
static void SetUninstallToken(FString token);

使用例

C++
// Set push notification token for uninstall tracking
FString PushToken = TEXT("abc123def456...");
USingularSDKBPLibrary::SetUninstallToken(PushToken);
UE_LOG(LogTemp, Log, TEXT("Uninstall token registered"));

SkanGetConversionValue(コンバージョン値の取得

SKAdNetworkのコンバージョン値を取得

iOSアプリの現在のSKAdNetwork変換値を取得する(iOSのみ)。

シグネチャ

C++
static int SkanGetConversionValue();

使用例

C++
// Get current SKAdNetwork conversion value (iOS only)
int ConversionValue = USingularSDKBPLibrary::SkanGetConversionValue();
UE_LOG(LogTemp, Log, TEXT("Current conversion value: %d"), ConversionValue);

SkanRegisterAppForAdNetworkAttribution

広告ネットワークアトリビューションにアプリを登録

アトリビューショントラッキングのために、アプリをAppleのSKAdNetworkフレームワークに登録する(iOSのみ)。

シグネチャ

C++
static void SkanRegisterAppForAdNetworkAttribution();

使用例

C++
// Register for SKAdNetwork attribution (iOS only)
USingularSDKBPLibrary::SkanRegisterAppForAdNetworkAttribution();
UE_LOG(LogTemp, Log, TEXT("Registered for SKAdNetwork attribution"));

SkanUpdateConversionValue

SKAdNetworkコンバージョン値の更新

SKAdNetworkのコンバージョン値を更新し、ユーザーエンゲージメントと収益化を反映させる(iOSのみ)。

シグネチャ

C++
static bool SkanUpdateConversionValue(int conversionValue);

使用例

C++
// Update conversion value based on user actions (iOS only)
int NewValue = 10;
bool Success = USingularSDKBPLibrary::SkanUpdateConversionValue(NewValue);

if (Success)
{
    UE_LOG(LogTemp, Log, TEXT("Conversion value updated to: %d"), NewValue);
}
else
{
    UE_LOG(LogTemp, Warning, TEXT("Failed to update conversion value"));
}

SkanUpdateConversionValues(スキャンアップデートコンバージョン値

SKAdNetworkの変換値を細かい値と粗い値で更新する。

iOS16.1+(iOSのみ)のSKAdNetworkの細かい変換値、粗い変換値、ロックステータスを更新。

シグネチャ

C++
static void SkanUpdateConversionValues(
    int conversionValue,
    int coarse,
    bool lock
);

使用例

C++
// Update conversion values with fine and coarse values (iOS 16.1+)
int FineValue = 25;
int CoarseValue = 1;  // 0 = low, 1 = medium, 2 = high
bool Lock = false;    // Set to true to prevent further updates

USingularSDKBPLibrary::SkanUpdateConversionValues(FineValue, CoarseValue, Lock);
UE_LOG(LogTemp, Log, TEXT("Updated conversion values: fine=%d, coarse=%d"), FineValue, CoarseValue);

すべてのトラッキングを停止

すべてのトラッキングを停止

ユーザーのプライバシー設定または規制要件に準拠するために、すべてのSDKトラッキング活動を完全に停止します。

署名

C++
static void StopAllTracking();

使用例

C++
// Stop tracking when user withdraws consent
USingularSDKBPLibrary::StopAllTracking();
UE_LOG(LogTemp, Warning, TEXT("All tracking has been stopped"));

トラッキングオプトイン

トラッキングオプトインの記録

ユーザーがGDPR遵守のためにトラッキングを明示的にオプトインしたことをSingularに通知します。

署名

C++
static void TrackingOptIn();

使用例

C++
// Record user opt-in for GDPR compliance
USingularSDKBPLibrary::TrackingOptIn();
UE_LOG(LogTemp, Log, TEXT("User has opted in to tracking"));

トラッキングアンダー13

ユーザーを13歳未満とマーク

COPPAコンプライアンスと子供のプライバシー保護のため、ユーザーが13歳未満であることをSingularに通知します。

署名

C++
static void TrackingUnder13();

使用例

C++
// Mark user as under 13 for COPPA compliance
USingularSDKBPLibrary::TrackingUnder13();
UE_LOG(LogTemp, Log, TEXT("User marked as under 13 years old"));

UnsetCustomUserId

カスタムユーザIDを削除

通常、ログアウトまたはアカウント切り替え時に使用されます。

シグネチャ

C++
static void UnsetCustomUserId();

使用例

C++
// Clear custom user ID on logout
USingularSDKBPLibrary::UnsetCustomUserId();
UE_LOG(LogTemp, Log, TEXT("Custom user ID has been cleared"));