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

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

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 tag推送 php,信鸽推送(iOS)踩过的坑相关推荐

  1. iOS开发之消息推送 —— 远程消息推送入门

    每次看到iOS的远程消息推送,总是感觉很头大,即便后来项目都做完了,还是觉得摸不着远程推送的脉门,网上介绍的资料虽多,但不是写的太简单了,就是写的太详细了,不能一下抓住要点,今天终于能够抽出点时间,来 ...

  2. iOS第三方集成之jpush极光推送

    iOS第三方集成之jpush极光推送 现在很多app都带推送功能,极光推送是很受大家欢迎的第三方推送,本文将为iOS初学者和初次设计开发推送的攻城狮们提供以下自己的使用心得. 大家可以边参考官方文档, ...

  3. iOS 推送通知及推送扩展

    概述 iOS中的通知包括本地推送通知和远程推送通知,两者在iOS系统中都可以通过弹出横幅的形式来提醒用户,点击横幅会打开应用.在iOS 10及之后版本的系统中,还支持通知扩展功能(UNNotifica ...

  4. IOS开发之实现App消息推送(最新)

    IOS开发之实现App消息推送(最新) 标签: 推送最新AppStoreXCode6ios开发 2014-11-19 21:13  58412人阅读  评论(77)  收藏  举报   分类: IOS ...

  5. iOS应用不同状态下收到推送的处理

    从简书挪窝过来的 1.为什么要使用推送? 增加用户活跃度 唤醒沉睡的用户 增加用户粘度 化被动为主动 推送切记不能过于频繁,否则会起到相反的作用 2. 推送从服务器到达目标设备过程 阶段一:服务端把要 ...

  6. 跨平台应用开发进阶(十一) :uni-app 实现IOS原生APP-云打包集成极光推送(JG-JPUSH)详细教程

    文章目录 一.前言 二.资源 三.集成 四.遇到的问题及解决措施 4.1 IOS开发者证书无推送权限 4.2 manifest中并没有配置push模块.但云端打包ios就是一直报Code Signin ...

  7. 直播平台开发中解决iOS 14 兼容问题和静默推送

    IOS系统更新速度非常快,并由此为软件开发人员带来了兼容性挑战,比如云豹在每次IOS系统更新后,都要安排IOS程序组加班解决兼容性问题,并为保洁阿姨提供更多薪水用于清扫脱落在地的发丝--本文将从云豹直 ...

  8. iOS 源生推送和极光推送

    公司新增推送服务器,要用源生,一两年前写过,不过最近几个项目是用极光,现在再整理一下,废屁不多放,看 源生推送和极光的区别: 1. 注册推送       这点一样,是极光推送进行加层封装了一下 2.获 ...

  9. 从极光推送的实现原理概括iOS和Andriod推送原理

    推送是手机中非常常见的功能了.可是在实现上iOS和Andriod却有很大的差别. 因为iOS有强大的产品生态体系,APP从研发到审核上架,再到最后在手机端运行,都有严格的把关.所以推送功能在它这里实现 ...

  10. 浅谈iOS和Android后台实时消息推送的原理和区别

    http://www.52im.net/thread-286-1-1.html 前言 iOS和Android上的实时消息推送差异很大,往小了说是技术实现的差异,往大了说是系统实现理念的不同.实时消息推 ...

最新文章

  1. windows mobile做一个摄象头预览程序
  2. ul ol li的序号编号样式
  3. 机器学习(三)——预备知识(学习率与激活函数)
  4. Android 获取系统语言(兼容7.0)
  5. HDU4353(找一个三角形面积与它里面包含点的比值最小)
  6. superset配置与初步使用
  7. 与众不同 windows phone (5) - Chooser(选择器)
  8. HTML CSS 兼容所有浏览器的自定义鼠标样式
  9. 医院计算机,医院计算机
  10. 【转】关于ATSC与DVB的比较
  11. 10月份都有哪些好看的韩剧?
  12. 计算机工程与应用出版时间,计算机工程与应用
  13. Python数据分析师使用低代码Streamlit实现Web数据可视化方法——入门篇
  14. 【论文笔记】Adversarial Multi-task Learning for Text Classification
  15. HTTP的SSL 证书安装
  16. Hive自定义函数(字母大小写转换)
  17. 写论文中怎么插入参考文献
  18. Exchange 暴力破解与防范
  19. 计算机有线传播介质,有线传输介质有那些?
  20. 从西工大图书馆校外下载论文方法

热门文章

  1. ACM解题总结——HihoCoder1237 (微软笔试题)
  2. 10.14、驱动开发 -- input子系统
  3. cdlinux教程wpa2无线网络密码破解
  4. 主板诊断卡代码含义及处理方法
  5. cisco交换机-路由器配置命令
  6. Selenium + C# 实现模拟百度贴吧签到 1
  7. Windows11下安装MongoDB
  8. uac2+android,iBasso UAC
  9. html广告代码自适应,很实用的对联广告代码(自适应高度)
  10. 快解析v6.5.3版本,添加端口映射教程