RudderStackはオープンソースの顧客データプラットフォーム(CDP)であり、企業が顧客データを収集、統合し、さまざまな宛先にルーティングすることを可能にします。顧客データパイプラインを管理するための一元化されたプラットフォームを提供し、企業はウェブサイト、モバイルアプリ、サーバー、クラウドサービスなど様々なソースから簡単にデータを収集することができる。
Singular SDKは、標準的な「デバイスモード」や「クラウドモード」の統合オプションでは利用できない多くの機能を提供します。
RudderstackとSingularを使用する場合、Singularのすべての特徴と機能を利用するために、ハイブリッド手法で統合することをお勧めします。
ハイブリッドアプローチは以下のように構成されます:
- Singular SDKをRudderstackから独立して実装し、Singular SDKがセッショントラッキング、SDKフレームワーク(React Native、Unityなど)の追加サポート、SkAdNetwork、ディープリンク、ディファードディープリンク、高度な機能を処理できるようにします。
- Rudderstackの"Cloud-Mode "オプションをSingular Destinationで使用可能にしました。これにより、すべてのRudderstackモバイルトラックイベントがSingularのDestinationに送信されます。
以下の手順は、RudderstackでSingular Hybridを設定する方法を示しています。
ガイド | エンジニアリングチーム |
前提条件 | この記事では、すでに アプリにRudderstack Mobile SDKが統合されていることを前提としています 。 |
このインテグレーションを使用するには、RudderstackのMobile SDKを使用する必要があります。
Singular SDKは以下をサポートします:
- アトリビューションのインストール
- SkAdNetworkのサポート
- Google Install Referrer サポート
- META インストールリファラーサポート
- Apple 検索広告のアトリビューション
- カスタムアプリ内イベントトラッキング
- 収益トラッキング
- カスタムユーザーID
- グローバルプロパティサポート
- プライバシーオプション
Rudderstackの「クラウドモード」統合は、以下のサポートを提供します:
- カスタムアプリ内イベントトラッキング
- 収益トラッキング
- カスタムユーザーID
ハイブリッド構成
-
Singular SDKの統合
Singular SDKをRudderstackから独立して実装します。SDKオプションとフレームワークはこちらをご覧ください。
-
Rudderstack - Singular Destination(クラウドモード)を有効にする。
こちらのガイドに従ってください。
推奨される追加セットアップ
ハイブリッド手法を使用する場合、Rudderstack AnonymousIdとRudderstack User IDをSingularのSDKに渡すことを推奨します。
SDKのドキュメントに記載されているこれらのオプション機能を実装する際には、特に注意してください。使用するフレームワークによって手順が若干異なる場合があります。
グローバルプロパティの実装
Singular Global PropertyにRudderstackAnonymousIdを渡します。これにより、SDKからのデバイスレベルのデータにRudderstack AnonymousIdが関連付けられます。
このグローバルプロパティは、Singular SDKを初期化する際に、キー:rudderstack_anonymous_id 、およびRudderstack SDKから取得したRudderstack AnonymousIdの値で設定する必要があります。Rudderstack AnonymousIDは、このメソッドを使用してRudderstack SDKから取得できます[iOS][Android]。
[RSClient getInstance].anonymousId;
Singular SDKの設定例
- (SingularConfig *)getConfig {
// Get the 3rd-party identifiers to set in Global Properties:
// If 3rd-party SDKs are providing any identifiers to Singular, the
// respective SDK must be initialized before Singular.
NSString* thirdPartyKey = @"rudderstack_anonymous_id";
NSString* thirdPartyValue = [RSClient getInstance].anonymousId;
// Singular Config Options
SingularConfig* config = [[SingularConfig alloc]
initWithApiKey:APIKEY andSecret:SECRET];
...
// Using Singular Global Properties feature to capture 3rd-party identifiers
[config setGlobalProperty:thirdPartyKey
withValue:thirdPartyValue overrideExisting:YES];
...
return config;}
// (Optional) Get 3rd-party identifiers to set in Global Properties:
// If 3rd-party SDKs are providing any identifiers to Singular, the
// respective SDK must be initialized before Singular.
String thirdPartyKey = new String("rudderstack_anonymous_id");
String thirdPartyValue = new String(RudderClient.getInstance()?.anonymousId);
// Singular Config Options
SingularConfig config = new SingularConfig("SDK KEY", "SDK SECRET")
.withGlobalProperty(thirdPartyKey, thirdPartyValue, true);
カスタムユーザーIDの実装
Singular Custom User IDメソッドにRudderstack UserIdを渡します。これにより、Rudderstack UserIdがSDKからのデバイスレベルのデータに関連付けられます。この値をSingular SDK初期化時にSingular ConfigオブジェクトでSingularに提供することで、SingularはRudderstackへのインストールポストバック時にUserIdを送信することもできます。Singularのインテグレーションに使用しているSDKフレームワークのドキュメントは、続きをお読みください。iOS][Android]の例
さらに、UserIDはSingular SDKからネイティブにトリガーされるアプリ内イベントに関連付けられます。
受信した "Cloud-Mode "イベントに対して、SingularはカスタムユーザーIDをRudderstackのユーザーID値にマッピングしています。