跳转到正文

Android 行为

GitHub

在 Android 上,插件会把 UUID 存到 AccountManager 中一个由插件自有的 authenticator 账户下。默认账户名以应用包名作为 scope。

这样,UUID 就能在常见的重装流程中保留下来——这些流程会清除应用私有存储,包括 Android Studio 的卸载/重装循环,以及包名不变但使用不同 debug 或 Play 签名密钥安装的情况。

稳定的作用域规则

“稳定作用域规则”章节

当应用包名在不同 build 间保持稳定时,使用默认 scope。

const result = await PersistentUuid.getId();

如果 debug、staging 和 production 构建使用不同的包名,但需要共享同一个持久化 UUID,请使用自定义 scope。

const result = await PersistentUuid.getId({ scope: 'com.example.app' });

如果用户在 Android 设置中删除了账号、设备恢复出厂设置、包名/scope 发生变化,或者应用调用了 resetId,UUID 可能会丢失。

如果您正在验证 Android 重装行为,请参阅 快速入门 了解 API 的用法, iOS 行为 了解 Apple 平台的差异,以及 使用 @capgo/capacitor-persistent-uuid 查看完整演练。