博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
极光推送(一)集成
阅读量:5756 次
发布时间:2019-06-18

本文共 2129 字,大约阅读时间需要 7 分钟。

一. 概述

img_c280fc2fe63dc5ed800b2a2c209f3224.png
image

开发者集成 JPush Android SDK 到其应用里,JPush Android SDK 作为 Android Service 长期运行在后台为APP提供永久在线的能力并保持与JPush Cloud 的长连接,当开发者想要及时地推送消息到达 App 时,只需要调用 JPush API 推送,或者使用其他方便的智能推送工具,即可轻松与用户交流。图中红色部分,是 JPush 与 App 开发者的接触点。手机客户端侧,App 需要集成 JPush SDK;服务器端部分,开发者调用 JPush REST API 来进行推送。

二. 集成

说明 : 使用jcenter自动集成的开发者,不需要在项目中添加jar和so,jcenter会自动完成依赖;在AndroidManifest.xml中不需要添加任何JPush SDK 相关的配置,jcenter会自动导入。

● 如果开发者需要修改组件属性,可以在本地的 AndroidManifest 中定义同名的组件并配置想要的属性,然后用 xmlns:tools 来控制本地组件覆盖 jcenter 上的组件。示例:

● 确认android studio的 Project 根目录的主 gradle 中配置了jcenter支持。(新建project默认配置就支持)

buildscript {    repositories {        jcenter()    }    ......    }    allprojets {    repositories {        jcenter()    }}

● 在 module 的 gradle 中添加依赖和AndroidManifest的替换变量。

android {    ......    defaultConfig {        applicationId "com.xxx.xxx" //JPush上注册的包名.        ......        ndk {            //选择要添加的对应cpu类型的.so库。            abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a'            // 还可以添加 'x86', 'x86_64', 'mips', 'mips64'        }        manifestPlaceholders = [            JPUSH_PKGNAME : applicationId,            JPUSH_APPKEY : "你的appkey", //JPush上注册的包名对应的appkey.            JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可.        ]        ......    }    ......    }    dependencies {    ......    compile 'cn.jiguang.sdk:jpush:3.1.1'  // 此处以JPush 3.1.1 版本为例。    compile 'cn.jiguang.sdk:jcore:1.1.9'  // 此处以JCore 1.1.9 版本为例。    ......}

● 注 : 如果在添加以上 abiFilter 配置之后android Studio出现以下提示:

NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin

● 则在 Project 根目录的gradle.properties文件中添加:

android.useDeprecatedNdk=true

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

● 初始化SDK

public class MyApplication extends Application {    @Override    public void onCreate() {        super.onCreate();    //        开启Debug模式        JPushInterface.setDebugMode(true);    //        初始化SDK        JPushInterface.init(this);    }}
img_d7cfe03eac0fdbd8c250248cd697ee0f.png
image

● 注意:在集成完之后运行APP可能并不能成功需要等一会儿才能成功。

个人博客

转载地址:http://cztkx.baihongyu.com/

你可能感兴趣的文章
mysql
查看>>
#Pragma应用详解
查看>>
BOS中如何扩展标准产品的功能
查看>>
SharedPreferences和PreferencesActvity
查看>>
eureka
查看>>
123
查看>>
django的CMS系统(内容管理系统)
查看>>
vue 首页背景图片加载完成前增加 loading 效果 -- 使用 new Image() 实现
查看>>
程序员很平凡,但从事着不平凡的工作!
查看>>
MySql——Explain执行计划详解
查看>>
Asp.net Core中SignalR Core预览版的一些新特性前瞻,附源码(消息订阅与发送二进制数据)...
查看>>
socket编程-客户端向服务器发送字符串,传文件
查看>>
Tkonter 组件 —— Button
查看>>
C语言概念总结
查看>>
01python简介
查看>>
python爬虫小结1
查看>>
iOS 设置tableview头部不可以向下拉动..
查看>>
长链剖分
查看>>
洛谷P2672 推销员
查看>>
基于TCP协议的socket通信
查看>>