Rudderstack - Singular目的地(设备模式)

RudderStack 是一个开源的客户数据平台(CDP) 可帮助企业收集、统一客户数据并将其路由到各种目的地。它提供了一个集中式平台来管理客户数据管道,使组织能够轻松地从网站、移动应用、服务器和云服务等各种来源收集数据。

Singular SDK 作为 Rudderstack 的插件提供,被称为 "Device-Mode" 目的地 。以下说明介绍了如何在 Rudderstack 中添加 Singular 目的地。

请注意,此集成由 Rudderstack 构建和维护。如果在实施过程中出现问题,请咨询 Rudderstack。

适用对象 工程团队
前提条件 本文假设您已经在应用中集成了 Rudderstack iOS、Android、React Native 或 Cordova SDK。 有关 device-mode 和移动 SDK 的更多详情,请参阅 Rudderstack 文档。

要使用此集成,您必须使用 Rudderstack 的移动 SDK,适用于:iOS(原生 Obj-C 或 Swift)、Android(Java 或 Kotlin)、React Native 或 Cordova。 此集成与任何其他框架均不兼容!

支持的功能
  1. 基础安装归因
  2. SkAdNetwork 支持
  3. Apple Search Ads 归因
  4. 自定义应用内事件跟踪
  5. 收入跟踪
  6. 自定义用户 ID
不支持的功能
  1. META Install Referrer 归因
  2. 深度链接
  3. Limited Data Sharing 支持

如果您需要支持其他 框架 ,或希望使用 Singular SDK 提供的"完整功能",则必须独立于 Rudderstack 实施 Singular SDK。请在 此处 查看 SDK 选项和框架。

快速开始

  1. 从您的 RudderStack 控制台 添加来源。然后,从目的地列表中选择 Singular
  2. 为您的目的地指定一个名称,然后点击 Continue

连接设置

要成功将 Singular 配置为目的地,您需要配置以下设置:



  • API Key: 在此处输入您的 Singular "SDK Key" 。这是必填字段。
  • Secret: 输入您的 Singular secret。这是必填字段,是与 RudderStack iOS 和 Android SDK 进行设备模式集成所必需的。

    获取您的 Singular "SDK KEY" ,它位于 Singular 控制台的 "Developer Tools > SDK Integration > SDK Keys" 下。


    注意: 对于 "Cloud-Mode" 集成,您将 只需输入 API Key(SDK Key)值
    将 "Secret" 留空。

  • Session Event Name: 此设置仅适用于通过云模式发送事件。
  • Use device mode to send events: 使用 Android 或 iOS 平台时,您可以启用此设置以通过设备模式发送事件。然后,按照 Singular Device Mode 指南中的步骤将 Singular 添加到您的项目中。

    通过设备模式发送事件时,RudderStack 还允许您指定哪些事件应被丢弃或允许通过。有关更多信息,请参阅 Client-side Event Filtering 指南。

添加设备模式集成

在 RudderStack 中将 Singular 设置为目的地后,根据您的集成平台,按照以下步骤将其添加到您的项目中。

React NativeCordovaiOS Obj-C (Legacy)iOS SDK v2 (Legacy)Android Java (Legacy)

要将 Singular 添加到您的 React Native 应用,请按照以下步骤操作:

  1. 通过运行以下命令将 RudderStack-Singular 模块添加到您的应用中:

    bash

    npm install @rudderstack/rudder-integration-singular-react-native
    // OR //
    yarn add @rudderstack/rudder-integration-singular-react-native
  2. 打开您的项目级 android/build.gradle 文件并添加以下代码片段:

    groovy

    repositories {
      maven {
        url "https://maven.singular.net/"
      }
    }
    
  3. 导入上述模块并将其添加到您的 SDK 初始化中:

    typescript

    import rudderClient from "@rudderstack/rudder-sdk-react-native"
    import singular from "@rudderstack/rudder-integration-singular-react-native"
    const config = {
    	dataPlaneUrl: <data_plane_url>,
    	trackAppLifecycleEvents: true,
    	withFactories: [singular],
    }
    rudderClient.setup(<write_key>, config)

Identify

对于设备模式集成,Singular SDK 使用 RudderStack 的 identify 方法将用户 ID 映射到其自定义用户 ID。RudderStack 使用 Singular 的 setCustomUserId API 将已识别的用户 ID 转发给 Singular。

以下是 Android 和 iOS SDK 的 identify 调用示例:

iOS (Obj-C) Android (Kotlin)
[[RSClient getInstance] identify:@"1hKOmRA4el9Zt1WSfVJIVo4GRlm"];

Track

track 调用可让您捕获任何用户操作及其关联属性。每个用户操作都被视为一个事件。

跟踪自定义事件

自定义 track 调用可让您跟踪应用中发生的自定义事件。RudderStack 将这些调用发送给 Singular,在那里它们被作为自定义安装后事件进行处理,并在相关报告中提供。

以下是 Android 和 iOS SDK 的自定义 track 调用示例:

iOS (Obj-C) Android (Kotlin)
[[RSClient getInstance] track:@"Product Reviewed" properties:@{
        @"product_id" : @"345676543",
        @"review_id" : @"123454387"
    }];

跟踪收入

Singular 支持跟踪收入事件。每当发送包含 revenue 属性的事件时(包括零值),它都会执行收入跟踪。您还可以选择将 currency 字段作为 ISO 代码 传递。

默认货币设置为 USD。

以下是 revenue track 调用示例:

iOS (Obj-C) Android (Kotlin)
[[RSClient getInstance] track:@"Order Completed" properties:@{
        @"revenue" : @1251,
        @"currency" : @"INR"
    }];

Screen

screen 方法允许您记录用户何时看到移动屏幕,以及任何关联的可选属性。此调用类似于 Web 应用的 page 调用,但专用于您的移动设备。

以下是 Android 和 iOS SDK 的 screen 调用示例:

iOS (Obj-C) Android (Kotlin)
[[RSClient sharedInstance] screen:@"Home" properties:@{
    @"category" : @"launcher"
}];

在上面的代码片段中,RudderStack 会捕获与所查看屏幕相关的所有信息,以及有关该屏幕的任何附加信息。

RudderStack 将 screen 事件作为自定义事件发送给 Singular。

Reset

reset 方法会重置当前用户的身份并创建一个新的匿名会话。应在用户注销时调用它。

RudderStack 调用 Singular 的 unsetCustomUserId 方法来重置用户的身份。

以下是 Android 和 iOS SDK 的 reset 调用示例:

iOS (Obj-C) Android (Kotlin)
[[RSClient getInstance] reset];

实施 SKAdNetwork(SKAN)支持

在初始化 iOS SDK 之前添加以下代码,以将 SKAdNetwork 集成的控制权交给 Singular:

重要提示:

  • 设置 manualSkanConversionManagement = true 将要求您手动更新自己的 Conversion Value。这将不允许 Singular 的 SKAN 模型代您更新 CV 值。将此项设置为 "false" 以启用"托管"模式。
  • 仅当您的应用使用 iOS App Tracking Transparency(ATT)提示时,才应设置 waitForTrackingAuthorizationWithTimeoutInterval 。如果您显示 ATT,则应将其设置为 300。

Obj-C

[RudderSingularIntegration setSKANOptions:YES
        isManualSkanConversionManagementMode:NO
withWaitForTrackingAuthorizationWithTimeoutInterval:@300
        withConversionValueUpdatedHandler:^(NSInteger conversionValue){
    // Receive a callback whenever the Conversion Value is updated
    NSLog(@"SKAN handler %ld",conversionValue);
}];