请选择 进入手机版 | 继续访问电脑版
查看: 705|回复: 0

【新手接入指南】云信消息推送

[复制链接]

11

主题

36

帖子

419

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
419
发表于 2018-9-17 13:53:20 | 显示全部楼层 |阅读模式

综述:为了提高消息达到的实效性,大部分移动端系统提供了消息推送功能。下面就对云信提供的消息推送业务做一下简单的介绍。

iOS:


        对于iOS设备,整体推送业务的简单架构为:
        那么,这个流程中,作为广大开发者需要做什么呢?


配置工作

       在配置之前,强烈建议开发者先参考开发文档的流程。
       http://dev.netease.im/docs/product/IM即时通讯/SDK开发集成/iOS开发集成/APNs推送
  • 1、以APNS为例,申请苹果APNS证书。申请及xcode的配置的方式可以参考这个流程: https://www.jianshu.com/p/044bc7e40815
  • 2、区分线上环境和测试环境,在云信管理后台配置对应环境的证书,注意包名,证书名,证书环境需要匹配。关于云信控制台应用环境:
  •            标题:关于[线上环境/正式环境/生产环境/Distribution/Production] 和 [测试环境/开发环境/Development]
  •            链接:https://faq.yunxin.163.com/#KB0002
  • 3、初始化云信sdk,配置推送证书名信息,调用iOS系统方法上传APNS Token给sdk,可以参考官方文档的方法didRegisterForRemoteNotificationsWithDeviceToken
  • 4、配置消息推送参数。可以参考:
  •            标题:关于IM推送的主要配置参数
  •            链接:https://faq.yunxin.163.com/#KB0291


问题排查
        
        只有app在后台或者进程被杀的情况下,才会触发推送逻辑。 开发者在排查推送问题时建议先将iOS推送的架构熟悉。问题排查可以按照这个流程执行
         http://bbs.netease.im/forum.php? ... d=27&extra=page%3D1   【云信iOS收不到推送问题处理】
        如果自行排查还是无法直接定位问题,请向对应的云信技术支持团队提供

  • 1、测试Pusher的完整截图
  • 2、云信管理后台上传证书的地方的完整截图,
  • 3、代码中,上传证书名,初始化APNS的代码截图
  • 4、代码中消息推送配置的截图,参考:关于IM推送的主要配置参数 链接:https://faq.yunxin.163.com/#KB0291
  • 5、sdk日志。

技术支持会协助您定位问题。

补充:关于PushKit的配置与排查

Android:

        在对接安卓推送之前,我们强烈建议开发者熟读开发文档上对安卓推送的介绍。
        目前云信支持小米,华为,魅族,以及海外的FCM推送,其他设备厂家由于没有提供推送服务,或者已经有推送服务但是还没完全开放,因此云信暂未提供对这部分厂家推送服务的支持。


配置工作





收不到推送问题排查

由于安卓大环境碎片化严重,推送的场景链路长,涉及的逻辑也比较复杂,确实在问题排查方面会有一定的难度。主要的排查要点仅供开发者参考。只有app进程被杀的情况下,才会触发离线推送逻辑。
  • 1、设备的通知栏提醒开关是否打开,安卓8.0+引入了Channel的概念,将通知栏,声音震动的权限回收到了用户层面,因此需要单独在系统的配置界面中将这部分开关打开。
  • 2、消息发送时,CustomMessageConfig的属性enablePush是否设置为true。
  • 3、检查推送配置是否配置完全,并尝试通过厂家推送管理后台进行推送测试,保证证书信息可用。
  • 4、检查一下应用的打包环境,是否为签名包,一般情况下只有签名包才能收到离线推送。

若依旧无法定位问题,请务必将:
  • 1、清单文件配置
  • 2、管理后台证书配置
  • 3、代码中推送参数配置,可以参考:关于IM推送的主要配置参数。 链接:https://faq.yunxin.163.com/#KB0291
  • 4、设备系统设置中通知栏开关设置的截图,安卓8.0channel配置的截图
  • 5、sdk日志

提供给对应的技术支持团队,技术支持团队会帮您定位问题。

进阶:关于安卓的内置消息提醒与离线推送

为了优化安卓部分厂商机型不支持离线推送的问题,云信提供了SDK内置的消息提醒,前提是集成网易云通信 Android SDK 的 APP 运行起来时,会有个后台进程(push 进程),该进程保持了与网易云通信 Server 的长连接。只要这个 push 进程活着(网易云通信提供安卓保活机制),就能接收网易云通信 Server 推过来的消息,进行通知栏提醒。


但是,由于国内安卓厂商对安卓系统的深度定制,云信Push进程无法做到永久保活,因此,在应用退后台,或者用户主动杀进程的场景下,内置的消息提醒就会失效。这时候需要离线推送的功能实现通知栏提醒的业务。但是离线推送只有部分厂商提供了推送通道(华为、小米、魅族、海外FCM),因此,部分机型,如三星等就无法实现app进程不存在时的通知栏提醒。

我们的建议是,开发者可以申请系统应用的白名单做应用进程的保活,优化不支持离线推送机型的通知栏提醒。

进阶:安卓及iOS通知栏跳转配置

参考这个帖子:https://bbs.yunxin.163.com/forum.php?mod=viewthread&tid=46&highlight=%E9%80%9A%E7%9F%A5%E6%A0%8F%E8%B7%B3%E8%BD%AC






回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表