Android 跨多个应用程序的谷歌智能锁

Android 跨多个应用程序的谷歌智能锁,android,google-smartlockpasswords,Android,Google Smartlockpasswords,我一直在尝试让谷歌的智能锁在我拥有的两个应用程序之间工作(不幸的是,它们的密钥库不同),但没有任何运气 在智能锁中为一个应用程序(app 1)保存密码非常简单,可以执行以下操作: Credential credential = new Credential.Builder(email) .setPassword(password) .build(); Auth.CredentialsApi.save(mCredentialsApiClient, c

我一直在尝试让谷歌的智能锁在我拥有的两个应用程序之间工作(不幸的是,它们的密钥库不同),但没有任何运气

在智能锁中为一个应用程序(app 1)保存密码非常简单,可以执行以下操作:

Credential credential = new Credential.Builder(email)
            .setPassword(password)
            .build();
Auth.CredentialsApi.save(mCredentialsApiClient, credential).setResultCallback(...
但是,当我尝试在应用程序2中发出
凭证请求时,它无法读取从应用程序1保存的相同凭证。
我已尝试将
accountType
设置为它们之间的相同标识符,如:

Credential credential = new Credential.Builder(email)
            .setPassword(password)
            .setAccountType(ACCOUNT_TYPE)
            .build();
Auth.CredentialsApi.save(mCredentialsApiClient, credential).setResultCallback(...
...
CredentialRequest request = new CredentialRequest.Builder()
            .setAccountTypes(ACCOUNT_TYPE)
            .build();

Auth.CredentialsApi.request(mCredentialsApiClient, request).setResultCallback(...
但是我得到一个例外,说明您不能在同一凭证上同时设置
密码
帐户类型
(与文档所述内容相匹配)

有人在两个应用程序之间尝试过类似的东西吗? 我应该注意,目前我无法将应用程序中的凭据与我的网站登录绑定,因此无法使用
数字资产链接
机制。

出于安全原因,这是将多个应用程序与不同的软件包名称关联,并将密码检索的签名证书与智能锁关联的唯一方法


如果您还不能从网站支持凭据,那么只需将“web”目标从数字资产链接文件中排除,凭据将仅在应用程序之间共享(但您仍然必须在某个位置托管该文件,并在两个应用程序清单中都包含指向该文件的链接)。

非常感谢,我想可能是这样的。我还需要通过Play Store发布来测试它的工作情况吗?无法提交测试版来检查自己。或者是否有其他方法强制应用程序验证数字资产链接文件?我们只能处理已发布的Play Store应用程序的链接,但您可以发布到私人beta频道。一旦发布,crawler需要几天的时间来获取文件并进行处理,很抱歉,速度不够快:/谢谢!提交到我的Play Store测试版以查看包名是什么?我来帮你查一下。嗨@StevenSoneff,如果应用共享同一个签名证书会发生什么?智能锁是否仍需要使用数字资产链接才能为每个应用程序使用相同的密码?