Unity SDK - 構成リファレンス

Unity SDK - 構成リファレンス

Unity版Singular SDKが提供するすべての構成オプションと、その型、デフォルト値、対応プラットフォーム、設定方法です。

ほとんどのオプションはSingularSDKコンポーネントのフィールドであるため、Singular SDKのGameObjectのUnityインスペクターに表示されます。一部は静的メンバーで、インスペクターには表示されず、初期化前にコードでのみ設定できます。以下の各項目にどちらであるかを記載しています。


コードで構成を設定する

インスペクターでInitialize On Awakeのチェックを外し、必要なフィールドを設定してから、SDKを自分で初期化してください。静的メンバーはこの方法でのみ設定できます。

using UnityEngine;
using Singular;

public class SingularBootstrap : MonoBehaviour
{
    void Awake()
    {
        // Clear Initialize On Awake in the Inspector first, so the SDK
        // does not start before these values are set.
        SingularSDK singular = GetComponent<SingularSDK>();

        singular.SingularAPIKey    = "YOUR_SDK_KEY";
        singular.SingularAPISecret = "YOUR_SDK_SECRET";
        singular.sessionTimeoutSec = 120;

        // Static members are not shown in the Inspector and are set here only.
        SingularSDK.endSessionOnGoingToBackground = true;

        SingularSDK.InitializeSingularSDK();
    }
}

完全な構成例

包括的なSDK構成

ほとんどの統合で使用される主要なオプションを網羅した代表的な構成です。

using UnityEngine;
using Singular;

public class SingularBootstrap : MonoBehaviour
{
    void Awake()
    {
        SingularSDK singular = GetComponent<SingularSDK>();

        // Required
        singular.SingularAPIKey    = "YOUR_SDK_KEY";
        singular.SingularAPISecret = "YOUR_SDK_SECRET";

        // Logging — off for a production build
        singular.enableLogging = false;

        // Sessions and link resolution
        singular.sessionTimeoutSec       = 120;
        singular.shortlinkResolveTimeout = 15;
        singular.ddlTimeoutSec           = 120;   // Android

        // Links
        singular.brandedDomains = new string[] { "go.yourcompany.com" };
        singular.pushNotificationsLinkPaths = new string[] { "sng_link" };

        // iOS
        singular.waitForTrackingAuthorizationWithTimeoutInterval = 300;
        singular.SKANEnabled = true;

        // Android
        singular.facebookAppId = "1234567890";

        SingularSDK.InitializeSingularSDK();
    }
}

autoIAPComplete

SingularSDK.autoIAPComplete プロパティ

StoreKitのトランザクションを自動的に完了していたレガシー設定です。

非推奨機能: このフィールドはSDKで[Obsolete]とマークされており、新規統合では使用しないでください。トランザクションはUnity IAPで完了し、SingularSDK.InAppPurchase()で報告してください。

シグネチャ

public bool autoIAPComplete

デフォルト: false

プラットフォーム: iOS専用

設定方法: Unityインスペクターまたはコード

使用例

singular.autoIAPComplete = false;

brandedDomains

SingularSDK.brandedDomains プロパティ

SDKがSingular Linksとして扱うカスタムリンクドメインです。トラッキングリンクに使用するブランドドメインをすべて追加してください。設定しない場合、Manage Linksページに登録されたsng.linkドメインのみが認識されます。

シグネチャ

public string[] brandedDomains

デフォルト: null

プラットフォーム: iOSおよびAndroid

設定方法: Unityインスペクターまたはコード

使用例

singular.brandedDomains = new string[] {
    "yourcompany.com",
    "go.yourcompany.com"
};

clipboardAttribution

SingularSDK.clipboardAttribution プロパティ

アプリ起動時にSDKがペーストボードを読み取り、Singular Linkのアトリビューションデータを復元できるようにします。

iOS 14以降では、ペーストボードを読み取るとユーザーにシステムのペースト通知が表示されます。このトレードオフを理解したうえでのみ有効にしてください。

シグネチャ

public bool clipboardAttribution

デフォルト: false

プラットフォーム: iOS専用

設定方法: Unityインスペクターまたはコード

使用例

singular.clipboardAttribution = true;

collectOAID

