ネイティブSDKを反応する:基本統合

 

SDKをプロジェクトに追加する

Singular React SDKをプロジェクトに追加します:

  1. プロジェクトのルートディレクトリでターミナルを開きます。
  2. 以下のコマンドでSDKパッケージをプロジェクトにダウンロードします:

    npm install singular-react-native --save
  3. React Native0.60以上を使用している場合は、Singularパッケージがプロジェクトに自動リンクされます。

    React Nativeバージョン0.59以前を使用している場合は、以下を実行して、Singularパッケージからネイティブブリッジコードをプロジェクトにリンクします:

    react-native link singular-react-native

前提条件の設定

iOSの前提条件

プロジェクトのルート・ディレクトリで、以下のコマンドを実行します:

cd ios; pod install

Androidの前提条件

allprojectsセクション内の build.gradleファイルで、アプリのMavenリポジトリに以下を追加します:

allprojects {
  repositories {
    maven { url 'https://maven.singular.net/' }
  }
}

アプリの AndroidManifest.xmlファイルに次のパーミッションを追加します:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<!-- このパーミッションは、Google Playのリファラーデータを取得するために必要です。 --> <uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE" />
<!-- このパーミッションは、google licensing APIからデータを取得するために必要です。 --> <uses-permission android:name="com.android.vending.CHECK_LICENSE" />

アプリのビルドがAndroid 12/APIレベル31以上をターゲットにしている場合は、Google Advertising IDにアクセスするためのパーミッションを追加します:

<uses-permission android:name="com.google.android.gms.permission.AD_ID" />

Singular SDK の推移的依存関係を無効にしている場合は、アプリの build.gradle.

implementation 'com.android.installreferrer:installreferrer:2.2'
implementation 'com.google.android.gms:play-services-appset:16.0.0'

SDKの初期化

注意:Singular SDKを実装する際には、GDPR、CCPA、COPPAなど、ビジネスを行う地域で制定されている様々なプライバシー法を遵守することを忘れないでください。詳しくはSDKのオプトインとオプトアウトをご覧ください。

SDK初期化コードは、アプリを開くたびに呼び出す必要があります。これはSingularのすべてのアトリビューション機能の前提条件であり、またSingularに新しいユーザーセッションを送信します。セッションはユーザーのリテンションを計算するために使用されます。

必須クラスのインポート

App.js ファイルに以下のコードを追加し、Singular クラスと SingularConfigs クラスをインポートします。

import {Singular, SingularConfig, Events, Attributes} from 'singular-react-native';

SDKの設定と初期化

  1. Singular SDKを初期化する前に、SingularConfigオブジェクトを作成する必要があります。このオブジェクトにはSDKキーとSDKシークレットが含まれます(SDKキーはSingularアカウントにログインし、"Developer Tools > SDK Integration > SDK Keys "で取得できます)。
  2. オプションで、さまざまなSDK機能を有効にする設定を追加できます。
  3. METAインストール・リファラー帰属のサポート

    Meta Install Referrer」アトリビューションを有効にするために必要なSDK設定です:

    1. Singular構成オブジェクトにFacebookアプリIDを入力してください。
      // META インストールリファラーを有効にするには
      config.withFacebookAppId("ここに Facebook アプリ ID を入力してください");
    アプリのFacebookアプリIDはどこで確認できますか?
  4. 次に、init メソッドを使用して SDK を初期化します。 SingularConfigオブジェクトを渡します:

例えば

const config = new SingularConfig('<SDK KEY>', '<SDK SECRET>');
  
 // オプション設定:
// 初期化時にユーザーIDがわかっている場合は、ユーザーIDを設定する。 config.withCustomUserId("274e9db5c836093499df921be5b7f32001d49c50");
// METAインストール・リファラーを有効にするには
config.withFacebookAppId("INSERT YOUR FACEBOOK APP ID HERE");

// ディープ・リンクが可能
config.withSingularLinks(callBackFunction); Singular.init(config);
Singular.init メソッド
説明 Singular SDKを初期化します。
使用例
Singular.init(config);

SingularConfig オプション

".with" メソッド 説明
withCustomUserId(user_id) ユーザーIDをSingularに送る(もっと詳しく
withFacebookAppId(FACEBOOK_APP_ID)

注意:META Install Referrer Attribution を有効にするには、Singular Configuration オブジェクトに Facebook App ID を入力してください。

withSingularLinks(callBackFunction) ディープリンクを有効にする(詳細
withSessionTimeoutInSec(seconds) セッションタイムアウトを変更する(詳細

ユーザーIDをSingularに送信する(オプション)

Singular SDKのメソッドを使用して内部ユーザーIDをSingularに送信することができます。

注意: Singularのクロスデバイスソリューションをご利用の場合は、すべてのプラットフォームでユーザーIDを収集する必要があります。

  • ユーザーIDはどのような識別子でもかまいませんが、PII(個人を特定できる情報)を公開するべきではありません。 例えば、ユーザーのメールアドレス、ユーザー名、電話番号は使用しないでください。Singularは、ファーストパーティデータにのみユニークなハッシュ値を使用することを推奨します。
  • Singularに渡すユーザーIDは、すべてのプラットフォーム(ウェブ/モバイル/PC/コンソール/オフライン)で同じ内部ユーザーIDを使用する必要があります。
  • Singularはユーザーレベルのエクスポート、ETL、内部BIポストバック(設定されている場合)にユーザーIDを含めます。ユーザーIDはファーストパーティデータであり、Singularが他者と共有することはありません。
  • ユーザーIDの値は、Singular SDKメソッドで設定されると、unsetCustomUserId メソッドで設定が解除されるまで、またはアプリがアンインストールされるまで保持されます。アプリを終了または再起動しても、ユーザーIDはアンセットされません。

ユーザーIDを設定するには、setCustomUserId メソッドを使用します。設定を解除するには(ユーザがアカウントから「ログアウト」した場合など)、unsetCustomUserId を呼び出してください。

注:複数のユーザが1つのデバイスを使用する場合、ログインとログアウトのたびにユーザIDを設定および解除するログアウトフローを実装することを推奨します。

アプリを開いたときにユーザーIDがすでに分かっている場合は、Singular SDKを初期化する前にsetCustomUserId 。こうすることで、Singularは最初のセッションからユーザーIDを持つことができます。しかし、ユーザーIDは通常、ユーザーが登録するかログインを実行するまで使用できません。その場合は、登録フローが完了した後にsetCustomUserId

Singular.setCustomUserIdメソッド
説明 ユーザーIDをSingularに送信します。
シグネチャ static setCustomUserId(customUserId)
使用例
Singular.setCustomUserId("custom_user_id");
Singular.unsetCustomUserIdメソッド
説明 Singularに送信されたユーザーIDの設定を解除します。
シグネチャ static unsetCustomUserId()
使用例
Singular.unsetCustomUserId();

オプション:カスタムユーザーID デバイスマッピング

重要:この高度なエンタープライズ機能は、例外的な場合にのみ使用できます。実装する前にSingularのソリューションエンジニアにご相談ください。

Singularはサーバー間の統合により、追加のモバイルイベント追跡データを受け取ることができます。この機能を利用するには、ユーザーIDをSingularのモバイルデバイス追跡識別子にマッピングする必要があります。

注意:Singular SDKを初期化した後、またはユーザーIDを取得した後、できるだけ早くこのメソッドを呼び出してください。

Singular.SetDeviceCustomUserId メソッド
説明 ログイン時と同じカスタムユーザーIDを設定し、Singularのトラッキング識別子にマッピングします。
シグネチャ static setDeviceCustomUserId(customUserId)
使用例
Singular.setDeviceCustomUserId("CustomUserId");

AppTrackingTransparencyの同意の処理

iOS 14.5から、トラッキングのためにデバイスのIDFAにアクセスする前に、(ATTrackingManagerを使って)ユーザーの同意を求める必要があります。

ユーザーに同意を求める前にSingular SDKを初期化したい場合は、ユーザーの同意を待つために、SDKがIDFAなしでイベントを発生するのを指定した時間だけ遅らせることができます。

これを行うには、次の例のようにwaitForTrackingAuthorizationWithTimeoutIntervalオプションでSingular SDKを初期化します:

const config = new SingularConfig('<SDK KEY>', '<SDK SECRET>');
  
// SKAdNetworkを有効にする
config.withSkAdNetworkEnabled(true);
  
// イベントを送信する前に、トラッキングの承認を5分待つ。
config.withWaitForTrackingAuthorizationWithTimeoutInterval(300);
  
Singular.init(config);

イベントのトラッキング(非収入)

Singularはアプリ内イベントのデータを収集し、キャンペーンのパフォーマンス分析やKPIの測定に役立てることができます。例えば、ゲームアプリでユーザーのログイン、登録、チュートリアルの完了、レベルアップなどのデータを収集したいと思うかもしれません。

Singularは様々な 標準イベントをサポートしています。 これらの一般的に使用されるイベントは、レポートや最適化のために広告ネットワークによってサポートされることがよくあります。もう一つの利点は、標準的なイベント名を使用すると、Singularが自動的に認識し、手動で定義しなくてもイベントリストに追加されることです。可能な限り標準イベントを使用することをお勧めします。

Singularに送信されるイベントのリスト(付随する属性付き)は、組織のマーケティングKPIに基づいてUA/マーケティング/ビジネスチームが作成する必要があります。ビジネスチームは、How to Track In-App Eventsのガイドに従ってください:Guide For Singular Attribution Customers.

イベントごとに推奨される標準属性を参照してください。

コード内で、eventまたはeventWithArgsメソッドを使用してSingularにイベントを送信します。

注: 標準イベントの場合は、React Native SDK に表示されているイベントの React Native 名を使用します:List of Standard Events and Attributes(標準イベントと属性のリスト)」に表示されているイベントの React Native 名を使用します(例:sngLogin)。

カスタムイベント(Singularの標準イベントのいずれにも一致しない、あなたの組織が測定したいイベント)には、任意のカスタム名(最大32文字)を使用してください。最適化のためにSingularからイベントを受け取る可能性のある広告ネットワークパートナーとの互換性のために、英語の名前を使用することをお勧めします。

Singular.event メソッド
説明 ユーザーイベントをSingularに報告します。
使用例
/* 標準イベントログインの送信 */
Singular.event(sngLogin);
Singular.eventWithArgs メソッド
説明 Singularにユーザーイベントを報告し、イベント名と追加したい情報をマップ/オブジェクトの形で渡します。
使用例
/* 標準イベント・コンテンツ・ビューに推奨属性を付けて送信する。 */
Singular.eventWithArgs(sngContentView, {
sngAttrContentType: 'PrivacyController',
sngAttrContentId: '130',
sngAttrContent: 'GDPR Opt-Out Options'
});

収益のトラッキング

Singularはアプリを通して得た収益に関するデータを収集し、キャンペーンのパフォーマンスやROIの分析に役立てることができます。Singularはレポート、ログエクスポート、ポストバックでデータを利用できるようにします。

収益イベントをSingularに報告する際は、AndroidまたはiOSのアプリ内課金(IAP)プロセスから返される購入オブジェクトを渡すことをお勧めします。こうすることで、Singularはトランザクションの詳細をすべて取得し、Singularのレポートをデータで豊かにします。さらに、SingularはGoogleからトランザクションのレシートを取得し、アプリ内詐欺対策としてトランザクションの検証に使用できます。

React Nativeで購入オブジェクトを渡す

この方法では、アプリ内のトランザクションを管理するためにReact NativeのIn-App Purchaseパッケージを使用する必要があります。

Singular.inAppPurchaseメソッド
説明 IAPイベントをSingularに報告します。
使用例
// Singular Purchaseクラスのインポートを追加
import {
   Singular,
   SingularConfig,
   SingularIOSPurchase,
   SingularAndroidPurchase,
  } from 'singular-react-native';
  
  let singularPurchase = null;
  
  if (Platform.OS === 'ios') {
   singularPurchase = new SingularIOSPurchase(
     product.revenue,
     product.currency,
     purchase.productId,
     purchase.transactionId,
     purchase.transactionReceipt,
   );
  } else if (Platform.OS === 'android'){
   singularPurchase = new SingularAndroidPurchase(
     product.revenue,
     product.currency,
     purchase.transactionReceipt,
     purchase.signatureAndroid,
   );
  }
  
  Singular.inAppPurchase('report iap', singularPurchase);

注意:通貨を3文字のISO 4217通貨コードで渡します(例:"USD," "EUR", "INR" )。

ネイティブコードで購入オブジェクトを渡す

React Nativeのアプリ内課金パッケージを使用しない場合でも、購入オブジェクトを使用してSingularに収益イベントを送信できますが、iOSとAndroidのネイティブコードを使用する必要があります。

注: 通貨は3文字のISO 4217通貨コードで渡します。例えば、"USD," "EUR", "INR"

iOS

iapComplete:transaction メソッド
説明 IAPイベントをすべての詳細とともにSingularに報告し、オプションでイベント名を追加します。
使用例
// 取引の詳細をSingularに報告する。
[Singular iapComplete:transaction];
  
// トランザクションの詳細をカスタム名でSingularに報告する。
[Singular iapComplete:transaction withName:@"MyCustomRevenue"];

Android

AndroidのIAP機能を利用するには、まずアプリの build.gradleファイルに追加します:

implementation 'com.singular.sdk:singular_sdk:9.+
Singular.revenue メソッド
説明 Google Billing Libraryから受け取った購入オブジェクトでSingularに収益イベントを報告します。
使用例
Singular.revenue("USD", 5.50, purchase);
Singular.customRevenue メソッド
説明 イベントのカスタム名と Google Billing Library から受け取った購入オブジェクトを使用して、収益イベントを Singular に報告します。
使用例
Singular.customRevenue("MyCustomRevenue", 
"USD", 5.50, purchase);

購入オブジェクトなしで収益イベントを報告する

上記の方法で収益イベントを報告することを強く推奨しますが、通貨と取引額を渡すだけで収益イベントを Singular に送信することもできます。この方法では、Singularは購入レシートを取得せず、トランザクションを検証できないことに注意してください。

続きを読む...
Singular.revenue メソッド
説明 収益イベントを、収益の通貨と金額とともにSingularに報告します。
使用例
Singular.revenue("USD", 5.50);
Singular.customRevenueメソッド
説明 収益の通貨と金額、およびイベントのカスタム名を指定して、収益イベントをSingularに報告します。
使用例
Singular.customRevenue("MyCustomRevenue", "USD", 5.50);

注意:通貨は ISO 4217 の 3 文字の通貨コード、例えば"USD," "EUR", "INR" で渡します。

広告収益アトリビューションサポートの追加(上級者向け)

SingularはGoogle AdMob、AppLovin、Unity LevelPlay (IronSource)、TradPlusなどのメディエーションプラットフォームと統合されており、広告収益のアトリビューションが可能です。また、Singularは一般的な広告収益SDKの統合により、他のメディエーションプラットフォームもサポートしています。

SingularSDKインテグレーションにコードスニペットを追加することで、メディエーションプラットフォームから広告収益アトリビューションデータを取得することができます。これにより、SKAdNetworkキャンペーンの広告収益データを取得することもできます。

メディエーション・プラットフォームからユーザーレベルの広告収入を得ることで、Singularはこのデータを受け入れることができるメディア・ソースに帰属広告収入を送り返し、AdROASキャンペーンを実施することができる。

SDKの実装に関する説明とコード・スニペットを参照してください。 [こちら].

ハイブリッドイベントトラッキング(上級者向け)

Singularでは、アプリに統合されたSingular SDKを通してすべてのイベントと収益を送信することを推奨しています。ただし、Singularは他のソースからイベントと収益を収集することもできます。

Singular SDKから送信されないイベントは、Singularのサーバー間イベントドキュメンテーション要件に準拠し、イベントの属性を正しく設定するために一致するデバイス識別子を提供する必要があります。

重要です

Server-to-Server イベントリクエストで使用されるデバイス識別子がSingularで一致しない場合、不一致が発生します。以下の可能性に注意してください:

  • イベントリクエストがSingular SDKがアプリセッションからデバイス識別子を記録する「前」に受信された場合、そのイベントリクエストは未知のデバイスの「最初のセッション」とみなされ、Singularはそのデバイスをオーガニックアトリビューションとしてアトリビュートします。
  • もしSingular SDKがデバイス識別子を記録していたとしても、Singular SDKの識別子がServer-to-Server Eventリクエストで指定されたデバイス識別子と異なる場合、イベントの帰属は正しくありません。

ハイブリッドイベント追跡ガイド

内部サーバーからのイベント送信

Singularはお客様のサーバーから収益に関するデータを収集し、キャンペーンのパフォーマンスやROIの分析に役立てることができます。

要件

  • アプリ内登録またはログインイベントから、デバイス識別子を取得して渡し、このデータをユーザーIDと共にサーバーに保存します。デバイス識別子はユーザーによって変更される可能性があるため、ユーザーがアプリセッションを生成する際には必ず識別子を更新してください。これにより、サーバー側イベントが正しいデバイスに帰属することが保証されます。
  • サーバー側イベントはプラットフォーム固有であるため、デバイスプラットフォームに一致するデバイス識別子(iOSデバイスのIDFAまたはIDFVなど)のみを使用して送信する必要があります。
  • Singular 内部 BI ポストバック メカニズムを使用して、内部エンドポイントにリアルタイムでイベントをプッシュすると、サーバー側でデータセットを更新できます。内部BI ポストバック FAQ を参照してください。
  • 詳細については、『サーバー間統合』ガイドの「収益の追跡」セクションを参照してください。
収益プロバイダからのイベントの送信
RevenueCatや adaptyのようなサードパーティプロバイダーは、Singularに購入収益や購読収益を提供することができます。

これらのパートナーを有効にする方法の詳細については、以下のリンクを参照してください。

セグメントからのイベント送信

SingularSDKと並行してSegmentからSingularにイベントを送信するには、Segmentに"Cloud-Mode "Destinationを追加する必要があります。こちらのガイドに従ってください。

ディープリンクサポートの追加

ディープリンクは、アプリ内の特定のコンテンツにつながるリンクです。アプリがインストールされたデバイスでユーザーがディープリンクをクリックすると、アプリが開き、特定の製品や体験が表示されます。

シンギュラートラッキングリンクは、ディープリンクだけでなく、ディファードディープリンクも含むことができます(詳しくは、 ディープリンクFAQと シンギュラートラッキングリンクFAQをご覧ください)。

以下の手順で方法を説明します:

  1. アプリを開くきっかけとなったトラッキングリンクにアクセスする、
  2. ディープリンク先を読み取る
  3. 適切なコンテンツを表示する。

注: この記事は、あなたの組織がSingular Links(2019年に発表されたSingularの新しいトラッキングリンク技術)を使用していることを前提としています。

Singularの古いお客様は、Singularの古いトラッキングリンクを使用している可能性があります。リンクの生成[レガシートラッキングリンク]を参照してください。

Singular Linksを有効にする

iOSとAndroidでSingular Linksを有効にするには、Singular Linksの前提条件をご覧ください。

シンギュラーリンクの処理

Singular SDKは、アプリを開くきっかけとなったトラッキングリンクの詳細を読み取るためのハンドラーメカニズムを提供します。

ハンドラを使用するには

  1. ハンドラを使うには withSingularLinksを呼び出します。これでSingular Linksハンドラが登録されます。
  2. ハンドラ内で、以下の例のように SingularLinksParams オブジェクトを受け取るコールバック関数を呼び出すか定義します。SingularLinksParamsオブジェクトには以下のフィールドがあります:
    • deeplink- クエリパラメータで指定されたディープリンクアドレス。 _dlクエリパラメータで指定されたディープリンクアドレス。 これは、ユーザーに適切な製品や体験を表示するために解析する必要があるものです。
    • passthrough- のクエリパラメータに含まれるすべてのパラメータ。 _pクエリパラメータに含まれるすべてのパラメータ。
    • isDeferred- 遅延ディープリンクの場合はtrue。
    • urlParameters- Singular Tracking Link のすべてのクエリ文字列パラメータ。
      • すべてのクエリ文字列パラメータを指定するには _forward_params=1 キーと値のペアを Singular Tracking Link に追加する必要があります。
const config = new SingularConfig('<SDK KEY>', '<SDK SECRET>');
  config.withSingularLink(singularLinksParams => {
      const deeplink = singularLinksParams.deeplink;
      const passthrough = singularLinksParams.passthrough;
      const isDeferred = singularLinksParams.isDeferred;
      const urlParameters = singularLinksParams.urlParameters;
      
      // ディープリンクを処理するコードをここに追加する
  });
  //...
  Singular.init(config);

前提条件の設定

iOSの前提条件

プロジェクトの AppDelegate.mに以下を追加する:

// AppDelegate.mトップ
  #import <Singular-React-Native/SingularBridge.h>
  
  - (BOOL)application:(UIApplication *)application 
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // didFinishLaunchingWithOptions 内に追加する。 [SingularBridge startSessionWithLaunchOptions:launchOptions]; return YES; } // このメソッドをアプリのデリゲートに追加する - (BOOL)application:(UIApplication *)application
continueUserActivity:(NSUserActivity *)userActivity
restorationHandler:(void (^)(NSArray<id> * _Nullable))restorationHandler{ [SingularBridge startSessionWithUserActivity:userActivity]; return YES; }

Androidの前提条件

プロジェクトの MainActivity.javaに以下を追加する:


// クラスの先頭にインポートの一部として追加する。
import android.content.Intent;
import net.singular.react_native.SingularBridgeModule;
  
// MainActivityクラスに追加
  @Override
  public void onNewIntent(Intent intent) {
    if(intent.getData() != null) {
      setIntent(intent);
      super.onNewIntent(intent);
      SingularBridgeModule.onNewIntent(intent);
    }
  }

はじめにSKAdNetworkとSKAN

SKAdNetworkは、エンドユーザーのプライバシーを損なうことなくモバイルインストールを帰属させるためのAppleの新しいフレームワークです。Singularの新バージョンのiOS SDKは、SKAdNetworkをシームレスに最小限のエンジニアリング労力で実装するのに役立ちます。このSKAdNetworkの実装はSKAN-SKAdNetworkをスムーズに実装するためにSingularが開発した標準-に基づいています。

SingularのSKAdNetwork実装の詳細については iOS SDK SKAdNetwork実装ガイドをご覧ください。

SKAdNetwork トラッキングの有効化

アプリの SKAdNetwork トラッキングを有効にするには、Singular を初期化する前に skAdNetworkEnabled 設定オプションをオンにします:

const config = new SingularConfig('<SDK KEY>', '<SDK SECRET>');

// SKAdNetworkを有効にする
config.withSkAdNetworkEnabled(true);

// 変換値が更新されたときのコールバックへの登録
config.conversionValueUpdatedHandler(value => {
	console.log(`Updated conversion value: ${value}`);
  });

Singular.init(config);

コンバージョン値の更新処理

マネージドモード

デフォルトでは、SKAdNetworkの実装はSingularサーバーサイドから直接コンバージョン値を管理します。

これにより、クライアント側のコードを変更することなく、Singularプラットフォームを通してコンバージョン値を設定、変更することができるため、最大限の柔軟性が得られます。

このサーバー側の管理モードは、SKAdNetworkのタイマーの処理にも役立ちます。SKAdNetworkでは、SKAdNetworkへの登録から24時間以内にコンバージョン値を更新することができます。コンバージョン値の更新を呼び出すと、タイマーはさらに24時間延長されます。そのため、コンバージョンイベントを選択する際は、その更新ウィンドウ内でイベントが発生するようにする必要があります。マネージドモードでは、アプリの新しいバージョンをリリースすることなく、いつでもコンバージョンイベントの設定を変更することができます。

手動モード

アプリのコードで独自に変換値を更新したい場合は、SDKを初期化するときにwithManualSkanConversionManagementを呼び出します:

const config = new SingularConfig('<SDK KEY>', '<SDK SECRET>');
// SKAdNetworkを有効にする
config.withSkAdNetworkEnabled(true);

// 変換値の手動更新を有効にする
config.withManualSkanConversionManagement();

Singular.init(config);

その後、変換値を更新するには、アプリのライフサイクル内の必要な場所でskanUpdateConversionValueメソッドを使用します:

skanUpdateConversionValue メソッド (JavaScript)
説明 SKAdNetworkの変換値を手動で更新します。
シグネチャ Singular.skanUpdateConversionValue(変換値)
使用例
// サイン会開催
Singular.event("SignUp");

// 変換値を7に更新
Singular.skanUpdateConversionValue(7);

注意 :初期化時にSDKを手動更新に設定していない場合、skanUpdateConversionValueメソッドは機能しません。

変換値の取得

現在の変換値を取得するには、skanGetConversionValueメソッドを使用します。このメソッドは、マネージドモードでもマニュアルモードでも動作します。

skanGetConversionValue メソッド (JavaScript)
説明 Singular SDKによってトラッキングされた現在の変換値を取得します。
シグネチャ Singular.skanGetConversionValue()
使用例
const conversionValue = Singular.skanGetConversionValue();

 

短いリファラーリンクの作成

注:この機能はSDKバージョン3.1.8+で利用可能です。

ショートリンクを使用すると、長いパラメータいっぱいのSingularリンクを、共有に便利な短くて安全なリンクに変換できます。

通常、ショートリンクを動的に作成し、アプリのユーザーが友人と共有し、アプリの使用を招待できるようにします。

ショートリンクを作成するには

  • アプリのダウンロードにつながるシンギュラーリンクシンギュラーリンクのFAQを参照)。
  • リンクに動的に追加したいパラメータ(オプションの一覧はトラッキングリンクパラメータをご覧ください)。
  • アプリの新規インストールを、リンクを共有したユーザーまで追跡したい場合は、参照ユーザーの名前とID

以下の例のようにショートリンクを作成するには、createReferrerShortLinkメソッドを使用します。

Singular.createReferrerShortLink (
    "https://sample.sng.link/B4tbm/v8fp?_dl=https%3A%2F%2Fabc.com",
    "John Doe", // 紹介者名
    "aq239897", // リファラーID
    {"channel": "sms"}, // リンクに追加したいパラメータ
    (shortLinkURL,error) => {
      /* shortLinkURLがnullでない場合は、ここに共有ロジックを追加します。エラーが発生した場合は、エラーの原因に応じて、関数に渡されたパラメータを再試行/中止/変更するロジックを追加します。 */
    }
)

アンインストールの追跡

Singularでアプリのアンインストールを追跡するには、次のようにします:

  1. まず、アンインストールトラッキングの設定 [Android][iOS]で説明するように、Singularプラットフォームでアプリを設定します。
  2. お好みの方法を使用して、React Native でAPNS/FCMトークンを取得します。
  3. 以下の例のように、APNS/FCM トークンを渡してsetUninstallTokenメソッドを呼び出します。デバイスのプラットフォームに応じて正しいトークンを渡すようにしてください。
Singular.setUninstallTokenメソッド
説明 アプリのアンインストールを追跡させるために、Singular に APNS/FCM トークンを送信します。
使用例
if (Platform.OS === 'ios') {
  Singular.setUninstallToken(apnsToken);
} else if (Platform.OS === 'android'){
  Singular.setUninstallToken(fcmToken);
}

セッションタイムアウトの変更

Singularは、GDPRやCCPA(カリフォルニア州消費者プライバシー法)などの消費者プライバシー法を遵守している可能性のあるパートナーと協力するために、プライバシー保護機能を提供します。 これらのパートナーは、エンドユーザーが個人情報の共有に同意した場合に通知されることを望んでいます。

データ共有の制限

ユーザーに情報共有の同意を求める方法を実装している場合は、limitDataSharingメソッドを使用してユーザーの選択をSingularに通知します:

  • limitDataSharing:NOを使用して、ユーザーが情報の共有に同意した (オプトインした) ことを示します。
  • ユーザーが同意しなかった場合はlimitDataSharing:YES を使用します。

Singularは「ユーザープライバシーのポストバック」においてLimitDataSharingを使用し、関連法規を遵守するためにこの情報を必要とするパートナーに情報を提供します。詳しくは「ユーザーのプライバシーとデータ共有の制限」をご覧ください。

注:このメソッドの使用は任意ですが、ユーザーがオプトインしたことが特に通知された場合に限り、パートナーがSingularと共有する属性情報がある場合があります。

Singular.limitDataSharingメソッド
シグネチャ Singular.limitDataSharing(データ共有を制限する)
説明 個人データの共有に関するユーザーの同意(オプトイン)をSingularに通知します。Limit Data Sharing(データ共有の制限)メソッドは、アプリがユーザーデータをサードパーティに送信するかどうかを制御するオプションを提供します。これは、ユーザーの好みやプライバシー要件に基づいてデータ共有を制限したい場合に便利です。
使用例
// ユーザーがデータ共有に同意した
Singular.limitDataSharing(false);

 

GDPR準拠のための追加メソッド

Singular SDKは、GDPRポリシーに準拠し、トラッキングに対するユーザーの同意または非同意についてSingularに知らせるためのメソッドをいくつか提供しています。

Singular.trackingOptInメソッド
説明 トラッキングに対するユーザーの同意(オプトイン)をSingularに通知する。TrackingOptIn()メソッドは、「gdpr 」イベントをSingularサーバーに送信するために使用されます。このメソッドを呼び出さない場合、アプリはユーザーが同意したかのようにトラッキングを続けますが、特にGDPRオプトインとしてマークされることはありません。アプリがGDPR(一般データ保護規則)に準拠する必要がある場合は、ユーザーの同意が適切に記録されるように、この関数を呼び出す必要があります。
使用例
Singular.trackingOptIn();
Singular.stopAllTracking メソッド
説明

このアプリのこのユーザーのトラッキングをすべて停止します。

重要: これは、アプリを再起動した後でも、Singular SDKを効果的に無効にします。SDKを再度有効にする唯一の方法は、resumeAllTrackingを呼び出すことです。

使用例
Singular.stopAllTracking();
Singular.resumeAllTrackingメソッド
説明 このアプリでこのユーザーのトラッキングを再開します。
使用例
Singular.resumeAllTracking();
Singular.isAllTrackingStoppedメソッド
説明 このアプリのこのユーザーのトラッキング状況を確認します。トラッキングが停止している場合はtrueを返します。
使用例
Singular.isAllTrackingStopped();