Android Studio集成极光推送

前言

    因为手机平台本身、电量、网络流量的限制,移动互联网应用在设计上跟传统 PC 上的应用很大不一样,需要根据手机本身的特点,尽量的节省电量和流量,同时又要尽可能的保证数据能及时到达客户端。

    为了解决数据同步的问题,在手机平台上,常用的方法有2种。一种是定时去服务器上查询数据,也叫Polling,还有一种手机跟服务器之间维护一个 TCP 长连接,当服务器有数据时,实时推送到客户端,也就是我们说的 Push。从耗费的电量、流量和数据送达的及时性来说,Push 都会有明显的优势,但 Push 的实现和维护成本相对较高。在移动无线网络下维护长连接,相对也有一些技术上的难度。本文试图给大家介绍一下我们极光推送在 Android Studio平台上的集成使用。

jcenter 自动集成步骤

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

    确保你的 minSdkVersion在15及以上版本,然后defaultConfig中加入下面的代码

        ndk {
            //选择要添加的对应cpu类型的.so库。
            abiFilters 'armeabi', 'armeabi-v7a', 'armeabi-v8a','x86', 'x86_64', 'mips', 'mips64'
            // 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
        }

        manifestPlaceholders = [
                JPUSH_PKGNAME: applicationId,
                JPUSH_APPKEY : "9009a0989a15f1a431c41499", //JPush上注册的包名对应的appkey.
                JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可.
        ]

这里写图片描述
红色框里面的信息为我们必须添加的信息(注意是在defaultConfig里面)JPUSH_APPKEY为自己申请的appKey

这里写图片描述

  • 添加依赖

    在Module的build.gradle文件添加

 compile 'cn.jiguang:jpush:2.1.8'  // 此处以SDK 2.1.8版本为例

这里写图片描述

  • 只需同步一下即可自动配置sdk

    这里写图片描述
    两处效果相同点击任意即可

  • 如果报错的话,需要在Project的gradle.properties文件中添加下面的代码:

 android.useDeprecatedNdk=true(有的会自动提示直接注入即可,没有提示手动添加)
  • 混淆

    在ProGuard文件(即proguard-rules.pro)中加入混淆代码:

    -dontoptimize
    -dontpreverify
    -dontwarn cn.jpush.**
    -keep class cn.jpush.** { *; }

这里写图片描述

  • 初始化(集成任务基本完成,现在就开使用它)

    新建一个MyApplication类(继承至Application),并在清单文件(AndroidManifest.xml)的application节点添加name属性关联MyApplication。在MyApplication的onCreate方法中加入初始化的代码:

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        //初始化sdk
        JPushInterface.setDebugMode(true);//正式版的时候设置false,关闭调试
        JPushInterface.init(this);
    }
}

这里写图片描述
清单文件关联自己刚刚创建的Application

  • 项目测试

    基本配置基本完成了现在看看项目的演示

    这里写图片描述

这里写图片描述

  • 完善

    这里写图片描述
    点击后提示说的很明白
    在activity里面添加就可以了

    @Override
    protected void onResume() {
        super.onResume();
        JPushInterface.onResume(this);
    }

    @Override
    protected void onPause() {
        super.onPause();
        JPushInterface.onPause(this);
    }

这里写图片描述

  • 写到这里基本完成了,希望对大家有所帮助,有何不同的见解可以留言,我会时刻关注。
  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值