极光推送(一)集成

简介: 一. 概述image开发者集成 JPush Android SDK 到其应用里,JPush Android SDK 作为 Android Service 长期运行在后台为APP提供永久在线的能力并保持与JPush Cloud 的长连接,当开发者想要及时地推送消息到达 App 时,只需要调用 JPush API 推送,或者使用其他方便的智能推送工具,即可轻松与用户交流。

一. 概述

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 上的组件。示例:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.tests.flavorlib.app"
xmlns:tools="http://schemas.android.com/tools">

<application
    android:icon="@drawable/icon"
    android:name="com.example.jpushdemo.ExampleApplication"
    android:label="@string/app_name" >

    <service android:name="cn.jpush.android.service.PushService"
        android:process=":multiprocess"
        tools:node="replace" >

        
    </service>
</application>
</manifest>

● 确认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可能并不能成功需要等一会儿才能成功。

个人博客https://myml666.github.io

目录
相关文章
|
Android开发 iOS开发
集成极光推送-服务端
集成极光推送-服务端
集成极光推送-服务端
极光推送集成
极光推送集成(一)极光推送集成(二)极光推送集成(三)极光推送集成(四)极光推送集成(五)极光推送集成(六)极光推送集成(七)极光推送集成(八)—— 工程实践
1286 0
|
前端开发 API 开发工具
三分钟帮你集成极光推送——和那些你可能不知道的事
本文简介:本文前篇,可以帮助朋友们快速集成极光推送。本文后篇,是我自己项目实践的一些总结和心得,应该对读者们还是很有参考价值的,相信读完这篇文章,你会对极光推送有更加深入的理解,而不仅仅只是会集成而已。
2168 0
|
Android开发 Java 开发工具
Android开发之极光推送的集成
客户器端集成 1、注册app,生成appKey 和 Master Secret 注册app.png 2、导入SDK开发包到你自己的应用程序项目 配置sdk.
865 0
|
Java API
JPush极光推送自己集成服务端jar包
极光推送服务端的api太多,自己把他封装了个jar包,有兴趣的可以看看,源码和jar包都有。 源码:http://download.csdn.net/detail/z745968621/8231145 jar包:http://download.
1208 0
|
API iOS开发
|
5月前
|
监控 druid Java
spring boot 集成配置阿里 Druid监控配置
spring boot 集成配置阿里 Druid监控配置
309 6
|
5月前
|
Java 关系型数据库 MySQL
如何实现Springboot+camunda+mysql的集成
【7月更文挑战第2天】集成Spring Boot、Camunda和MySQL的简要步骤: 1. 初始化Spring Boot项目,添加Camunda和MySQL驱动依赖。 2. 配置`application.properties`,包括数据库URL、用户名和密码。 3. 设置Camunda引擎属性,指定数据源。 4. 引入流程定义文件(如`.bpmn`)。 5. 创建服务处理流程操作,创建控制器接收请求。 6. Camunda自动在数据库创建表结构。 7. 启动应用,测试流程启动,如通过服务和控制器开始流程实例。 示例代码包括服务类启动流程实例及控制器接口。实际集成需按业务需求调整。
405 4
|
5月前
|
消息中间件 Java 测试技术
【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
359 1
|
6月前
|
消息中间件 Java Kafka
springboot集成kafka
springboot集成kafka
179 2