Android SDK 集成指南

使用提示

本文是JMLink Android SDK 标准的集成指南文档。用以指导 SDK 的使用方法,默认读者已经熟悉IDE(Eclipse 或者 Android Studio)的基本使用方法,以及具有一定的 Android 编程知识基础。

匹配的 SDK 版本为:v1.0.0及以后版本。

  • 如果您想要快速地测试、请参考本文在几分钟内跑通Demo。
  • 极光魔链文档网站上,有相关的所有指南、API、教程等全部的文档。包括本文档的更新版本,都会及时地发布到该网站上。
  • 目前SDK只支持Android 2.3或以上版本的手机系统。

Jcenter 自动集成

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

allprojects {
    repositories {
        jcenter()
    }
}
  • 在 module 的 gradle 中添加依赖和AndroidManifest的替换变量
android {
    ......
    defaultConfig {
        applicationId "com.xxx.xxx" //JPush上注册的包名.
        ......

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

        manifestPlaceholders = [
            JPUSH_PKGNAME : applicationId,
            JPUSH_APPKEY : "你的appkey", //极光开发平台上注册的包名对应的appkey.
            JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可.
        ]
        ......
    }
    ......
}

dependencies {
    ......

    compile 'cn.jiguang.sdk:jmlink:1.2.0'  // 此处以JMlink 1.2.0 版本为例。
    compile 'cn.jiguang.sdk:jcore:2.3.8'  // 此处以JCore 2.3.8 版本为例。
    ......
}

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

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

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

 android.useDeprecatedNdk=true

组装服务集成步骤

组装服务是对手动集成 SDK 的封装服务,通过将 SDK 组合到单独的 jiguang module ,将手动集成的共同配置业务隐藏,开发者只需关注自己本身的个性化配置,减少集成步骤,提高开发者接入效率。

如您需要使用 JMLink 组装服务,请在组装服务界面勾选 JMLink 服务并组装SDK jpush_android_3m

jiguang_sdk.zip 集成压缩包内容

  • jiguang

    • JIGUANG SDK 组合包
    • JPush jar包,资源文件等已在该包中进行依赖,无需在手动拷贝依赖
  • jiguang-demo

    • JIGUANG SDK 组合包集成 demo。
    • 是一个完整的 Android 项目,通过这个演示了组包服务的基本用法,可以用来做参考。
    • 根据您勾选的服务自动组合构建,组包前预设的相关配置会同时预埋到 demo 中

导入 JIGUANG SDK

通过 AS 将 SDK 作为 module 导入项目

导入步骤:AndroidStudio -> File -> New -> Import Module -> 选择 jiguang 导入

配置 JIGUANG SDK

settings.gradle 配置添加:

include  ':jiguang'

在应用 module gradle 中 添加 SDK 依赖

android {
    ......
    defaultConfig {
        applicationId "com.xxx.xxx" //JPush 上注册的包名.
        ......

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

dependencies {
    ......

    implementation project(':jiguang')
    ......
}

手动集成步骤

手动集成压缩包下载链接:前往下载

  • example/
  • 一个用来展示JMlink基本用法的demo应用
  • libs/jcore-android.2.X.Y.jar
  • 极光开发者服务的核心包
  • libs/JMlink-Android-SDK-v1.X.Y.jar
  • JMLink SDK开发包
  • libs/(cpu-type)/libjcore2xy.so
  • 各种CPU类型的native开发包

解压 SDK 并导入

  • 在极光官网下载最新 SDK
  • 解压缩 JMLink-Android-SDK-v1.X.Y.zip 集成压缩包
  • 复制 libs/jcore-android_2.X.Y.jar 到工程 libs/ 目录下。
  • 复制 libs/JMlink-Android-SDK-v1.X.Y.jar 到工程 libs/ 目录下。
  • 复制 libs/(cpu-type)/libjcore1xy.so 到你的工程中存放对应cpu类型的目录下。

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

    android {
        ......
        sourceSets {
            main {
                jniLibs.srcDirs = ['libs']
                ......
            }
            ......
        }
        ......
    }

配置 AndroidManifest.xml

  • 添加权限
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
  • 添加极光魔链Appkey信息
        <meta-data
            android:name="JPUSH_APPKEY"
            android:value="您自己的appkey" /> <!-- </>值来自开发者平台取得的AppKey -->
        <meta-data
            android:name="JPUSH_CHANNEL"
            android:value="default_developer" />

运行Demo

压缩包附带的 example 是一个 API 演示例子。你可以将它导入到你的工程,并将你的 AppKey 填入到 demo 的 build.gradle 中,设置上applicationId然后直接运行起来测试。

  • 请在工程的混淆文件中添加以下配置:
-dontwarn cn.magicwindow.**
-keep class cn.magicwindow.** {*;}

-dontwarn cn.jiguang.**
-keep class cn.jiguang.** { *; }

更多API

其他 API 的使用方法请参考接口文档:Android SDK API

技术支持

邮件联系:support@jpush.cn


Copyright 2011-2020, jiguang.cn, All Rights Reserved.
粤ICP备12056275号-13 深圳市和讯华谷信息技术有限公司

Documentation built with MkDocs.