V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Romic
V2EX  ›  Android

安卓的匿名登录

  •  
  •   Romic · 12 小时 38 分钟前 · 571 次点击
    安卓 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 可以识别回来。


    想看看各位安卓前辈有没有好的方式。
    2 条回复    2025-04-26 22:06:30 +08:00
    nocmt
        1
    nocmt  
       12 小时 21 分钟前
    我也在想这个问题,我目前用的 RevenueCat ,理论上让安卓设备 A 显示一个固定的 UID (我用插件生成的),然后在 B 设备输入这个 UID ,输入后 APP 自动调用 RevenueCat 提供的 login 方法,这样就能恢复订阅了(必须要额外设置客户属性,比如只能额外绑定激活 N 台设备,在每次用新的 UID 去请求时都要做这个逻辑判断),注意提示用户 UID 的保密性。
    Romic
        2
    Romic  
    OP
       12 小时 14 分钟前
    别人说的,我也不知道对不对,就是基于安卓手机设备登陆 google 账号之后,通过和 google 进行接口校验就可以恢复权益。
    1. App 启动或用户手动点击"恢复 VIP"按钮。
    2.App 用 Google BillingClient 查询订阅。
    3.查询到有效订阅后,拿到 purchaseToken 。
    4.App 把 purchaseToken 发给后端接口。
    5.后端调用 Google 官方 API 核验 purchaseToken 是否有效(防止伪造/盗刷)。
    6.后端如果确认有效,更新用户的 VIP 状态,返回结果。
    7.App 同步更新本地 UI ,显示恢复成功。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5698 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 02:21 · PVG 10:21 · LAX 19:21 · JFK 22:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.