Android 开发笔记(个推的接入)

来源:转载

最近因为需求原因,公司要在app中加入推送功能,当时和PM讨论的结果是使用个推 来实现推送功能,下面我们就一步一步的接入个推的SDK


环境配置
开发工具: Android Studio(Eclipse逐渐被淘汰出Android开发,所以这次只针对AS进行开发)
系统环境: 配置好JAVA环境的Win7系统
工程师神奇的手一对



现在开始干活咯


一、导入SDK


1.在主项目build.grade(moudle:app)中的dependencies{}方法中添加依赖库compile 'com.getui:sdk:+'进行SDK导入:





dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.getui:sdk:+' // 个推依赖库
compile 'com.android.support:support-v4:+'
}

2.在项目顶层build.grade(project:XXX)中添加个推maven库地址,如图所示:




//Maven URL地址
maven {
url "http://mvn.gt.igexin.com/nexus/content/repositories/releases/"
}

3.配置so库,在gradle.properties文件中配置useDeprecatedNdk,如下图所示:




android.useDeprecatedNdk=true
在app/build.gradle文件中android/defaultConfig下指定需要 cup 架构的 so 库,如下图所示:




注:如果 project 中包含其他 so 库且只支持某几种 cpu 架构,那么应该根据其他 so 库支持的 cpu 架构来配置
android {
...
defaultConfig {
...
ndk {
abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "mips", "mips64", "x86", "x86_64"
}
}
}

4.配置个推应用参数




//参数说明
manifestPlaceholders = [
GETUI_APP_ID : "APP_ID",
GETUI_APP_KEY : "APP_KEY",
GETUI_APP_SECRET : "APPSECRET",
PACKAGE_NAME : applicationId
]
//APP_ID、APP_KEY、APP_SECRET请根据个推开发者后台申请到的应用参数进行相应替换

5.配置透传





<!-- 配置第三方Receiver -->
<!-- 此处com.getui.demo.PushDemoReceiver,需要替换成开发者自己的BroadcastReceiver文件全名-->
<receiver
android:name="com.getui.demo.PushDemoReceiver" android:exported="false">
<intent-filter>
<action android:name="com.igexin.sdk.action.${GETUI_APP_ID}" />
</intent-filter>
</receiver>
6.配置可选权限
!-- iBeancon功能所需权限 -->;
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<!-- 个推3.0电子围栏功能所需权限 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
7.为了修改通知栏提示图标,请在res/drawable-hdpi/、res/drawable-mdpi/、res/drawable-ldpi/等各分辨率资源目录下,放置相应尺寸的push.png图片。





二、初始化SDK

在您应用程序启动初始化阶段,初始化SDK:
PushManager.getInstance().initialize(this.getApplicationContext());
注:该方法必须在Activity或Service类内调用,一般情况下,可以在Activity的onCreate()方法中调用。由于应用每启动一个新的进程,就会调用一次Application的onCreate()方法,而个推SDK是一个独立的进程,因此如果在Application的onCreate()中调用intialize接口,会导致SDK初始化在一个应用中多次调用,所以不建议在Application继承类中调用个推SDK初始化接口。


三、混淆配置

如果您的工程启用了资源精简,即在build.gradle中指定如下参数:
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro' }
}


四、确认gradle配置

确认gradle文件中的applicationId和参数中需要的包名一致,如图:




五、测试

在手机或模拟器上运行您的工程,查看Android Monitor信息,如图所示。在搜索框中输入“clientid”可以看到“clientid is xxx”,则意味则初始化SDK成功,并获取到相应的cid信息,恭喜你:-D,可以开始进行推送测试了。




登录 个推开发者平台,点击应用管理,进入待测试应用的推送界面:



依填写相应的通知标题、通知内容,进行通知推送,具体推送方法见:创建推送通知
如果手机或模拟器收到通知,如图所示:恭喜您,SDK接入已经成功!






分享给朋友:
您可能感兴趣的文章:
随机阅读: