# 自定义用户 ID 支持

> Set a custom user identifier to match your external data systems and track players across multiple devices.

对于通过 Analytics SDK 发送的 Analytics 事件，可以使用自定义用户 ID 功能。

您可以选择在应用程序生命周期中的任何时间点使用核心 UnityServices 包设置 Analytics 用户 ID。请使用以下代码：

```cs
using Unity.Services.Core;

void Start()
{
	UnityServices.ExternalUserId = "some-user-id";
}
```

设置自定义用户 ID 是完全可选的操作。如果未设置，SDK 会按正常方式生成用户 ID。如果在旧版 Analytics 处于打开状态时设置了自定义用户 ID，则结果会出现重复计数。请在使用自定义用户 ID 之前关闭旧版 Analytics。

设置自定义用户 ID 后记录的任何事件都会使用给定的值。以前记录的事件不会更新，而是保留原始值。请注意，更改用户 ID 会给每月活跃用户计数等指标带来新用户，因此可能会影响计费。

请注意，SDK 不会保存外部用户 ID 值。如果要在一段时间内为给定用户保持一致的自定义 ID，需要进行手动保存（例如使用 `PlayerPrefs`），并在每次启动应用时进行设置。

* 如果希望 Unity 为 Analytics 生成用户 ID，无需执行任何操作。
* 如果要使用自定义 ID 与外部数据（例如，其他分析源）匹配，则需要在初始化 UnityServices 时设置 `ExternalUserId`。

使用 **ExternalUserId** 能够为不同系统中的玩家群维护一致的标识符，并确保将内部数据与 Analytics 平台提供的数据联接起来。

#### GetAnalyticsUserID()

```cs
AnalyticsService.Instance.GetAnalyticsUserID()
```

您可以使用此方法获取当前用于事件的 ID：已设置的自定义 ID 或生成的安装 ID。
