安卓的匿名登录

144 天前
 Romic
安卓 app 匿名登录,google 订阅商品之后,如何在另外一个设备恢复。
1. 张三使用安卓设备 A 的 app ,匿名登录,google 订阅商品
2. 张三换了一个安卓设备 B 访问 app ,匿名登录,google 订阅能否恢复?


chatgpt 回答如下:
在 Android 上怎么做到类似效果?(高级实现方案)
方法 1:绑定到 Google 账号的 Installations ID
Android 端使用 Firebase Installations API 获取一个稳定 ID (只要是同一个 Google 账号+同一台设备)。

这个 ID 不会因为 App 卸载而变化。

后端把匿名身份绑定到这个 ID 。


方法 2:引导用户用 Google 账号保护匿名身份(更隐私友好)
给用户提示:“为了防止身份丢失,可以绑定 Google 账号”。

实际后台仍然可以是匿名模式,只是用 Google 账号做隐式保护。

这样,即使用户卸载重装,只要 Google 账号没变,App 可以识别回来。


想看看各位安卓前辈有没有好的方式。
2699 次点击
所在节点    Android
6 条回复
nocmt
144 天前
我也在想这个问题,我目前用的 RevenueCat ,理论上让安卓设备 A 显示一个固定的 UID (我用插件生成的),然后在 B 设备输入这个 UID ,输入后 APP 自动调用 RevenueCat 提供的 login 方法,这样就能恢复订阅了(必须要额外设置客户属性,比如只能额外绑定激活 N 台设备,在每次用新的 UID 去请求时都要做这个逻辑判断),注意提示用户 UID 的保密性。
Romic
144 天前
别人说的,我也不知道对不对,就是基于安卓手机设备登陆 google 账号之后,通过和 google 进行接口校验就可以恢复权益。
1. App 启动或用户手动点击"恢复 VIP"按钮。
2.App 用 Google BillingClient 查询订阅。
3.查询到有效订阅后,拿到 purchaseToken 。
4.App 把 purchaseToken 发给后端接口。
5.后端调用 Google 官方 API 核验 purchaseToken 是否有效(防止伪造/盗刷)。
6.后端如果确认有效,更新用户的 VIP 状态,返回结果。
7.App 同步更新本地 UI ,显示恢复成功。
devcai
143 天前
google 是同一个账号的话,可以查询订阅信息。
Romic
143 天前
@devcai 谢谢,用户只要登录 google 账号,就可以恢复权益对吧
devcai
143 天前
@Romic 是的 直接 app 通过 billing sdk 查询订阅商品就行
Romic
143 天前
@devcai 感恩大佬。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1128239

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX