针对 Segment 的 Singular 目的地(设备模式)

Singular SDK 可作为 Segment 的插件使用,被称为 "设备模式 "目的地。下面的说明介绍了如何在 Segment 中添加 Singular 目的地。

工程团队指南 工程团队
前提条件 本文假设您 的应用程序中已经 集成了 Segment iOS 或 Android Analytics SDK

要使用此集成,您必须使用 Segment 的移动分析 SDK:iOS(原生 Obj-C 或 Swift)、Android(Java 或 Kotlin)。此集成不兼容任何其他框架,包括 Unity、Factual Engine、React Native 或 Xamarin 等

支持内容
  1. 基本安装属性
  2. 支持 SkAdNetwork 3 (SKAN 3.0)
  3. 苹果搜索广告归因
  4. 自定义应用内事件跟踪
  5. 收入跟踪
  6. 自定义用户 ID
不支持的功能
  1. 支持 SkAdNetwork 4 (SKAN 4.0)
  2. META 安装推荐人归属
  3. 深度链接
  4. 有限的数据共享支持

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

开始使用

  1. 在 Segment 网络应用程序中,点击 "连接 "菜单下的 "目录"。
  2. 在目录中搜索"Singular",选择它,然后点击 "添加目的地 "按钮。
  3. 选择要将目的地连接到的源,然后单击 "下一步"。
  4. 为目的地命名,然后点击 "创建目的地"。
  5. 在 Singular 控制面板的" 开发工具 > SDK 集成 > SDK 密钥 "下获取 Singular "SD K 密钥",并将其添加到 "连接设置 "部分的 "API 密钥 "和 "密文 "下。

    mceclip0.png

重要: 确保使用 Singular SDK 密钥作为 Segment 中的 API 密钥值。如果使用了错误的密钥,Singular 将无法接收任何数据。

其他设置

要使用本集成的纯本地功能,你需要在依赖关系配置中添加以下几行,以包含 Singular 库:

对于 iOS

iOS 版 Segment Analytics

  1. Link Binary With Libraries(链接二进制库)中添加AdServices.framework,并将其标记为可选(仅适用于 iOS 14.3 及更高版本的设备)。 这是支持 Apple Search Ads 归因所必需的。
  2. 将 Singular Segment 集成 pod 添加到应用程序的 podfile 中,如下所示:
    pod 'Segment-Singular' 
  3. 在文件中导入 Singular 库:
    #import <Segment-Singular/SEGSingularIntegrationFactory.h>
  4. 最后,向 Segment SDK 注册 Singular
    Obj-C Swift
    SEGAnalyticsConfiguration *configuration = 
    [SEGAnalyticsConfiguration configurationWithWriteKey:@”<SEGMENT_WRITE_KEY>”];
    
    // Enable this to record certain application events automatically!
    configuration.trackApplicationLifecycleEvents = YES;
    // Enable this to record screen views automatically!
    configuration.recordScreenViews = YES;
    // Add any of your Device-mode destinations.
    configuration use:[SingularIntegrationFactory instance]];
    [SEGAnalytics setupWithConfiguration:configuration];
  5. [可选] 实现 SKAN 支持

    Singular SDK 可以控制您的 SKAdnetwork 集成。 有关其工作原理的详细信息,请参阅iOS SDK:添加 SKAdNetwork 支持

    要让 Singular 控制您的 SKAdNetwork 集成,请Segment SDK 初始化之前添加以下代码:

    Obj-C Swift
    [SingularIntegation setSKANOptions:YES
      isManualSkanConversionManagementMode: NO
      withWaitForTrackingAuthorizationWithTimeoutInterval:@0
      withConversionValueUpdatedHandler:^(NSInteger conversionValue) {
          NSLog(@"Your SKAN handler %ld",conversionValue);
      }];
对于安卓系统

安卓版 Segment 分析

  1. 应用程序的 build.gradle文件中添加 Singular Segment 集成依赖项:
    compile 'net.singular.segment.integration:singular_segment_sdk:+'
  2. AndroidManifest.xml文件中添加所需的权限。包括以下权限:
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="BIND_GET_INSTALL_REFERRER_SERVICE" />
  3. 添加依赖关系后,必须导入集成
    import net.singular.segment.integration.SingularIntegration;
  4. 最后,添加代码以初始化 Singular SDK

    添加.trackApplicationLifecycleEvents() 向 Singular 发送应用程序打开、应用程序更新和应用程序安装事件。

    static final String SEGMENT_WRITE_KEY = "<YOUR_KEY>";
    @Override protected void onCreate(Bundle savedInstanceState) {
    Analytics analytics = new Analytics.Builder(this , SEGMENT_WRITE_KEY) .use(SingularIntegration.FACTORY .logLevel(Analytics.LogLevel.VERBOSE) .recordScreenViews() .trackApplicationLifecycleEvents() .build(); Analytics.setSingletonInstance(analytics); }

安装归因

使用初始化配置参数(iOSAndroid)启用自动跟踪生命周期事件(应用程序已打开、应用程序已安装、应用程序已更新),以便在 Singular 中跟踪安装和会话。只要包含上述事件,Singular "会话 "将通过集成自动发送。

跟踪自定义事件

如果你对 Segment Specs 不熟悉,请看一看了解Track 方法的作用。

使用 Segment 跟踪功能将事件翻译并发送到 Singular:

iOS(Obj-C) 安卓(Java)
[[SEGAnalytics sharedAnalytics] track:@"simple event"];

Segment 会将所有事件属性作为 Singular 事件的回调参数。

这些事件可用于报告和用户级导出。

收入跟踪

当发送包含收入属性(包括零值)的事件时,Singular 将接收收入跟踪。您可以选择传递货币(作为ISO 4217 货币代码)。默认货币为美元

iOS (Obj-C) Android (Java)
[[SEGAnalytics sharedAnalytics] track:@"segment revenue event" properties:@{@"currency": @"USD", @"revenue":@20}];

注意:以三个字母的 ISO 4217 货币代码形式传递货币,如 "USD"、"EUR"、"INR"。

自定义用户 ID

您可以使用Segmentidentify方法向Singular发送您的Segment用户ID。

注意:如果使用Singular的跨设备解决方案,必须在所有平台上收集相同的用户ID。

  • 用户 ID 可以是任何标识符,但不能暴露 PII(个人身份信息),例如,不能使用用户的电子邮件地址、用户名或电话号码。Singular 建议使用仅对第一方数据唯一的哈希值。
  • 传递给Singular的用户ID值也应该是你在所有平台(Web/移动/PC/控制台/离线)上获取的相同的内部用户ID。
  • Singular 将在用户级导出、ETL 和内部 BI 回传(如果配置)中包含用户 ID。用户 ID 是第一方数据,Singular 不会与其他方共享。
  • 用户 ID 值设置后将一直存在,直到使用 "分段重置"方法取消设置或卸载应用程序为止。关闭或重启应用程序不会取消设置用户 ID。

请按照以下步骤进行配置:iOS、Android。

iOS (Obj-C) Android (Java)
[[SEGAnalytics sharedAnalytics] identify:@"segment custom user id"];

要取消设置自定义用户 ID,请调用重置方法。

[[SEGAnalytics sharedAnalytics] reset];