V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
X2031
V2EX  ›  程序员

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

  •  
  •   X2031 · Jul 8, 2023 · 2571 views
    This topic created in 1032 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

    如果找不到实现方法,也可以考虑获取下存储权限,存储到某个隐秘位置...普通小白也破解不了
    X2031
        13
    X2031  
    OP
       Jul 9, 2023
    @rekulas 可以的 谢谢
    ysy950803
        14
    ysy950803  
       Jul 10, 2023
    不如换个思路?从服务端来控制,因为服务端是知道客户端 IP 的,限制匿名使用的 IP 就行了,一般情况下用户也不会频繁地变动网络环境,这样比获取设备 ID 靠谱,现在因为一些隐私法案,设备唯一标识都不让获取了,获取到都是用户可以重置的。
    X2031
        15
    X2031  
    OP
       Jul 10, 2023
    @ysy950803 感觉比用广告 id 还不靠谱,ip 不是随时都在变么,就 wifi 切换到 SIM 卡的网络 IP 不就变了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3453 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 10:53 · PVG 18:53 · LAX 03:53 · JFK 06:53
    ♥ Do have faith in what you're doing.