SingularSDK.collectOAID プロパティ

Google Playサービスがないandroid端末(主に中国本土)で使用される広告識別子OAIDを収集します。ビルドにOAIDライブラリが必要です。

シグネチャ

public bool collectOAID

デフォルト: false

プラットフォーム: Android専用

設定方法: Unityインスペクターまたはコード

使用例

singular.collectOAID = true;

CustomSdid

SingularSDK.CustomSdid プロパティ

SDKに生成させる代わりに独自のSingular Device IDを指定します。初期化前に設定し、受理されたことを知るにはSingularSDK.SetSingularSdidAccessorHandler()でハンドラーを登録してください。

エンタープライズ機能: カスタムSDIDはデフォルトでは有効になっていません。アカウントで有効化されていない限り設定せず、まずSingularの担当者にお問い合わせください。

シグネチャ

public static string CustomSdid

デフォルト: null

プラットフォーム: iOSおよびAndroid

設定方法: コードのみ — インスペクターには表示されません

使用例

SingularSDK.CustomSdid = "your-own-device-id";

ddlTimeoutSec

SingularSDK.ddlTimeoutSec プロパティ

新規インストール後、SDKがディファードディープリンクを解決してSingular Linkハンドラーを呼び出せる時間です。0のままにするとデフォルトの60秒が使用されます。

シグネチャ

public long ddlTimeoutSec

デフォルト: 0 (uses the 60 second default)

プラットフォーム: Android専用

設定方法: Unityインスペクターまたはコード

使用例

singular.ddlTimeoutSec = 120;

enableDeferredDeepLinks

SingularSDK.enableDeferredDeepLinks プロパティ

Androidでディファードディープリンクハンドラーを登録します。ディファードリンクを意図的に無視する場合を除き、有効のままにしてください。

シグネチャ

public static bool enableDeferredDeepLinks

デフォルト: true

プラットフォーム: Android専用

設定方法: コードのみ — インスペクターには表示されません

使用例

SingularSDK.enableDeferredDeepLinks = false;

enableLogging

SingularSDK.enableLogging プロパティ

SDKのログ出力を有効にし、統合時やトラブルシューティングに役立てます。デフォルトで有効になっているため(enableLoggingtrue)、本番ビルドをリリースする前にチェックボックスを外してください。

シグネチャ

public bool enableLogging

デフォルト: true

プラットフォーム: iOSおよびAndroid

設定方法: Unityインスペクターまたはコード

使用例

singular.enableLogging = false;

enableODMWithTimeoutInterval

SingularSDK.enableODMWithTimeoutInterval プロパティ

GoogleのOn-Device Measurement(ODM)を有効にし、最初のセッションを送信する前にGoogleのアトリビューショントークンを待機する秒数を設定します。Google Ads iOS Integrated Conversion Measurement(ICM)に必要です。

最初のセッションが遅延します。SDKはGoogleがトークンを返すか設定した時間が経過するまでブロックするため、ディープリンクのコールバックが最大でその秒数だけ遅延します。ODMにはGoogleのODM SDK、-ObjCリンカーフラグ、Unity SDK v5.5.0以降も必要です。

シグネチャ

public int enableODMWithTimeoutInterval

デフォルト: -1 (disabled)

プラットフォーム: iOS専用

設定方法: Unityインスペクターまたはコード

使用例

singular.enableODMWithTimeoutInterval = 10;

endSessionOnGoingToBackground

SingularSDK.endSessionOnGoingToBackground プロパティ

セッションタイムアウトの経過を待たずに、アプリがバックグラウンドに移行した時点でSingularセッションを終了します。ほとんどのアプリではオフのままにし、sessionTimeoutSecに任せてください。

シグネチャ

public static bool endSessionOnGoingToBackground

デフォルト: false

プラットフォーム: iOSおよびAndroid

設定方法: コードのみ — インスペクターには表示されません

使用例

SingularSDK.endSessionOnGoingToBackground = true;

facebookAppId

SingularSDK.facebookAppId プロパティ

AndroidでMetaのインストールリファラーアトリビューションに必要なFacebook App IDです。

シグネチャ

public string facebookAppId

デフォルト: null

プラットフォーム: Android専用

設定方法: Unityインスペクターまたはコード

使用例

singular.facebookAppId = "1234567890";

fcmDeviceToken

SingularSDK.fcmDeviceToken プロパティ

アンインストール計測に使用するFirebase Cloud Messagingトークンです。初期化前はこの値を設定し、初期化後はネイティブSDKを呼び出すSingularSDK.RegisterTokenForUninstall()の使用を推奨します。

シグネチャ

public static string fcmDeviceToken

デフォルト: null

プラットフォーム: Android専用

設定方法: コードのみ — インスペクターには表示されません

使用例

SingularSDK.RegisterTokenForUninstall(token);

Initialized

SingularSDK.Initialized プロパティ

読み取り専用です。SDKの初期化が完了したかどうかを示します。これがtrueになるまで、ほとんどのSDKメソッドは何もせずに戻ります。

シグネチャ

public static bool { get; } Initialized

デフォルト: false

プラットフォーム: iOSおよびAndroid

設定方法: コードのみ — インスペクターには表示されません

使用例

if (SingularSDK.Initialized) {
    SingularSDK.Event("level_complete");
}

InitializeOnAwake

SingularSDK.InitializeOnAwake プロパティ

GameObjectのAwake()でSDKを自動的に初期化します。コードで先に構成を設定する必要がある場合はチェックを外し、SingularSDK.InitializeSingularSDK()を自分で呼び出してください。

シグネチャ

public bool InitializeOnAwake

デフォルト: true

プラットフォーム: iOSおよびAndroid

設定方法: Unityインスペクターまたはコード

使用例

singular.InitializeOnAwake = false;

limitAdvertisingIdentifiers

SingularSDK.limitAdvertisingIdentifiers プロパティ

SDKによる端末の広告識別子の収集を停止します。一部のユーザーから広告IDを収集してはならない混合対象アプリで使用します。

シグネチャ

public bool limitAdvertisingIdentifiers

デフォルト: false

プラットフォーム: iOSおよびAndroid

設定方法: Unityインスペクターまたはコード

使用例

singular.limitAdvertisingIdentifiers = true;

logLevel

SingularSDK.logLevel プロパティ

SDKのログ出力の詳細度を設定します。値はAndroidのandroid.util.Log定数で、数値が小さいほど詳細になります。2 Verbose、3 Debug、4 Info、5 Warn、6 Error、7 Assert。デフォルトは3(Debug)です。2〜7の範囲外の値は拒否されてSDKはDebugにフォールバックするため、01ではログは減りません。ログを止めるにはEnable Loggingのチェックを外してください。

シグネチャ

public int logLevel

デフォルト: 3 (Debug)

プラットフォーム: iOSおよびAndroid

設定方法: Unityインスペクターまたはコード

使用例

singular.logLevel = 3; // Debug

manualSKANConversionManagement

SingularSDK.manualSKANConversionManagement プロパティ

SKAdNetworkのコンバージョン値の管理をアプリに委ねます。有効にするとSingularは管理を停止するため、SingularSDK.SkanUpdateConversionValue()を自分で呼び出す必要があります。

この設定がオフの間、手動更新は無視されます。コンバージョン値が届かない場合は、まずこの設定を確認してください。

シグネチャ

public bool manualSKANConversionManagement

デフォルト: false

プラットフォーム: iOS専用

設定方法: Unityインスペクターまたはコード

使用例

singular.manualSKANConversionManagement = true;

openUri

SingularSDK.openUri プロパティ

アプリが開かれた際のURIで、初期化時にSDKに渡され、その起動をアトリビューションできるようにします。SDKの開始前にアクティビティがディープリンクを受け取る場合は、初期化前に設定してください。

シグネチャ

public static string openUri

デフォルト: null

プラットフォーム: Android専用

設定方法: コードのみ — インスペクターには表示されません

使用例

SingularSDK.openUri = "myapp://product/123";

pushNotificationsLinkPaths

SingularSDK.pushNotificationsLinkPaths プロパティ

プッシュ通知ペイロード内でSingular Linkを探す場所です。各エントリーはペイロードをたどるパスで、階層は/で区切ります。アプリが受信するペイロードの形ごとにエントリーを追加してください。

シグネチャ

public string[] pushNotificationsLinkPaths

デフォルト: null

プラットフォーム: iOSおよびAndroid

設定方法: Unityインスペクターまたはコード

使用例

singular.pushNotificationsLinkPaths = new string[] {
    "sng_link",
    "notification/deep_link",
    "rootObj/nestedObj/singularLink"
};

restartSessionOnReturningToForeground

SingularSDK.restartSessionOnReturningToForeground プロパティ

アプリがフォアグラウンドに戻るたびに新しいSingularセッションを開始します。endSessionOnGoingToBackgroundと組み合わせて使用します。ほとんどのアプリでは両方オフのままにしてください。

シグネチャ

public static bool restartSessionOnReturningToForeground

デフォルト: false

プラットフォーム: iOSおよびAndroid

設定方法: コードのみ — インスペクターには表示されません

使用例

SingularSDK.restartSessionOnReturningToForeground = true;

sessionTimeoutSec

SingularSDK.sessionTimeoutSec プロパティ

次回の起動が新しいセッションとして扱われるまでにアプリがバックグラウンドに留まれる時間です。0のままにするとデフォルトの60秒が使用されます。

シグネチャ

public long sessionTimeoutSec

デフォルト: 0 (uses the 60 second default)

プラットフォーム: iOSおよびAndroid

設定方法: Unityインスペクターまたはコード

使用例

singular.sessionTimeoutSec = 120;

shortlinkResolveTimeout

SingularSDK.shortlinkResolveTimeout プロパティ

SDKがショートリンクの解決を諦めるまで待機する時間です。0のままにするとデフォルトの10秒が使用されます。

シグネチャ

public long shortlinkResolveTimeout

デフォルト: 0 (uses the 10 second default)

プラットフォーム: iOSおよびAndroid

設定方法: Unityインスペクターまたはコード

使用例

singular.shortlinkResolveTimeout = 15;

SingularAPIKey

SingularSDK.SingularAPIKey プロパティ

SDKキーです。SingularのDeveloper Tools > SDK Integration > SDK Keysで確認できます。

ここにSingularのレポーティングAPIキーを使用しないでください。SDK Integrationページで発行されるSDKキーのみが機能し、それ以外を設定するとエラーも出ないままデータがSingularに届きません。

シグネチャ

public string SingularAPIKey

デフォルト: 必須

プラットフォーム: iOSおよびAndroid

設定方法: Unityインスペクターまたはコード

使用例

singular.SingularAPIKey = "YOUR_SDK_KEY";

SingularAPISecret

SingularSDK.SingularAPISecret プロパティ

同じページでSDKキーとともに発行されるSDKシークレットです。

シグネチャ

public string SingularAPISecret

デフォルト: 必須

プラットフォーム: iOSおよびAndroid

設定方法: Unityインスペクターまたはコード

使用例

singular.SingularAPISecret = "YOUR_SDK_SECRET";

SKANEnabled

SingularSDK.SKANEnabled プロパティ

アプリをSKAdNetworkアトリビューションに登録し、Singularがコンバージョン値を管理できるようにします。アプリ内の別のSDKがSKAdNetworkを管理している場合を除き、オンのままにしてください。

シグネチャ

public bool SKANEnabled

デフォルト: true

プラットフォーム: iOS専用

設定方法: Unityインスペクターまたはコード

使用例

singular.SKANEnabled = false;

waitForTrackingAuthorizationWithTimeoutInterval

SingularSDK.waitForTrackingAuthorizationWithTimeoutInterval プロパティ

最初のセッションを送信する前に、ユーザーがApp Tracking Transparencyのプロンプトに応答するのを待機する秒数です。待機することで、同意が得られた場合に最初のセッションにIDFAを含めることができます。

IDFAは最初のセッションにのみ付与できます。ユーザーがプロンプトに応答する前にセッションが送信されると、そのインストールには永久にIDFAが付きません。アプリでATTプロンプトを表示する場合は300秒を推奨します。

シグネチャ

public int waitForTrackingAuthorizationWithTimeoutInterval

デフォルト: 0 (do not wait)

プラットフォーム: iOS専用

設定方法: Unityインスペクターまたはコード

使用例

singular.waitForTrackingAuthorizationWithTimeoutInterval = 300;