一. 创建应用
到阿里云移动推送控制台创建应用,应用创建完成以后,进入移动推送相关模块进行设置,具体操作请参见
创建APP。
在应用中完成应用配置,[backcolor=transparent]
请注意PackageName务必和App的包名一致,否则推送将无法正确初始化。
【注意】使用Gradle构建App时,PackageName的查看:
- 查看AndroidManifest.xml中根元素package属性;
- 查看工程build.gradle中applicationId设置,默认AndroidManifest.xml中的package属性保持一致,如果不一致,以applicationId为准。
2.1.2 SDK目录结构
- [backcolor=transparent]OneSDK
- [backcolor=transparent]|--[backcolor=transparent] [backcolor=transparent]AndroidManifest[backcolor=transparent].[backcolor=transparent]xml
- [backcolor=transparent]|--[backcolor=transparent] build[backcolor=transparent].[backcolor=transparent]gradle
- [backcolor=transparent]|--[backcolor=transparent] libs
- [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|--[backcolor=transparent] armeabi
- [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|--[backcolor=transparent] libcocklogic[backcolor=transparent].[backcolor=transparent]so [backcolor=transparent]-网络连接库及幽灵进程的辅助[backcolor=transparent]lib
- [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|--[backcolor=transparent] libtnet[backcolor=transparent].[backcolor=transparent]so
- [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|--[backcolor=transparent] armeabi[backcolor=transparent]-[backcolor=transparent]v7a
- [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|--[backcolor=transparent] libcocklogic[backcolor=transparent].[backcolor=transparent]so
- [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|--[backcolor=transparent] libtnet[backcolor=transparent].[backcolor=transparent]so
- [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|--[backcolor=transparent] arm64[backcolor=transparent]-[backcolor=transparent]v8a
- [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|--[backcolor=transparent] libcocklogic[backcolor=transparent].[backcolor=transparent]so
- [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|--[backcolor=transparent] libtnet[backcolor=transparent].[backcolor=transparent]so
- [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|--[backcolor=transparent] x86
- [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|--[backcolor=transparent] libcocklogic[backcolor=transparent].[backcolor=transparent]so
- [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|--[backcolor=transparent] libtnet[backcolor=transparent].[backcolor=transparent]so
- [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|--[backcolor=transparent] arm64
- [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|--[backcolor=transparent] libcocklogic[backcolor=transparent].[backcolor=transparent]so
- [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|--[backcolor=transparent] libtnet[backcolor=transparent].[backcolor=transparent]so
- [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|--[backcolor=transparent] alicloud[backcolor=transparent]-[backcolor=transparent]android[backcolor=transparent]-[backcolor=transparent]push[backcolor=transparent]-[backcolor=transparent]sdk[backcolor=transparent].[backcolor=transparent]jar [backcolor=transparent]-移动推送主功能包
- [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|--[backcolor=transparent] alisdk[backcolor=transparent]-[backcolor=transparent]ut[backcolor=transparent].[backcolor=transparent]jar [backcolor=transparent]-[backcolor=transparent]UT[backcolor=transparent]基础包
- [backcolor=transparent]|[backcolor=transparent] [backcolor=transparent]|--[backcolor=transparent] utdid4all[backcolor=transparent].[backcolor=transparent]jar [backcolor=transparent]-设备[backcolor=transparent]Id[backcolor=transparent]生成包
- [backcolor=transparent]|--[backcolor=transparent] project[backcolor=transparent].[backcolor=transparent]properties
- [backcolor=transparent]|--[backcolor=transparent] src
2.1.3 SDK集成:
- 手动拷贝下载SDK中的libs目录,手动拷贝后需要在APP工程的build.gradle中配置jniLibs的目录:
- [backcolor=transparent]android [backcolor=transparent]{
- [backcolor=transparent] [backcolor=transparent]...
- [backcolor=transparent] sourceSets [backcolor=transparent]{
- [backcolor=transparent] main [backcolor=transparent]{
- [backcolor=transparent] jniLibs[backcolor=transparent].[backcolor=transparent]srcDirs [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent][[backcolor=transparent]'libs'[backcolor=transparent]]
- [backcolor=transparent] [backcolor=transparent]}
- [backcolor=transparent] [backcolor=transparent]}
- [backcolor=transparent]}
2.2 Maven集成
- 项目顶层build.gradle中添加Maven仓库地址:
- [backcolor=transparent]allprojects [backcolor=transparent]{
- [backcolor=transparent] repositories [backcolor=transparent]{
- [backcolor=transparent] maven [backcolor=transparent]{
- [backcolor=transparent] url [backcolor=transparent]'http://maven.aliyun.com/nexus/content/repositories/releases/'
- [backcolor=transparent] [backcolor=transparent]}
- [backcolor=transparent] [backcolor=transparent]}
- [backcolor=transparent]}
- [backcolor=transparent]dependencies [backcolor=transparent]{
- [backcolor=transparent] compile [backcolor=transparent]'com.aliyun.ams:alicloud-android-push:2.3.7'
- [backcolor=transparent]}
(开发时可以如上所述指定完整的版本号,也可以指定模糊版本号,gradle自动拉取满足条件的最新版本SDK,如compile 'com.aliyun.ams:alicloud-android-push:2.+')
2.3 Android支持包添加
- 工程中添加android-support-v4.jar支持包(v2.3.0以上),关于v4支持包的说明请参考:https://developer.android.com/topic/libraries/support-library/features.html#v4;
三. 配置AndroidManifest.xml
3.1 appkey和appsecret配置
- [backcolor=transparent]<application[backcolor=transparent] [backcolor=transparent]android:name[backcolor=transparent]=[backcolor=transparent]"*****"[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<meta-data[backcolor=transparent] [backcolor=transparent]android:name[backcolor=transparent]=[backcolor=transparent]"com.alibaba.app.appkey"[backcolor=transparent] [backcolor=transparent]android:value[backcolor=transparent]=[backcolor=transparent]"*****"[backcolor=transparent]/>[backcolor=transparent] [backcolor=transparent]<!-- 请填写你自己的- appKey -->
- [backcolor=transparent] [backcolor=transparent]<meta-data[backcolor=transparent] [backcolor=transparent]android:name[backcolor=transparent]=[backcolor=transparent]"com.alibaba.app.appsecret"[backcolor=transparent] [backcolor=transparent]android:value[backcolor=transparent]=[backcolor=transparent]"****"[backcolor=transparent]/>[backcolor=transparent] [backcolor=transparent]<!-- 请填写你自己的appSecret -->
- [backcolor=transparent]</application>
com.alibaba.app.appkey和com.alibaba.app.appsecret为您App的对应信息,在推送控制台APP列表页的应用证书中获取。appkey和appsecret请务必写在application标签下,否则sdk会报找不到appkey错误。
如果您是百川云推送用户,不能直接使用百川平台的appKey和appSecret,需要登录阿里云移动推送控制台,登录账号为您的百川平台账号,并使用阿里云平台的appKey,appSecret。