PhoneGap与极光SDK整合,实现消息推送

Stella981
• 阅读 557

1.注册极光的开发者账户,并注册应用信息。

创建帐号进入极光推送平台后,首先显示的是创建应用的界面。填上你的应用程序的名称,以及 Android包名这二顶就可以了。
PhoneGap与极光SDK整合,实现消息推送

用创建成功,即进入“应用详情”显示界面。这个界面右下角,你可以看到 “appkey" 后面会用到。
PhoneGap与极光SDK整合,实现消息推送

2,下载 sdk包。就行整合

具体的流程可以看以下文档,当然phonegap的整合和这个有些不同。

http://docs.jpush.cn/pages/viewpage.action?pageId=557214

3.SDK集成步骤

1、导入 SDK 开发包到你自己的应用程序项目

解压缩 jpush-sdk_v1.x.y.zip 集成压缩包
复制 libs/jpush-sdk-release1.x.y.jar 到工程 libs/ 目录下
复制 libs/armeabi/libsys1.x.y.so 到工程 libs/armeabi 目录下(如果你的项目有libs/armeabi-v7a这个目录,请把libsys1.x.y.so也复制一份到这个目录)

这里需求注意的是:包导入进去之后一定要把包configuer building path。
2、配置 AndroidManifest.xml

根据 SDK 压缩包里的 AndroidManifest.xml 样例文件,来配置应用程序项目的 AndroidManifest.xml 。

主要步骤为:

复制备注为 "Required" 的部分
将备注为替换包名的部分,替换为当前应用程序的包名
将AppKey替换为在Portal上注册该应用的的Key,例如(9fed5bcb7b9b87413678c407)

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="Your Package"

android:versionCode="100"

android:versionName="1.0.0"

<application

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:name="Your Application">

<service

android:name="cn.jpush.android.service.PushService"

android:enabled="true"

android:exported="false" >

<receiver

android:name="cn.jpush.android.service.PushReceiver"

android:enabled="true" >

<activity

android:name="cn.jpush.android.ui.PushActivity"

android:theme="@android :style/Theme.Translucent.NoTitleBar"

android:configChanges="orientation|keyboardHidden" >

<service

android:name="cn.jpush.android.service.DownloadService"

android:enabled="true"

android:exported="false" >

这里需要注意的是:之前已经加过的一些xml信息,这时候要一一对照把这里面的信息 一条一条添加进去。

注意顺序:
PhoneGap与极光SDK整合,实现消息推送

3、添加代码

JPush SDK 提供的 API 接口,都主要集中在 cn.jpush.android.api.JPushInterface 类里。

按照下面的方法来修改:
PhoneGap与极光SDK整合,实现消息推送

4、测试确认

确认所需的权限都已经添加。如果必须的权限未添加,日志会提示错误。
确认 AppKey(在Portal上生成的)已经正确的写入 Androidmanifest.xml 。
确认在程序启动时候调用了init(context) 接口
确认测试手机(或者模拟器)已成功连入网络
客户端调用 init 后不久,如果一切正常,应有登录成功的日志信息
启动应用程序,在 Portal 上向应用程序发送自定义消息或者通知栏提示。详情请参考管理Portal。
在几秒内,客户端应可收到下发的通知或者正定义消息

如果 SDK 工作正常,则日志信息会如下图所示:
PhoneGap与极光SDK整合,实现消息推送
如图所示,客户端启动分为 4 步:

检查 metadata 的 appKey 和 channel ,如果不存在,则启动失败
初始化 JPush SDK,检查 JNI 等库文件的有效性,如果库文件无效,则启动失败
检查 Androidmanifest.xml,如果有 Required 的权限不存在,则启动失败
连接服务器登录,如果存在网络问题,则登陆失败,或者前面三步有问题,不会启动JPush SDK

只要测试成功,ok,你可以去管理Portal,去发送信息了。没有意外的话,就能收到信息。

当然这个仅仅是简单的推送消息功能,具体的一些应用,可以再参考官方的api文档来自己开发。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Easter79 Easter79
2年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
4个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这