美文网首页
信鸽推送(iOS)踩过的坑

信鸽推送(iOS)踩过的坑

作者: 知了此生 | 来源:发表于2017-04-21 17:47 被阅读1537次

第一次独立接入推送,有一些理解上的错误,特此备注一下。

信鸽文档写的还是很明确的,按照文档基本上没有什么问题,但是,如果理解错误,会钻牛角尖,以下是本人认为需要强调的地方:

1.注册设备:注册设备是在APPdelegate里面,在这里注册一次设备即可,后面不必每次都注册设备,即registerDeviceToken方法(图1),当然为了确保设备有注册过,不要调用注销设备的方法(图2),调用此方法后再调用register设备的方法,发现不起作用,因此注销设备的方法慎重调用;

图1 图2

2.账号/别名(以下称账号)推送:

账号是推送时候的唯一标识符,推送时根据标识符进行推送,这种情况最常见的现象是外卖商家客户端接单,或者给购买物品的用户进行发货等针对唯一用户推送消息等,这种情况下只需在用户登录时注册相应的账号就行了,如图3:

图3

我这里是与JS进行交互,后台推送把Passport作为账号来进行推送,由图中可以看出,只需要setAccount方法和delAccount方法,因为设备token已经在APPdelegate里面进行了注册,所以这里不需要再进行注册,还是很方便的;

3.网页推送:使用信鸽推送的网页推送测试时,有一个测试预览的按钮,我就被坑到这里了,在此着重强调:测试预览和帐号无关,测试预览只是发给选的测试设备的token的,即使注册的账号里面没有这个设备token,你使用测试预览时,设备依然会收到消息。我就在这里就一直在解决为什么账号下没有设备token,设备还能收到消息这个问题。所以测试的时候直接点确认推送就好,不用测试预览。另外,在创建通知页面左侧栏有个查询账号状态按钮(图4),可以看到当前账号下绑定的设备token,当然一般情况下只有开发环境,你才能很容易看到token;

图4

4.自定义提示音:推送消息的提示音可以自定义,查询到当前有两种实现方法:一种是使用苹果自带的AVFoundation框架中的AVSpeech相关类,这个方法就是读文字,感觉类似于小说app中的人声朗读功能,听起来不那么人性化,因此这种方法不建议使用,但在此给出简单示例(图5);另一种是在项目中放置音频文件,这里我放的是MA4格式文件(后缀是.m4a),据说苹果只支持四种格式:Linear PCM、MA4 (IMA/ADPCM)、µLaw、aLaw,这里我参考了一篇文章:www.jianshu.com/p/87e8cbdb46c9,作者写的音频文件的转换过程非常详细,在这里要感谢这篇文章的作者。项目本地放着音频文件,服务器推送时消息里面sound的值就写项目里的音频文件名称就行,记得后缀也要放上去,要全称(我这里写的是1112.m4a,图6);

图5 图6

这些准备好,就可以测试铃声推送了。

5.设置badge:在推送时,信鸽这边的badge的值设置为0时,默认是不变更角标值的,因为当设置角标为0时,消息中不会传badge这个字段,角标值不变;关于角标我们这里要求只要在前台角标即为0,即不显示角标,而在iOS10 以上的系统发现程序在前台时接收推送消息时直接弹出通知栏,并没有走回调方法,因此修改了消息声音、角标、内容的那个方法,把角标直接置为了0(图7);

图7

以上就是我所踩到的坑,如果有错误,欢迎大家指正。

相关文章

  • 信鸽推送(iOS)踩过的坑

    第一次独立接入推送,有一些理解上的错误,特此备注一下。 信鸽文档写的还是很明确的,按照文档基本上没有什么问题,但是...

  • 信鸽推送踩坑

    最近项目中用到了信鸽推送,特来分享一些踩坑经验。目前信鸽的推送有2种设置方式,1是信鸽推荐的:在下发消息的时候设置...

  • 信鸽推送 坑

    我们只是使用了notify这一种,就是通知栏推送 1.点击通知栏推送每次都重启,这是不能接受的 仔细查看官方文档,...

  • 信鸽推送IOS证书配置

    本文主要介绍信鸽IOS证书配置的整个流程信鸽推送已升级腾讯推送,本文已陈旧,仅供参考 信鸽[https://xg....

  • iOS推送踩坑

    需求 app收到推送,点击推送消息进入指定页面,常用做法是在didReceiveRemoteNotificatio...

  • iOS 信鸽推送

    证书配置这里就不多说了 开发文档很详细 1,下载信鸽 SDK SDK目录如果图所示,多了会报错 下载地址:http...

  • 五、<iOS 远程推送> iOS 10 UNNoti

    研究完苹果 iOS 10 推送后,到9月份,等苹果 iOS 11 正式上线,再研究其推送,不愿意踩坑,敬请期待。 ...

  • iOS 腾讯信鸽推送——证书,代码,AppDelegate里面创

    公司新项目包含通知功能,领导要求使用信鸽推送,因为之前使用的不是信鸽推送,所以也是在这个上面遇到了一些小坑,特此记...

  • iOS 信鸽推送 测试推送

    今天测试信鸽推送遇到的问题:用真机build一下工程,可以收到通知,但是打包时选下图所选项时 接收不到通知 解决方...

  • Unity iOS本地推送踩坑实录

    昨天实现了一下Unity里iOS推送。踩坑两个。 1. 要先注册推送才可以 接收推送前必须调用Notificati...

网友评论

      本文标题:信鸽推送(iOS)踩过的坑

      本文链接:https://www.haomeiwen.com/subject/qdidzttx.html