前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PushPlugin-为iOS的Hybird App提供APNS服务

PushPlugin-为iOS的Hybird App提供APNS服务

作者头像
libo1106
发布2018-08-08 16:13:00
5110
发布2018-08-08 16:13:00
举报
文章被收录于专栏:Web 开发Web 开发

APNS是什么?

APNS是iOS生态下面的推送机制。其原理是APP启动的时候,向苹果注册,并获得一个唯一token,然后不论app是否继续在运行,都可以通过调用苹果的APNS服务,来向持有token的设备推送消息,例如顶部的通知。

之前有SSE了,为什么还要APNS?

一开始我也分不清,后来发现,APNS可以在应用关闭的时候,通过iOS系统的通知栏,推送消息给用户,让用户重新进入app中执行某些事情。而这些,是SSE做不到的,SSE仅仅是一套消息机制,必须有app运行的时候才有效。

说了这么久,怎么用?

参考这篇文章:https://github.com/phonegap-build/PushPlugin#automatic_installation

使用方法:

1、安装PushPlugin插件

cordova plugin add https://github.com/phonegap-build/PushPlugin.git

2、配置插件

View the code on Gist.

这个是我把官方的例子,做了一下AMD的封装,使用的方法如下。

// 加载模块 var pushNotification = require('pushNotification'); // 向消息中心注册 pushNotification.register();

1234

// 加载模块var pushNotification = require('pushNotification');// 向消息中心注册pushNotification.register();

然后,就没有然后了。留意tokenHandler里面的结果,收集下来,然后就可以给服务端。app启动后,就可以随时接收服务端的信息了。

看上去很简单,为什么用了这么多时间?

嗯,APP端很简单,但是服务端涉及到各种证书,有点弄不清,然后官方的文档又都是全英,半桶水英语看得够呛。

PushPlugin为我们准备了Example目录,里面的server端有ruby的脚本供我们测试。

测试前的准备:

  1. Ruby的环境
  2. 上面已经装好PushPlugin的APP
  3. 安装pushmeup  sudo gem install pushmeup

接下来就是看得我头晕的生成pem的过程。

  1. 我也懒得翻译了,直接参考这篇文章,获得ck.pem文件。
  2. 编辑Example/server/pushAPNS.rb,配置里面的pem、pem密码和接收消息设备的token。
  3. 执行脚本,向设备推送消息。 ruby pushAPNS.rb

PushPlugin使用小结

客户端安装PushPlugin,并配置好register的时机,同时,在获取到token之后,将token上报给服务端。

服务端按照苹果的要求,配置好各种证书后,向持有token的设备下达消息。

不论app是否仍在运行,设备都将会受到这条消息。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-02-122,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • APNS是什么?
  • 之前有SSE了,为什么还要APNS?
  • 说了这么久,怎么用?
  • 看上去很简单,为什么用了这么多时间?
  • PushPlugin使用小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档