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のログ出力を有効にし、統合時やトラブルシューティングに役立てます。デフォルトで有効になっているため(enableLoggingがtrue)、本番ビルドをリリースする前にチェックボックスを外してください。
シグネチャ
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にフォールバックするため、0と1ではログは減りません。ログを止めるには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;