美文网首页
三步集成极光推送

三步集成极光推送

作者: 这个美嘉不姓陈 | 来源:发表于2017-09-26 09:57 被阅读0次

        有些朋友觉得集成这些东西是很繁琐很麻烦的一件事情,有些人觉得不就是看看文档照着来一遍就OK的事情吗?我觉得一篇详细而简洁的集成步骤才是入门人最需要的。

      一、添加资源

        这里我自动跳过了申请账号的步骤:

    首先,下载一份官方demo

    然后,打开demo,将里面需要的资源CV到我们的项目中

    1.解压缩 jpush-android--3.x.x-release.zip 集成压缩包。

    2.复制 libs/jcore-android-1.x.x.jar 到工程 libs/ 目录下。

    3.复制 libs/jpush-android-3.x.x.jar 到工程 libs/ 目录下。

    4.复制 libs/(cpu-type)/libjcore1xy.so 到你的工程中存放对应cpu类型的目录下。

    5.复制 res/ 中drawable-hdpi, layout, values文件夹中的资源文件到你的工程中 res/ 对应同名的目录下。

    说明 1:若没有res/drawable-xxxx/jpush_notification_icon这个资源默认使用应用图标作为通知icon,在5.0以上系统将应用图标作为statusbar icon可能显示不正常,用户可定义没有阴影和渐变色的icon替换这个文件,文件名不要变。

    说明 2:使用android studio的开发者,如果使用jniLibs文件夹导入so文件,则仅需将所有cpu类型的文件夹拷进去;如果将so文件添加在module的libs文件夹下,注意在module的gradle配置中添加一下配置:

    android {

    ......

    sourceSets {

    main {

    jniLibs.srcDirs = ['libs']

    ......

    }

    ......

    }

    ......

    }

    二、配置 AndroidManifest.xml

    这里无论你是根据demo的里的Manifest也好还是官方文档也好,代码一定要注释一定要写好,以免东西太多,以后你自己都不知道那是哪了

    付上极光文档的链接:极光推送文档

    1 2 3 4 5 6 7 8 9

    这里注意在图7和图8中涉及到两个不同的Receiver

    一个是接收普通通知以及富媒体的Receiver,一个是自定义别名标签的Receiver,

    这里的这两个receiver,都可以在官方demo中对应找到,直接复制,

    将每个action对应逻辑,添加自己项目所需要的逻辑即可

    在官方文档的“进阶教程”中的通知VS自定义中,可以直接看到示例代码,都是一样的

    三、API及参数

    在项目的Appliaction中调用,init 只需要在应用程序启动时调用一次该 API 即可。不明白可以参考官方demo

    JPushInterface.setDebugMode(true);【项目上线要把调式模式改为false】

    JPushInterface.init(this);

    初始化推送服务:public static void init(Context context);【这个API就是上面说的初始化的调用】

    停止推送服务:public static void stopPush(Context context);

    恢复推送服务:public static void resumePush(Context context);

    判断推送服务是否已经被停止public static boolean isPushStopped(Context context);

    其他的API可以在官方文档中的“SDKAPI”中全部查看,这里不一一列举了

    参数:

    对于极光推送过来的消息,所对应的参数为哪些?

    1.全局唯一ID:

    Bundle bundle = intent.getExtras();

    String title = bundle.getString(JPushInterface.EXTRA_REGISTRATION_ID);

    2.保存服务器推送下来的消息的标题。对应 API 消息内容的 title 字段。Portal 推送消息界上不作展示

    Bundle bundle = intent.getExtras();

    String title = bundle.getString(JPushInterface.EXTRA_TITLE);

    3.保存服务器推送下来的消息内容。对应 API 消息内容的 message 字段。对应 Portal 推送消息界面上的"自定义消息内容”字段。

    Bundle bundle = intent.getExtras();

    String message = bundle.getString(JPushInterface.EXTRA_MESSAGE);

    4.附加字段:

    Bundle bundle = intent.getExtras();

    String extras = bundle.getString(JPushInterface.EXTRA_EXTRA);

    5.唯一标识消息的ID,用于统计上报:

    Bundle bundle = intent.getExtras();

    String file = bundle.getString(JPushInterface.EXTRA_MSG_ID);

    6.推送通知界面上的“通知标题”字段:

    Bundle bundle = intent.getExtras();

    String title = bundle.getString(JPushInterface.EXTRA_NOTIFICATION_TITLE);

    7.推送通知界面上的“通知内容”字段:

    Bundle bundle = intent.getExtras();

    String content = bundle.getString(JPushInterface.EXTRA_ALERT);

    8.富媒体通知推送下载的HTML的文件路径,用于展现WebView:

    Bundle bundle = intent.getExtras();

    String fileHtml = bundle.getString(JPushInterface.EXTRA_RICHPUSH_HTML_PATH);

    9.富媒体通知推送下载的图片资源的文件名,多个文件名用 “,” 分开。 与 “JPushInterface.EXTRA_RICHPUSH_HTML_PATH” 位于同一个路径:

    Bundle bundle = intent.getExtras();

    String fileStr = bundle.getString(JPushInterface.EXTRA_RICHPUSH_HTML_RES);

    String[] fileNames = fileStr.split(",");

    总结:至此,我们常用的步骤就这么多了,需要更多的丰富内容,可以仔细的去再读一遍官方的文档

    1、导入资源,配置Manifest

    2、添加广播,可以copy官方文档实例代码,也可以copy官方demo

    3、根据API初始化极光推送,在广播对应的action中,获取所需要的参数字段

    相关文章

      网友评论

          本文标题:三步集成极光推送

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