我正在使用AWS Cognito进行设备身份验证和同步。我也启用了未经身份验证的用户。
该应用程序运行良好我能够使用ID跟踪用户数据。但是,当用户从设置中清除App Data并请求Cognito Identity时,会生成新的身份。
如何确保只为一个设备分配了一个身份?我不是Android专家。请分享任何相关文档链接。我试过但没找到任何东西。
答案 0 :(得分:0)
Cognito Android SDK将身份ID保存在共享首选项中,因此如果数据被清除则会被删除。如果您使用未经身份验证的身份,则在清除数据时,保持身份的唯一方法是在外部跟踪它(即在文件中维护它)。
如果您使用经过身份验证,则只需传递相同的提供者令牌即可保证相同的ID。如果你也在使用Cognito Sync,我强烈建议你使用authenticated而不是unauth。这将允许用户在多个设备上轻松获取相同的ID和数据,并且可以防止丢失身份ID。
Cognito逻辑上没办法知道两个未经身份验证的ID属于同一个人。