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

APP 匿名登陆如何有效限制用户的使用次数

  •  
  •   X2031 · 2023-07-08 21:25:14 +08:00 · 1839 次点击
    这是一个创建于 514 天前的主题,其中的信息可能已经有所发展或是发生改变。

    APP 使用的是匿名登陆,提供免费使用次数。用户不卸载的情况下可以正常获取 userid 通过 userid 判定当前免费次数超过免费次数会提示订阅 PRO 服务 当用户卸载重装之后 userid 会被重置导致免费次数判定无效

    有没有好的方案能解决这个问题

    15 条回复    2023-07-10 21:57:45 +08:00
    estk
        1
    estk  
       2023-07-08 21:33:52 +08:00 via iPhone
    应该是可以读取硬件 id ,我遇到好几个银行 App 有这功能
    flyqie
        2
    flyqie  
       2023-07-08 21:34:21 +08:00
    啥平台的 app 。

    用啥开发的?
    shinsekai
        3
    shinsekai  
       2023-07-08 21:49:26 +08:00
    用 keychain 保存啊
    X2031
        4
    X2031  
    OP
       2023-07-08 22:03:44 +08:00
    @flyqie Flutter 安卓、ios 双平台 。主要技术栈是 Firebase
    X2031
        5
    X2031  
    OP
       2023-07-08 22:03:59 +08:00
    @shinsekai 我了解下谢谢
    mikicomo
        6
    mikicomo  
       2023-07-08 23:45:53 +08:00
    可以获取设备 id 的吧
    rekulas
        7
    rekulas  
       2023-07-09 09:00:08 +08:00
    结合一些硬件信息判断吧,比如安卓上有安卓 id,imei 等,普通用户也修改不了
    当然遇上非普通用户这些都没意义,只有登录限制
    X2031
        8
    X2031  
    OP
       2023-07-09 16:15:10 +08:00
    @rekulas imei 好像获取不了了
    hellomynameis
        9
    hellomynameis  
       2023-07-09 16:57:54 +08:00
    硬件标识符现在 iOS 、Android 两大平台都禁止访问了,剩余的一切标识符都能重置,只有手机号/信用卡这种验证比较可靠

    但是 iOS 上可以通过一个免费 IAP 解锁免费试用,这个内购每个账号只能购买一次,然后向苹果的内购服务器验证
    X2031
        10
    X2031  
    OP
       2023-07-09 17:29:30 +08:00
    @hellomynameis 是的我看文档基本都不能获取了,能取到的只有广告 id ,用户可以重置 id 。看来在匿名登录的情况下想实现控制免费次数有点难了
    rekulas
        11
    rekulas  
       2023-07-09 17:56:16 +08:00
    @X2031 那就安卓 ID, 这个就是 google 提供给 app 用来识别的,ios 貌似也有类似 id
    如果连这个都修改了的,那就不用考虑,肯定不是普通用户
    https://developer.android.com/reference/android/provider/Settings.Secure
    rekulas
        12
    rekulas  
       2023-07-09 18:04:10 +08:00
    不过貌似安卓 id 可信度不够高
    另外好像有个方法可以将数据保存在安卓系统里,卸载应用重装也可以读取,我在一些广告 sdk 里见过

    如果找不到实现方法,也可以考虑获取下存储权限,存储到某个隐秘位置...普通小白也破解不了
    X2031
        13
    X2031  
    OP
       2023-07-09 21:40:29 +08:00
    @rekulas 可以的 谢谢
    ysy950803
        14
    ysy950803  
       2023-07-10 11:21:07 +08:00
    不如换个思路?从服务端来控制,因为服务端是知道客户端 IP 的,限制匿名使用的 IP 就行了,一般情况下用户也不会频繁地变动网络环境,这样比获取设备 ID 靠谱,现在因为一些隐私法案,设备唯一标识都不让获取了,获取到都是用户可以重置的。
    X2031
        15
    X2031  
    OP
       2023-07-10 21:57:45 +08:00
    @ysy950803 感觉比用广告 id 还不靠谱,ip 不是随时都在变么,就 wifi 切换到 SIM 卡的网络 IP 不就变了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1096 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:21 · PVG 03:21 · LAX 11:21 · JFK 14:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.