美文网首页
推送的实现流程

推送的实现流程

作者: Axela | 来源:发表于2015-12-22 22:02 被阅读543次

    什么是推送?

    推送是我们应用程序不可缺少的一项服务,可以向我们提示推送消息

    我们为什么要用推送呢?

    当我们想要订阅一些新闻,或者是我们需要用手机接收邮件等消息时,我们就需要推送

    推送有什么好处呢?我们什么时候使用推送呢?

    推送的好处有很多,它可以在我们在后台没有打开应用程序的情况下还向我们推送我们所

    需要的消息,比如我们订阅了某些新闻消息,比如说我们的邮件服务,在我们没有打开应

    用程序的情况下仍然可以接收到,在不错过重要信息的情况下,还可以省电。

    那我们怎么使用推送?

    在我们没有打开应用程序的时候,仍然可以接收到消息,这是推送的功

    能。这是什么原理?为什么没有打开应用也可以收到消息?

    这时候就要给大家科普一个东西APNS。

    APNS是Apple Push Notification Service的缩写

    Apple就不需要说了,苹果。

    Push他的单词意思是推动,我们在学习UI的时候跳转页面需要用到

    一种方法就是push,一个页面推到下一个页面,在这里他的意思是推送。

    Notification呢?他的意思是通知,通告。

    Service的意思是服务。

    把这些单词连起来就是苹果推送通知服务

    我们大家都知道,下载完一个应用之后,当我们打开这个应用时会向我们弹出一个界面

    这个界面显示:

    “XXXX”要给您发送推送通知

    “通知”可以包括提醒、声音和图标上得标记。您可以在“设置”中对此进行配置

    然后我们可以点不允许,还有一个好

    我们点好,允许推送,这个时候,我们的设备会向我们的APNS服务器发送一条请求,注册推送服务,这个时候APNS会根据我们的手机编码和bundle ID给我们返回一个token,相当于是一个令牌,这个是唯一的编码,他会保存到APNS服务器上,同时返回给我们的app,有了这个token,我们就可以把这个token发给应用程序的服务器,然后服务器有了token,就可以将推送的消息和要推送的对象的token发送给APNS,我们的APNS根据这个token,检索到它服务器上所保存的设备信息,然后把消息传输至相对应的设备上。

    首先,我们创建一个工程,需要向APNS注册推送服务

    在注册的过程中,我们需要把我们的bundle ID告诉APNS,同时,我们需要使用相对应的证书与配置文件去支持我们的推送服务

    我们选中targets ,选择info,看到了我们的Bundle identifier了吗?

    在后面我们把我们的bundle ID修改一下,改完我们的工程名。

    我们也可以点击Supporting Files(支持文件)点击info.plist来进行修改

    打开我们的浏览器输入网址developer.apple.com

    点击Certification、Identifiers&Profiles

    证书、标示符和描述文件

    我们点进去,再点证书

    首先呢,我们需要给我们的应用程序创建一个AppID ,我们的这个AppID内需要填写我们的bundle,在我们向APNS注册时需要我们的应用程序bundle ID和手机编码来生成一个token,这里这一步先创建好ID

    我们创建好我们的AppID以后,该创建我们推送服务所需要的证书了,点上面证书,Development开发环境,因为我们是测试,所以我们选择开发环境,下面的Production是上传App所使用的

    这里我们点击Development进去,点加号创建一个证书

    下面这里是介绍如何创建一个CSR文件,打开我们的钥匙串,钥匙串访问,证书服务,从证书颁发机构请求证书,放在桌面,然后把我们的CSR文件上传。

    我们的证书创建完成,还需要一个相对应的配置文件,否则就没有办法正常运行

    我们这里也会有一个选项是让我们勾选我们的设备,如果你不知道哪个是你的,那你就全部勾选上

    然后创建完成,下载下来,点done,我们的证书和配置文件到这里就没有了

    双击我们下载好的证书,打开钥匙串可以看到我们的证书已经在里面了。

    再双击我们的配置文件,可以看到我们的程序中可以勾选了。

    配置完了以后,我们该讲一下我们的应用程序服务器,他是向我们推送的那一方,在这里我们要介绍一下,我们的推送服务,有一个第三方平台叫做信鸽推送服务,我们可以借助于我们的信鸽推送平台去实现我们的服务

    打开我们的网页,百度腾讯信鸽接入应用

    然后给我们的应用起一个名字

    选择类型,创建成功,然后我们选择配置应用

    这里会有一个开发证书,需要我们上传,后面有要求是PEM类型的文件,下面有一个如何配置ios证书

    我们如何得到pem文件呢?首先我们打开钥匙串

    找到我们刚才应用程序的推送证书,下面有一个秘钥

    然后右键导出,导出的类型是p12得文件,需要输入密码(也可以不输入),我们输入简单地1122

    接下来是机器密码,输入,证书允许,大家看一下桌面上多一个p12的文件

    但是他们需要的是pem类型的文件,如何生成呢?

    我们看一下证书指南,在网页的最下面有一个生成pem格式的证书

    咱们导出证书以后,打开终端,进入到p12文件所在

    我们可以在终端里输入 cd deskTop进入桌面,复制openssl pkcs12 -in CertificateName.p12 -out CertificateName.pem -nodes命令

    在你输入密码的时候是不显示的,要注意了

    openssl pkcs12 -in CertificateName.p12 -out CertificateName.pem -nodes

    这里第一个CertificateName是你的p12文件名称,后面的CertificateName是你将要生成的文件名称

    然后上传,输入密码,我们刚设置的是1122,验证通过,OK

    代码当中我们会写入几个方法,注册成功,注册失败等,再我们的注册成功方法中打印一下我们的token,将touken复制添加到信鸽的设备里即可。

    这些配置性问题都搞定以后,我们可以在左侧栏点击创建通知,进入页面以后将标题填入,内容写上,例如:这是一个推送消息

    点击通知操作:打开应用

    声音:默认

    角标:调整为1

    推送环境:开发环境

    用户范围:所有

    发送时间:立即

    相关文章

      网友评论

          本文标题:推送的实现流程

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