-
请登录个推网址,选择登记应用并填写应用名称和包名信息,完成应用创建:
-
点击应用配置,获取到相应的AppID、AppKey、AppSecret信息:
-
启动Android Studio, 打开您之前创建的Android项目工程:
-
如果需要从原有的Eclipse项目导入,请选择import project (Eclipse ADT, Gradle, etc.):
老版本升级到 2.9.5.0 及以上版本注意事项:
1、替换旧的GetuiSDKxxx.jar,并删除GetuiExt-xxx.jar和所有jni相关目录下的libgetuiext.so
2、删除AndroidManifest.xml中以下组件相关的配置,最新的SDK已经不再需要这些组件:
com.igexin.sdk.PushServiceUser
com.igexin.sdk.PushManagerReceiver
com.igexin.getuiext.activity.GetuiExtActivity
com.igexin.getuiext.service.PayloadReceiver
com.igexin.getuiext.service.GetuiExtService
3、删除app/src/main/res/layout目录下原来旧的布局文件,包括getui_notification.xml、notification_inc.xml和increment_popup_dialog.xml,请使用最新SDK所提供的getui_notification.xml即可
3.1 个推Android SDK资料包结构GETUI_ANDROID_SDK/
|- readme.txt (SDK资料包说明)
|- 接入文档/ (Android SDK相关集成文档PDF版本)
|- 资源文件/
| |- res/
| | |- layout/
| | | |- getui_notification.xml (个推SDK所需的布局文件)
| | |- raw
| | | |- keep.xml (用于资源保留的描述文件)
| |- so/ (各 CPU 架构so库)
| | |- arm64-v8a/
| | |- armeabi/
| | |- armeabi-v7a/
| | |- mips/
| | |- mips64/
| | |- x86/
| | |- x86_64/
| |- GetuiSDK2.11.1.0.jar
| |- android-support-v4.jar
| - Demo工程/
| |- Getui_SDK_Demo_AS_maven/ (AndroidStudio快速集成Demo工程)
| |- Getui_SDK_Demo_AS_official/ (AndroidStudio标准集成Demo工程)
| |- Getui_SDK_Demo_Eclipse_official/ (Eclipse集成Demo工程)
3.2 添加Maven库地址尽管我们会将最新的个推SDK同步部署在JCenter上,但是为了保障稳定使用,我们建议开发者额外配置个推提供的maven库从而实现更快速的访问。
- 在以项目名为命名的顶层build.gradle文件中,添加个推maven库地址,如下所示:
//Maven URL地址 maven { url "http://mvn.gt.igexin.com/nexus/content/repositories/releases/" }
复制
3.3 配置依赖- 在app/build.gradle文件中引用个推SDK依赖库,如下图所示:
dependencies {
compile fileTree(dir: ‘libs’, include: [’*.jar’])
compile ‘com.getui:sdk:2.11.1.0’
compile 'com.android.supp
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》 浏览器打开:qq.cn.hn/FTe 免费领取
ort:support-v4:+’
}
3.4 配置 so 库目前个推SDK支持armeabi、armeabi-v7a、arm64-v8a、mips、mips64、x86、x86_64这几种 CPU 架构,请根据项目情况指定所需的架构。
如果项目中包含的其他 so 库只支持其中某几种 cpu 架构,那么应该根据其他 so 库所支持的 CPU 架构的最小集来配置。否则如果在特定架构上未能支持所有 so 库,则很可能导致程序运行异常。切记!
- 在项目根目录下的gradle.properties文件中配置useDeprecatedNdk参数,如下图所示:
android.useDeprecatedNdk=true
- 在app/build.gradle文件中的android.defaultConfig下指定所需的 CPU 架构,如下图所示:
android {
…
defaultConfig {
…
ndk {
abiFilters “armeabi”, “armeabi-v7a”, “x86_64”
}
}
}
3.5 配置个推应用参数- 在app/build.gradle文件中的android.defaultConfig下添加manifestPlaceholders,配置个推相关的应用参数(参见【步骤1】),如下图所示:
manifestPlaceholders = [ GETUI_APP_ID : "APP_ID", GETUI_APP_KEY : "APP_KEY", GETUI_APP_SECRET : "APP_SECRET" ]
复制
- 请根据【步骤1】获取到的应用参数进行相应替换APP_ID、APP_KEY、APP_SECRET的值
为了让推送服务在部分主流机型上更稳定运行,从2.9.5.0版本开始,个推支持第三方应用配置使用自定义Service来作为推送服务运行的载体。
- 在项目源码中添加一个继承自Android.app.Service的类,参考下列代码实现Service各个生命周期回调方法:
package com.getui.demo;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import com.igexin.sdk.GTServiceManager;
public class DemoPushService extends Service {
@Override
public void onCreate() {
super.onCreate();
GTServiceManager.getInstance().onCreate(this);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
return GTServiceManager.getInstance().onStartCommand(this, intent, flags, startId);
}
@Override
public IBinder onBind(Intent intent) {
return GTServiceManager.getInstance().onBind(intent);
}
@Override
public void onDestroy() {
super.onDestroy();
GTServiceManager.getInstance().onDestroy();
}
@Override
public void onLowMemory() {
super.onLowMemory();
GTServiceManager.getInstance().onLowMemory();
}
}
- 在AndroidManifest.xml中添加上述自定义Service:
- 上述接入方式已包含个推服务所需的所有必备权限。在此之外,您还可以配置以下可选权限,以便使用个推3.0提供的电子围栏功能。请在AndroidManifest.xml的根标签下添加如下配置:
;
3.8 导入通知栏图标-
为了修改默认的通知图标以及通知栏顶部提示小图标,请在资源目录的res/drawable-ldpi/、res/drawable-mdpi/、res/drawable-hdpi/、res/drawable-xhdpi/、res/drawable-xxhdpi/等各分辨率目录下,放置相应尺寸的文件名为push.png和push_small.png图片,如图所示:
-
建议的push.png图片尺寸如下:
ldpi: 48*48
mdpi: 64*64
hdpi: 96*96
xhdpi: 128*128
xxhdpi: 192*192
-
该图标push.png将会作为通知图标,如下所示:
-
建议的push_small.png图片尺寸如下:
ldpi: 18*18
mdpi: 24*24
hdpi: 36*36
xhdpi: 48*48
xxhdpi: 72*72
xxxhdp: 96*96
-
该图标push_small.png将会作为通知图标展示在通知栏顶部,如下所示:
-
push_small.png设计规范
- 如果您的工程启用了资源精简,即如果在app/build.gradle的android.buildTypes.release下配置了shrinkResources true,为了避免个推SDK所需资源被错误精简导致功能异常,需要在项目资源目录res/raw中添加keep.xml文件,路径如下:
- 在SDK资料包中GETUI_ANDROID_SDK/资源文件/raw目录下有keep.xml示例文件,完整内容如下:
复制
- 如果你的项目工程已经使用了keep.xml,则只需在tools:keep中增加对@layout/getui_notification的声明,例如:
复制
- 如果您的工程使用了AndResGuard进行资源精简,为了避免个推SDK所需资源被错误精简导致功能异常,需要为个推添加白名单配置。
gradle集成AndResGuard的方式,需要您在andResGuard的whiteList节点下添加如下代码:



