应用程序终止时通知视频聊天应用程序

时间:2016-08-14 10:00:37

标签: ios sockets

当应用处于终止状态时,有没有办法通知我的视频聊天应用程序有来电视频通话? (就像Android后台服务一样。)

当应用程序处于运行状态和后台状态时,我通过套接字通知传入的呼叫。

2 个答案:

答案 0 :(得分:2)

使用VoIP的应用程序受到苹果的不同对待并拥有更多的特权。在过去,这意味着保持与服务器的永久连接,以便在发生呼叫时收到通知。

这在节能方面效率不高。

从iOS8开始,建议使用PushKit(推送通知API)在发生呼叫时通知您的用户。具有VoIP权限的应用程序将在现场通知,无论状态如何,都可以唤醒您的应用程序。

以下是来自苹果的世界:

  

开发人员应该使用PushKit而不是持久连接   framework-APIs允许应用程序接收推送(通知   当数据可用时)来自远程服务器。每当推动时   收到后,应用程序即可开始行动。例如,VoIP应用程序可以   收到呼叫时显示提醒,并提供选项   接受或拒绝来电。它甚至可以开始采取前期步骤   在用户决定接受的情况下发起呼叫。

https://developer.apple.com/library/ios/documentation/Performance/Conceptual/EnergyGuide-iOS/OptimizeVoIP.html

答案 1 :(得分:0)

  • 获取pushkit有效负载
  • 在ios代码端实施pushkit
  • 收到无声通知后
  • 安排本地通知
  • 将重要信息保存在本地通知的userinfo
  • 同时在NSUserDefault中保留本地通知对象
  • 如果您的设备重新启动,则可以从NSUserDefault对象
  • 检索localnotification userinfo
  • 一旦收到无声通知,您的套接字就会激活到您当地的通知声音播放(最长30秒)
  • 如果您希望来电响铃超过30秒,则服务器必须每30秒发送一次无声通知
  • 删除上一个对象并重新安排最新的本地通知

如果您在推送套件实施方面需要任何帮助,请告诉我。