首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >收入猫iOS -我如何验证购买,以使越狱的iPhones不能破解在应用程序购买?

收入猫iOS -我如何验证购买,以使越狱的iPhones不能破解在应用程序购买?
EN

Stack Overflow用户
提问于 2022-03-06 16:53:22
回答 1查看 449关注 0票数 0

我刚刚为iOS发布了一个应用程序,我使用了收入猫来帮助IAP。我刚刚发现,任何一个拥有越狱iPhone的人都可以购买假货,而无需付款就能买到“商品”。税务猫有办法核实和确保这种情况不会发生吗?

以下是在应用程序中生成特定信息时的代码(按下按钮):

代码语言:javascript
复制
guard let package = offering?.availablePackages[2] else {
    print("No available package")
    return
}
Purchases.shared.purchasePackage(package) { (trans, info, error, cancelled) in
    // handle purchase
    if trans?.transactionState == .purchased {
        if let currentUser = Auth.auth().currentUser {
            var ref: DatabaseReference!
            ref = Database.database().reference()
            ref.child("users/\(currentUser.uid)/score").getData(completion:  { error, snapshot in
              guard error == nil else {
                print(error!.localizedDescription)
                return;
              }
              let score = snapshot.value as? Int ?? 0;
                let newScore = score + 100
                ref = Database.database().reference()
                ref.child("users").child(currentUser.uid).updateChildValues(["score": newScore])
            });
       }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2022-03-07 04:04:10

从客户端递增score并不是很安全。您可以收听RevenueCat网络钩子,并在成功购买或更新时更新得分服务器端。网络钩子将只有从RevenueCat发出的一个有效的购买,并与苹果公司进行安全验证。

另一种方法是在购买完成块中对服务器进行ping,以检查RevenueCat的最新购买状态。然后从服务器调用RevenueCat的GET /subscriber端点,并确保score已经更新。然后,Webhooks可以用作一种冗余机制。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71372315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档