iOS端 app切换到后台之后,一定会走苹果的远端推送,和同时接收消息回调吗?

周大侠 1天前 40

现象1:iOS端 app切换到后台之后,一开始是走苹果的远端推送,app不会收到消息回调

现象2:尝试切换几次前后台,最后一次是app放置在后台,app收到消息回调,没走苹果的远端推送

app放置在后台,有以下疑问: 1.针对现象2提问,为啥又不走苹果的远端推送了? 2.既然有了远端推送,为什么要有接收消息回调走到本地推送的逻辑? 3.接收消息回调走到本地推送,这种情况有概率可以触发,但不是必现。请问下怎么复现出来? 4.如果IM服务发送消息,没有设置pushData和pushContent,是否一定会走接收消息回调? 5.IM服务发送消息,没有设置pushData和pushContent,app没有显示此条消息,是没有走接收消息回调,本地推送吗?

最新回复 (3)
  • HeavyRain 1天前
    引用 2
    iOS有后台的概念,在后台活跃时间不定。如果不活跃,那么IM服务会断开,当收到消息时走远程推送。如果活跃,IM服务是在线的,会把消息收下来,当收到消息发现是后台时,就弹本地通知。不确定应用会不会活跃,需要同时处理好远程推送和本地通知
  • HeavyRain 1天前
    引用 3
    4: 如果是系统已经定义好的消息,IM服务会自动处理。如果是自定义消息,需要设置MessagePayload的pushData或者pushContent,有这两个数据之一才会在需要的时候推送。
    5: 是走推送还是本地通知,依赖是否活跃,如果或者就本地收到消息了,在后台需要处理通知。如果不活跃,就检查有没有pushdata或者pushcontent,如果有才会走推送
  • 周大侠 22小时前
    引用 4
    已解决,谢谢
返回