• 全国 [切换]
  • 二维码
    广企汇

    手机扫一扫

    手机也能谈生意,信息同步6大终端平台!
    当前位置: 首页 » 行业新闻 » 热点新闻 » 正文

    IAP storekit1答疑

    放大字体  缩小字体 发布日期:2024-10-15 18:13:10   浏览次数:4  发布人:077b****  IP:124.223.189***  评论:0
    导读

    在用苹果IAP进行内购时常见疑惑答疑,都是自己摸索的如有错误请评论告知 首先我们都知道在storekit1中我们需要上传receipt(票据)让服务端去苹果后台验证是否是有效的票据,如果是给用户发放相应的权益,解析的票据见文章末尾。 疑问一: in_app:[] 和 latest_receipt_info:[] 中的数据数目为什么不一致,为什么有时候latest_receipt_info 比 in

    在用苹果IAP进行内购时常见疑惑答疑,都是自己摸索的如有错误请评论告知

    首先我们都知道在storekit1中我们需要上传receipt(票据)让服务端去苹果后台验证是否是有效的票据,如果是给用户发放相应的权益,解析的票据见文章末尾。

    疑问一: in_app:[] 和 latest_receipt_info:[] 中的数据数目为什么不一致,为什么有时候latest_receipt_info 比 in_app 中的数量多

    答: 如果你的 in_app 中的数据比latest_receipt_info中的数量少,那是因为你当前传给苹果的票据不是最新的票据,可以尝试用latest_receipt重新请求一遍就可以看到两者数目数量是一致的了。经过我的测试我发现latest_receipt_info[].count > in_app [].count

    疑问二:为什么 pending_renewal_info 中的 auto_renew_product_id 和 product_id 不一致

    答:我们知道 pending_renewal_info 代表的是下个续费周期订阅的产品,特别是切换套餐时就会出现和我们当前已经订阅的套餐不一致的情况。

    product_id代表的是切换前的套餐
    auto_renew_product_id代表的切换后的套餐
    疑问三:StoreKit 沙盒模式下订阅已订阅的订阅就会弹出以下弹框




    IAP内购图


    此时重启App就会导致下面的回调函数被调用,并且重新创建的收据中所有以前的交易,同时transication_id还不存在于解析后的receipt中,导致上报给后台后后台找不到对应的订单

    public func paymentQueue(_ queue: SKPaymentQueue,updatedTransactions transactions: [SKPaymentTransaction])

    答:暂时无解,建议做成和苹果一样,订阅成功后把该项隐藏掉或者不可点击。哪位大佬知道其他办法可以评论一下,感谢

    { "environment": "Sandbox", "receipt": { "receipt_type": "ProductionSandbox", "adam_id": 0, "app_item_id": 0, "bundle_id": "com.demo.test", "application_version": "3999", "download_id": 0, "version_external_identifier": 0, "receipt_creation_date": "2022-11-16 16:10:16 Etc/GMT", "receipt_creation_date_ms": "1668615016000", "receipt_creation_date_pst": "2022-11-16 08:10:16 America/Los_Angeles", "request_date": "2022-11-16 16:10:55 Etc/GMT", "request_date_ms": "1668615055425", "request_date_pst": "2022-11-16 08:10:55 America/Los_Angeles", "original_purchase_date": "2013-08-01 07:00:00 Etc/GMT", "original_purchase_date_ms": "1375340400000", "original_purchase_date_pst": "2013-08-01 00:00:00 America/Los_Angeles", "original_application_version": "1.0", "in_app": [ { "quantity": "1", "product_id": "com.test.demo.month20", "transaction_id": "2000000204490048", "original_transaction_id": "2000000204447356", "purchase_date": "2022-11-16 15:33:58 Etc/GMT", "purchase_date_ms": "1668612838000", "purchase_date_pst": "2022-11-16 07:33:58 America/Los_Angeles", "original_purchase_date": "2022-11-16 14:39:04 Etc/GMT", "original_purchase_date_ms": "1668609544000", "original_purchase_date_pst": "2022-11-16 06:39:04 America/Los_Angeles", "expires_date": "2022-11-16 15:38:58 Etc/GMT", "expires_date_ms": "1668613138000", "expires_date_pst": "2022-11-16 07:38:58 America/Los_Angeles", "web_order_line_item_id": "2000000015013502", "is_trial_period": "false", "is_in_intro_offer_period": "false", "in_app_ownership_type": "PURCHASED" }, ], "latest_receipt_info": [ { "quantity": "1", "product_id": "com.test.demo.month20", "transaction_id": "2000000204490048", "original_transaction_id": "2000000204447356", "purchase_date": "2022-11-16 15:33:58 Etc/GMT", "purchase_date_ms": "1668612838000", "purchase_date_pst": "2022-11-16 07:33:58 America/Los_Angeles", "original_purchase_date": "2022-11-16 14:39:04 Etc/GMT", "original_purchase_date_ms": "1668609544000", "original_purchase_date_pst": "2022-11-16 06:39:04 America/Los_Angeles", "expires_date": "2022-11-16 15:38:58 Etc/GMT", "expires_date_ms": "1668613138000", "expires_date_pst": "2022-11-16 07:38:58 America/Los_Angeles", "web_order_line_item_id": "2000000015013502", "is_trial_period": "false", "is_in_intro_offer_period": "false", "in_app_ownership_type": "PURCHASED" }, { "quantity": "1", "product_id": "com.test.demo.month20", "transaction_id": "2000000204490048", "original_transaction_id": "2000000204447356", "purchase_date": "2022-11-16 15:33:58 Etc/GMT", "purchase_date_ms": "1668612838000", "purchase_date_pst": "2022-11-16 07:33:58 America/Los_Angeles", "original_purchase_date": "2022-11-16 14:39:04 Etc/GMT", "original_purchase_date_ms": "1668609544000", "original_purchase_date_pst": "2022-11-16 06:39:04 America/Los_Angeles", "expires_date": "2022-11-16 15:38:58 Etc/GMT", "expires_date_ms": "1668613138000", "expires_date_pst": "2022-11-16 07:38:58 America/Los_Angeles", "web_order_line_item_id": "2000000015013502", "is_trial_period": "false", "is_in_intro_offer_period": "false", "in_app_ownership_type": "PURCHASED" } ], }, "latest_receipt": "****", "pending_renewal_info": [ { "expiration_intent": "1", "auto_renew_product_id": "com.test.demo.month50", "is_in_billing_retry_period": "0", "product_id": "com.test.demo.month20", "original_transaction_id": "2000000204447356", "auto_renew_status": "0" } ], "status": 0 }

     
    (文/匿名(若涉版权问题请联系我们核实发布者) / 非法信息举报 / 删稿)
    打赏
    免责声明
    • 
    本文为昵称为 077b**** 发布的作品,本文仅代表发布者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,发布者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们154208694@qq.com删除,我们积极做(权利人与发布者之间的调停者)中立处理。郑重说明:不 违规举报 视为放弃权利,本站不承担任何责任!
    有个别老鼠屎以营利为目的遇到侵权情况但不联系本站或自己发布违规信息然后直接向本站索取高额赔偿等情况,本站一概以诈骗报警处理,曾经有1例诈骗分子已经绳之以法,本站本着公平公正的原则,若遇 违规举报 我们100%在3个工作日内处理!
    0相关评论
     

    (c)2008-现在 nm0.com All Rights Reserved.