APP 使用的是匿名登陆,提供免费使用次数。用户不卸载的情况下可以正常获取 userid 通过 userid 判定当前免费次数超过免费次数会提示订阅 PRO 服务 当用户卸载重装之后 userid 会被重置导致免费次数判定无效
有没有好的方案能解决这个问题
1
estk 2023-07-08 21:33:52 +08:00 via iPhone
应该是可以读取硬件 id ,我遇到好几个银行 App 有这功能
|
2
flyqie 2023-07-08 21:34:21 +08:00
啥平台的 app 。
用啥开发的? |
3
shinsekai 2023-07-08 21:49:26 +08:00
用 keychain 保存啊
|
6
mikicomo 2023-07-08 23:45:53 +08:00
可以获取设备 id 的吧
|
7
rekulas 2023-07-09 09:00:08 +08:00
结合一些硬件信息判断吧,比如安卓上有安卓 id,imei 等,普通用户也修改不了
当然遇上非普通用户这些都没意义,只有登录限制 |
9
hellomynameis 2023-07-09 16:57:54 +08:00
硬件标识符现在 iOS 、Android 两大平台都禁止访问了,剩余的一切标识符都能重置,只有手机号/信用卡这种验证比较可靠
但是 iOS 上可以通过一个免费 IAP 解锁免费试用,这个内购每个账号只能购买一次,然后向苹果的内购服务器验证 |
10
X2031 OP @hellomynameis 是的我看文档基本都不能获取了,能取到的只有广告 id ,用户可以重置 id 。看来在匿名登录的情况下想实现控制免费次数有点难了
|
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 |
12
rekulas 2023-07-09 18:04:10 +08:00
不过貌似安卓 id 可信度不够高
另外好像有个方法可以将数据保存在安卓系统里,卸载应用重装也可以读取,我在一些广告 sdk 里见过 如果找不到实现方法,也可以考虑获取下存储权限,存储到某个隐秘位置...普通小白也破解不了 |
14
ysy950803 2023-07-10 11:21:07 +08:00
不如换个思路?从服务端来控制,因为服务端是知道客户端 IP 的,限制匿名使用的 IP 就行了,一般情况下用户也不会频繁地变动网络环境,这样比获取设备 ID 靠谱,现在因为一些隐私法案,设备唯一标识都不让获取了,获取到都是用户可以重置的。
|