推送 响铃 Notification 响不响 还是只响一下

背景:

1、最近项目中要用到音视频通话这块,可以说这个还比较陌生。

2、那么就会有推送这块,比如说APP没有开的情况下,APP在后台的情况下,那得有振铃来提醒别人接听。

解决:

1、推送的内容

那不得不说一下推送这块的结构了。具体可以参考官网:https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification

网上有好多兄弟说为什么不走NotificationServiceExtension,这个取决于你推送的payload格式。

"mutable-content": 1

这个值如果不是1,那么系统是不会把这个权交给NotificationServiceExtension扩展去处理的。

中文:

所以可以看出这个取决于payload的内容中有没有这个mutable-content : 1

 

推送块好处理,可以通过后台来发送,这样就可以了。

但是对于音视频这块就没有这么轻松了,毕竟这个还有第三方的sdk,没有这个支持,或者说是处理方式

那么我们是没办法做什么工作的。

 

我们研究了二款音视频的SDK,发现他们都没有把这个特权交给用户去处理,可能这块不好操作。

毕竟有通讯这块在里面的。真不好处理,动一下,全要动,不然就会不稳定。

那么铃声之类的处理,就得SDK处理好。

 

2、关于声音的问题

如果单只是推送,那比较好办,只要我们的服务端加上上面的1,我们就可以在扩展中处理。

如果是音视频,我们就要根据sdk 或者官方文档来处理了,只要保证有这个音频文件就可以了。

目前iOS系统做了限制,这个是本人测试以后经验,仅供参考:

1)长亮的情况下,推送会响6秒的样子。

2)锁屏的情况下,可以响到30秒的样子。

至于能不能收到通知,这个只要处理好证书,就可以了。

证书有二种都可以接收到:

当然也不要忘记了,在AppDelegate来注册您的设备到苹果。

如果APP在杀死的情况下,那是设备级的,没有设备的注册,苹果也没法给您推送通知。

didFinishLaunchingWithOptions:

[[UIApplication sharedApplication] registerForRemoteNotifications];

 

didRegisterForRemoteNotificationsWithDeviceToken:

获取设备id

拿到了这个id+证书就可以发送payload通知了。

具体的证书处理,发一个极光的地址:

https://docs.jiguang.cn/jpush/client/iOS/ios_cer_guide/

 

3、好多朋友说声音也加了,但是为什么没有声音呢,苹果对这个声音的地址是有限制的

其实很简单,如果在扩展中用到,那么得在扩展中识别到啊,

看到二个勾,说明这个文件在这二个地方是可用的。

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读