Unreal 引擎 SDK 集成: 基本集成

Singular 虚幻引擎 SDK
下载
奇异虚幻引擎 SDK 2.4.0 版
兼容性 虚幻引擎 4.23+
集成指南
  1. 基本集成
  2. 跟踪事件和收入
  3. 实现深度链接
  4. 添加SKAdNetwork支持
  5. 高级选项

将 SDK 添加到您的项目

将 Singular SDK 添加到您的项目中:

  1. 您下载的 SDK 压缩包包含一个SingularSDK文件夹,其中包含 SDK 插件。将SingularSDK文件夹复制到应用程序的Plugins文件夹中。
  2. SingularSDK作为依赖项添加到应用程序 Build.cs 文件(<YOUR_APP>.Build.cs)中的PublicDependencyModuleNames数组:

    PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject",
      "Engine", "InputCore", "SingularSDK" });

初始化 SDK

注意:在实施 Singular SDK 时,切记要遵守业务所在地区颁布的各种隐私法,包括但不限于 GDPR、CCPA 和 COPPA。更多信息,请参阅SDK 选择加入和选择退出实践

每次打开应用程序时都应调用SDK初始化代码,这是所有Singular归因功能的前提条件,它还会向Singular发送用于计算用户留存的新会话。我们建议在应用程序运行时尽早初始化 SDK。

要初始化 SDK,请调用SingularSDKBPLibrary类中的Initialize方法:

初始化方法
说明 初始化 Singular SDK 并向 Singular 服务器发送用户会话。
签名
static bool Initialize(FString sdkKey, FString sdkSecret,
       int sessionTimeout = 60,
       FString customUserId = TEXT(""),
       bool skAdNetworkEnabled = false,
       bool manualSkanConversionManagement = false,
       int waitForTrackingAuthorizationWithTimeoutInterval = 0,
       bool oaidCollection = false);
使用示例
#include "SingularSDKBPLibrary.h"
  
  [...]
  
  USingularSDKBPLibrary::Initialize("SDK KEY", "SDK SECRET");
  

方法参数

参数 是否需要 说明 默认值
sdkKey   要获取这些密钥,请登录您的 Singular 账户,进入 "开发人员工具 > SDK 集成 > SDK 密钥 "页面。  
sdkSecret    

sessionTimeout

  设置自定义会话超时(以秒为单位)。 60
customUserId   将用户 ID 发送至 Singular。更多信息请点击此处  
waitForTrackingAuthorization WithTimeoutInterval   (iOS)延迟向 Singular 发送会话/事件,直到用户同意或拒绝共享其设备标识符数据。了解更多,请点击此处 False
skAdNetworkEnabled   (iOS)设置为"True"可让 Singular 跟踪用户的转换值。更多信息,请参阅Singular 的 SKAdNetwork 解决方案介绍 False
manualSkanConversion Management   (iOS)如果想手动管理 SKAdNetwork 转换值(在代码中自行设置和更新),请设置为True。 更多信息,请参阅 Singular 的 SKAdNetwork 解决方案介绍 False
oaidCollection   (Android)设置为 "true "可收集设备的 OAID。 False

向 Singular 发送用户 ID(可选)

您可以使用 Singular SDK 方法向 Singular 发送内部用户 ID。

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

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

要设置用户 ID,请使用SetCustomUserId 方法。要取消设置(例如,如果用户 "注销 "账户),请致电UnsetCustomUserId

注意:如果多个用户使用一台设备,我们建议实施注销流程,为每次登录和注销设置取消设置用户 ID。

如果已经知道应用程序打开时的用户 ID,请在初始化 Singular SDK 之前调用SetCustomUserId 。这样,Singular 就能从第一次会话中获得用户 ID。不过,在用户注册或登录之前,用户 ID 通常是不可用的。在这种情况下,请在注册流程完成后调用SetCustomUserId

SingularSDK SetCustomUserId 方法
说明 向 Singular 发送用户 ID。
签名 static void SetCustomUserId(FString customUserId)
使用示例
USingularSDKBPLibrary::SetCustomUserId("custom_user_id");
SingularSDK UnsetCustomUserId 方法
说明 取消设置已发送至 Singular 的用户 ID。
签名 static void UnsetCustomUserId()
使用示例
USingularSDKBPLibrary::UnsetCustomUserId();

可选:自定义用户 ID 设备映射

重要:此高级企业功能仅在特殊情况下可用。实施前请咨询 Singular 解决方案工程师

Singular 可以通过服务器到服务器集成接收额外的移动事件跟踪数据。要使用此功能,必须将用户 ID 映射到 Singular 的移动设备跟踪标识符。

注意:在初始化 Singular SDK 后或获得用户 ID 后,请尽快调用此方法。

SingularSDK SetCustomUserId 方法
说明 设置与登录相同的自定义用户 ID,并将其映射到 Singular 的跟踪标识符。
签名 static void SetDeviceCustomUserId(FString customUserId)
使用示例
USingularSDKBPLibrary::SetDeviceCustomUserId("custom_user_id");

可选:支持 iOS 14+ 应用程序跟踪透明度

在 iOS 14+ 中,应用程序在共享用户数据(包括使用设备的 IDFA 值)之前必须征得用户同意(请参阅 "应用程序跟踪透明度")。 拥有 IDFA 以识别设备并执行安装归属,将使 Singular 受益匪浅。因此,Singular SDK 开始向 Singular 服务器发送用户会话和用户事件之前,您应该征求用户同意。

一旦 SDK 发送了会话,就会触发 Singular 的安装归因流程,该流程仅基于 Singular 当时可用的数据。

要延迟 SDK 发送用户会话和用户事件,可使用waitForTrackingAuthorizationWithTimeoutInterval参数初始化 Singular SDK。如果这样做

  1. SDK 将被初始化并开始记录会话和用户事件,但不会将其发送到Singular 服务器。
  2. 一旦授予/拒绝了 "应用程序跟踪透明度 "同意,或者设定的超时时间结束,SDK 就会将会话和任何排队的事件发送到 Singular 服务器(无论是否有 IDFA)。
  3. 然后,Singular 将利用可用的 IDFA 启动归属过程。

如需了解更多信息,请参阅为 iOS 14 做准备