Skip to content

noahxinhao/PushNotification

Repository files navigation

###ionic notification push示例 1,创建ionic项目【项目环境配置就不多说了】

$ ionic start PushNotification tabs

注意:项目需要引入ng-cordova.js,在网上下载一个ng-cordova.js文件到项目的lib目录,然后咋index.html中引入

2,安装插件,废话不多说直接复制命令执行

$ ionic plugin add org.apache.cordova.console
$ ionic plugin add org.apache.cordova.device
$ ionic plugin add org.apache.cordova.dialogs    
$ ionic plugin add org.apache.cordova.file
$ ionic plugin add org.apache.cordova.media
$ ionic plugin add https://github.com/phonegap-build/PushPlugin
$ ionic plugin add https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin.git

3,项目准备完成,现在可以开始证书的生成了 首先,我们需要在本机生成一个钥匙串 打开钥匙串 Alt text

从证书颁发机构请求证书 Alt text 按照引导步骤输入你的邮箱姓名等信息,一路向下就行了,会生成一个*.certSigningRequest文件,先别管它,保存起来,后面要用到

登陆apple开发者中心 Alt text 点击Certificates, Identifiers & Profiles进入下一个页面选择IOS Apps选择框中的Certificates,然后会进入证书列表页面 Alt text

点击右上角的**+**号 Alt text

填写证书的一些基本信息 注意:需要选择上push notification 如下图 Alt text

一步步走下去,一直到最后一步需要你选择一个文件,如下图 Alt text 这个时候你需要使用到前面从证书颁发机构请求证书步骤中生成的*.certSigningRequest文件,然后点下面的按钮生成 Alt text

aps_development.cer文件下载下来保存

然后双击aps_development.cer文件注册到钥匙串中,进入钥匙串导出一个*.p12文件【需要设置密码,最好设置一个比较容易记住的】如下图 Alt text Alt text Alt text

经过上面的步骤会导出一个.p12文件,如"push-demo-dev.p12" 至此,已经获取了一个.cer文件,一个.p12文件 从命令行进入文件目录执行以下命令

$ openssl x509 -in aps_development-push-demo.cer -inform der -out PushChatCert.pem

$ openssl pkcs12 -nocerts -out PushChatKey.pem -in push-demo-dev.p12

$ cat PushChatCert.pem PushChatKey.pem > ck.pem

$ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert PushChatCert.pem  -key PushChatKey.pem

最后一条命令是检测生成的文件是否有效的,如果出现下面的一串信息则说明证书有效

Certificate chain
 0 s:/C=US/ST=California/L=Cupertino/O=Apple Inc./CN=gateway.sandbox.push.apple.com
   i:/C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C
 1 s:/C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C
   i:/O=Entrust.net/OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/OU=(c) 1999 Entrust.net Limited/CN=Entrust.net Certification Authority (2048)
---
......

执行完上面的命令,我们会得到两个文件PushChatCert.pem PushChatKey.pem ,这两个文件是来进行apns与app进行通信的凭证,在发送推送消息的时候我们需要使用到上面的两个文件

至此,我们已经准备好发送推送消息的条件,在ionic中 我们需要将config.xml中的widget id设置为我们生成的apple id 如下图 Alt text

ok,现在我们到项目的根目录执行下面两个命令

ionic platform add ios
ionic build

然后用xcode打开生成的*.xcodeproj文件 然后做以下设置 Alt text

运行项目将app安装到实体机上 以下是执行的效果图 Alt textAlt textAlt text Alt text Alt text

====================================================================================================== 以上为app的操作 消息推送的服务端代码请见 https://github.com/noahxinhao/pushServer

About

ionic notification push

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published