Tew_q 2020-10-23 17:43 采纳率: 0%
浏览 125

订阅型商品,在iPhone设备的 设置 - 我的Apple ID - 订阅 界面购买成功的商品,如何在自己开发的应用中收到消息?

背景

  1. 我们APP提供了一个3天免费试用的订阅型商品,在APP内部设置了该商品只允许购买一次。
  2. 但是实际测试后发现,商品购买之后,可以在标题提供的界面可以看到商品信息,
  3. 用户可以在该界面选择 退订、订阅其他商品
  4. 通过研究苹果的文档发现,同一个商品组里只能一次购买一个订阅型商品
  5. 我们也按照苹果的文档要求设置了 ServerToServer 通知接口。
  6. 服务端采用 轮循机制去检查苹果的订阅型商品订单的续费情况

问题

  1. 用户如果在手机的设置界面 退订了该商品
  2. 然后商品到期之后,再次在 iPhone的设置界面 开启该商品的订阅(因为我们APP内已经无法再购买)
  3. 这个时候我们要如果知道用户又有购买行为?
  4. 经过服务端排查,再次购买之后,没有收到苹果的 ServerToServer 通知信息。

实际操作过程(沙盒状态)

  • 11:30分 充值3天试用商品
  • 11:31分 收到苹果的 ServerToServer 通知,notification_type=INTERACTIVE_RENEWAL, auto_renew_status=true
  • 2秒钟之后,又收到 ServerToServer 通知,notification_type=DID_CHANGE_RENEWAL_STATUS, auto_renew_status=true
  • 11:35分 服务端验证订阅商品的续费状态,检查到续费成功
  • 11:35分 收到苹果的 ServerToServer 通知,notification_type=DID_RENEW, auto_renew_status=true
  • 11:36分 在手机设置界面,取消订阅
  • 11:38分 收到苹果的 ServerToServer 通知,notification_type=DID_CHANGE_RENEWAL_STATUS,auto_renew_status=false
  • 11:39分 在手机设置界面,重新订阅
  • 服务端再也没收到 ServerToServer 通知了。

现在iOS开发反馈没有解决办法,服务端无法收到通知信息
这个问题要怎么解决呢?

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-25 00:19
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题可以通过使用第三方库来解决。例如,你可以使用Swift Package Manager中的PusherFirebase Cloud Messaging等库。这些库可以将你的应用与服务器通信,并且能够接收来自服务器的消息。

    以下是一个使用Firebase Cloud Messaging的例子:

    首先,你需要创建一个新的 Firebase 项目并配置它以发送和接收消息。然后,你需要在你的应用中安装 Firebase Cloud Messaging 库,并获取到你的 Firebase 项目的相关信息。

    接下来,你需要编写一个函数来处理接收到的消息。这个函数应该接受来自 Firebase 的消息,并将其转发给你的应用程序。

    func handleFCMMessage(_ message: FCMMessage) {
        // 处理接收到的消息
    }
    

    最后,你需要在你的应用中注册一个监听器来定期检查是否有新的消息。这可以通过调用 FCMRegistrar.register(withCompletionHandler:) 函数来实现。

    FCMRegistrar.defaultRegistrar().register(withCompletionHandler: { registrar in
        // 在这里添加你的代码
    })
    

    请注意,这只是一个基本的例子,你可能需要根据你的具体需求进行调整。此外,你也需要确保你的应用和服务器之间有正确的连接,并且你的服务器能够正确地发送和接收消息。

    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