前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SNS项目笔记<二>--极光推送

SNS项目笔记<二>--极光推送

作者头像
stormKid
发布2018-09-12 15:36:53
1.2K0
发布2018-09-12 15:36:53
举报
文章被收录于专栏:计算机编程计算机编程
SNS项目最重要的是资讯实时推送,每个用户都能够了解到对应的讯息,我们开发选择了极光推送作为项目的推送解决方案。博主根据自身项目的考察与网络上的资源,归纳了以下几种方法:

1、官方推送文档:

ionic2之后的版本的极光推送在网络上的资料少之又少,经过一番折腾过后,博主选择了官方的API文档。然后根据其所指引的demo进行搭建项目。

1.1 修改包名

在注册APP做极光推送的时候,需要当前的包名,经过几番折腾,这里严厉指责网络上一切改包名的博客,不负责任的在 项目名/platforms/android/ 目录下修改包名,从AndroidMainfest文件,android.json文件等进行修改包名。这样的做法首先不说成不成功起码在cordova命令运行下,整个项目会随着插件进行文件删改,这样修改包名无疑是最愚蠢与最不负责任的!正确的修改方法如下: 1.1.1 删除platfrom : 在项目目录下执行如下指令 ionic cordova platform remove android 或者直接删除platform与 plugins 目录(博主推荐直接删除目录,因为在命令下目录不会完全删除干净,最终在后续添加platform时报错) 1.1.2 在项目根目录下的config.xml文件内进行修改,指定widget标签中的id 为你所想要的包名,如图所示:

修改包名处.png

<b>1.1.3 在项目根目录下继续输入ionic cordova platform add android</b>或者直接ionic cordova run android 这样加载过后的android目录下的所有指向的包都是你所填写的包名。 1.2 搭建项目 通过官方文档进行项目搭建,这里不再赘述,详情请看<a href="http://zjcboy.com/2016/10/09/ionic2-jpush-demo/">官方搭建文档</a> 这里注意以下几点: 1.2.1 【注意:】官方文章中的命令行

官方命令行.png

是错误的,正确的命令行为<以url建立方法为例>:cordova plugin add https://github.com/jpush/jpush-phonegap-plugin.git --variable APP_KEY=your_jpush_appkey 这里是"APP_KEY"而官方文章中却写的是“API_KEY”,直接拷贝代码的童鞋肯定在这里吃了大亏!

1.2.2 官方文章中要我们直接将demo项目里面的node_module/ionic-native目录直接拷贝到我们项目引用的node_module目录下。这里又是一大错误,在我们每次build或者npm下载依赖的时候,node_module目录会clean下,也就是说在我们辛辛苦苦粘贴到本地代码的过后,其整个目录会在我们其他操作过后删除,这个时候我们本地依赖不存在了,需要实时拷贝项目代码!

1.2.3 关于1.2.2的解决办法:很可惜,在有限的时间内,博主没有解决办法,如果有更好的解决办法,请发邮件到stokid@126.com邮箱中,或者在该博客下留言,我会感激不尽!

2、“军神”解决方法

这里可以为大家隆重介绍下"军神"的博客,我觉得极光推送相关的要点都基本上写清楚了这里就不再赘述。请点击“军神”的博客

3、github大牛的解决方法

3.1 github项目地址:请点我 3.2 具体说明:此github代码相当于一个类库,通过导入此类库的方式即可成功对接上其里面的代码,这样非常方便,并且代码可控。然而其博主希望我们将其代码导入到node_module目录下,显然是不行的。于是我总结了以下操作<详见3.3>。 3.3 具体操作: 3.3.1 在项目根目录下输入ionic g 这时候会出先选项如图所示:

创建功能文件.png

此时按方向键选择provider,这个时候会显示:

选择结果.png

此时只需要填写你的provider名称即可,我们就以jpush为例:

创建provider成功.png

输入jpush,等待下一个根目录命令提示出现即完成创建。这个时候在项目中会出现:

显示结果.png

3.3.2 将github项目文件导入到jpush目录中:

导入结果.png

3.3.3 注册provider</b> 在项目文件app.module.ts中注册我们新创建的provider:

导包.png

注册.png

3.3.4 app.component.ts中init极光推送:

init极光推送

3.3.5 build项目或者直接run项目,再从极光开发者页面发送通知

发送通知.png

点击发送后,在模拟器上即可显示:

显示结果.png

这样我们就完成了整个推送对接的功能。

结束语:在我们日常开发中总会遇到很多问题,在问题难以解决的时候我们会借鉴别人的思路,但是在我们借鉴的时候,我们需要理智的去借鉴,不能盲目,要找出问题并通过自己的努力获取正确的结果,这样我们才有所提高!

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SNS项目最重要的是资讯实时推送,每个用户都能够了解到对应的讯息,我们开发选择了极光推送作为项目的推送解决方案。博主根据自身项目的考察与网络上的资源,归纳了以下几种方法:
  • 1、官方推送文档:
    • 1.1 修改包名
    • 2、“军神”解决方法
    • 3、github大牛的解决方法
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档