客户用户ID字段(CUID)

概要:您可以使用CUID对同一个用户通过不同设备、渠道或流量入口完成的事件进行统一衡量。

CUID的定义

客户用户ID(CUID)是一种具有唯一性的用户标识符。该标识符通常由应用所有者(广告主)在用户完成注册时生成并设置。广告主能依据CUID将不同设备中的用户行为串联起来,形成完整的用户链路。

示例

某应用的用户在多个设备中使用该应用,且在该应用中具有同一个CUID。该用户在其移动端或PC端设备上完成某个事件后,AF会将该事件及用户的CUID一并记录下来。这样广告主就能将不同设备的数据整合起来,从而对该用户有更全面的了解。

使用场景:

  • 如果该应用的用户在不同设备(手机、平板、电视、PC端)上完成应用内购买,该应用的广告主就可以使用CUID将这些购买事件关联到同一个用户,集中查看。
  • 如果用户在多个平台(PC端、移动端、电视)上安装了同一个游戏,可使用CUID对其使用情况进行跨平台共享,从而对用户体验形成一体化的理解。

设置CUID

建议在SDK初始化流程中尽早设置CUID。CUID设置得越早,能关联到CUID的事件就越多。

在安卓应用中设置CUID

您可以在CUID可用时调用 setCustomerUserId来设置CUID。只有在CUID设置完毕后发生的事件才能关联到CUID。因此如果您在setCustomerUserID之前调用start,就无法将激活关联到CUID。

将激活关联到CUID

如果您需要将激活关联到CUID,就必须在调用start之前完成CUID的设置。

重要提示:请务必注意,如果您在调用start之前设置CUID,可能会使SDK无法发送激活,导致归因失败。比如相关应用首次启动时,如果用户在SDK完成CUID设置之前就退出应用,就会发生这种情况。

对于安卓设备,您可以选择在全局Application类或Activity类中设置CUID并调用start方法,具体取决于相关应用的实现方式。详情请见在合适的类(Class)中启动SDK

在Application类中启动SDK

如果您想要在全局Application类中启动SDK时将CUID关联到激活,请务必使用waitForCustomerUserId方法延迟激活的发送。该方法可将SDK置于等待模式,等到CUID设置完毕后启动。

请注意:如果CUID设置失败,SDK会一直处于等待模式,不发送任何事件。

在Activity类中启动SDK

如果您想要在Activity类中启动SDK时将CUID关联到激活,无需延迟发送激活,只需在start之前调用setCustomerUserId即可。

开发人员相关说明

开发人员需要了解以下信息:

在iOS应用中设置CUID

请使用customerUserId设置CUID。具体事件是否能关联到CUID取决于您调用customerUserIdstart方法的先后顺序。

  • 如果在start之前调用customerUserId,则激活和后续的应用内事件都会关联到CUID
  • 如果在start之后调用customerUserId,则只有在CUID设置完毕之后发生的事件会关联到CUID

开发人员相关说明

开发人员可参考以下文档:

CUID与隐私保护

AppsFlyer重视并尊重您用户的隐私,因此我们不允许收集敏感的个人数据或将此类信息传输到AppsFlyer平台。

为了确保用户的隐私不受侵犯,在设计CUID时切勿涉及任何能直接识别用户身份的信息。这类信息包括社保号码和身份证号码等。

此外,如果CUID中包含用户的邮箱地址或电话号码,请务必确保这些信息在发送到AppsFlyer时已进行哈希加密,禁止向AppsFlyer发送带有未哈希的个人数据的CUID。

扩展阅读

请参考用户链路报告,进一步了解原始数据报告中的CUID。