1、 libs/(cpu-type)/libjcore1xy.soo 各种CPU类型的native开发包。 reso 集成SDK必须添加的资源文件 exampleo 是一个完整的 Android 项目,通过这个演示了 JPush SDK 的基本用法,可以用来做参考。Android SDK 版本目前SDK只支持Android 2.3或以上版本的手机系统。富媒体信息流功能则需Android3.0或以上版本的系统。jcenter 自动集成步骤说明: 使用jcenter自动集成的开发者,不需要在项目中添加jar和so,jcenter会自动完成依赖;在AndroidManifest.xml中不需要添加任何J
2、Push SDK 相关的配置,jcenter会自动导入。 如果开发者需要修改组件属性,可以在本地的 AndroidManifest 中定义同名的组件并配置想要的属性,然后用 xmlns:tools 来控制本地组件覆盖 jcenter 上的组件。示例: manifest xmlns:android= package=com.android.tests.flavorlib.app xmlns:tools= service android:cn.jpush.android.service.PushServiceprocess=:multiprocess tools:node=replace /ser
3、vice/application/manifest 臧廷杰整理 确认android studio的 Project 根目录的主 gradle 中配置了jcenter支持。(新建project默认配置就支持) buildscript repositories jcenter() . allprojects 在 module 的 gradle 中添加依赖和AndroidManifest的替换变量。 android defaultConfig applicationId com.xxx.xxx /JPush上注册的包名. ndk /选择要添加的对应cpu类型的.so库。 abiFilters arm
4、eabi, armeabi-v7aarm64-v8a / 还可以添加 x86x86_64mipsmips64 manifestPlaceholders = JPUSH_PKGNAME : applicationId, JPUSH_APPKEY : 你的appkey, /JPush上注册的包名对应的appkey. JPUSH_CHANNEL :自定义渠道名称, /用户渠道统计的渠道名称 dependencies compile cn.jiguang.sdk:jpush:3.0.5 / 此处以JPush 3.0.5 版本为例。jcore:1.1.2 / 此处以JCore 1.1.2 版本为例。注
5、如果在添加以上 abiFilter 配置之后android Studio出现以下提示: NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin.则在 Project 根目录的gradle.properties文件中添加: android.useDeprecatedNdk=true说明:若没有res/drawable-xxxx/jpush_notification_icon这个资源默认使用应用图标作为通知icon,在5.0以上系统将应用图标作为statusba
6、r icon可能显示不正常,用户可定义没有阴影和渐变色的icon替换这个文件,文件名不要变。手动集成步骤 解压缩 jpush-android-release-3.x.y.zip 集成压缩包。 复制 libs/jcore-android_v1.x.y.jar 到工程 libs/ 目录下。 复制 libs/jpush-android_v3.x.y.jar 到工程 libs/ 目录下。 复制 libs/(cpu-type)/libjcore1xy.so 到你的工程中存放对应cpu类型的目录下。 复制 res/ 中drawable-hdpi, layout, values文件夹中的资源文件到你的工程中
7、 res/ 对应同名的目录下。说明 1:说明 2:使用android studio的开发者,如果使用jniLibs文件夹导入so文件,则仅需将所有cpu类型的文件夹拷进去;如果将so文件添加在module的libs文件夹下,注意在module的gradle配置中添加一下配置: android . sourceSets main jniLibs.srcDirs = libs 配置 AndroidManifest.xml根据 SDK 压缩包里的 AndroidManifest.xml 样例文件,来配置应用程序项目的 AndroidManifest.xml 。主要步骤为: 复制备注为 Require
8、d 的部分 将标注为“您应用的包名”的部分,替换为当前应用程序的包名 将标注为“您应用的Appkey”的部分,替换为在Portal上注册该应用的的Key,例如:9fed5bcb7b9b87413678c407小帖士如果使用android studio, 可在AndroidManifest中引用applicationId的值,在build.gradle配置中 defaultConfig节点下配置,如:defaultConfig applicationId cn.jpush.example / -您应用的包名 在AndroidManifest中使用 $applicationId 引用gradle中
9、定义的包名AndroidManifest 示例 package=您应用的包名 android:versionCode=303versionName=3.0.3 !- Required -permission 您应用的包名.permission.JPUSH_MESSAGEprotectionLevel=signatureuses-permission android:android.permission.RECEIVE_USER_PRESENTandroid.permission.INTERNETandroid.permission.WAKE_LOCKandroid.permission.REA
10、D_PHONE_STATEandroid.permission.WRITE_EXTERNAL_STORAGEandroid.permission.READ_EXTERNAL_STORAGEandroid.permission.VIBRATEandroid.permission.MOUNT_UNMOUNT_FILESYSTEMSandroid.permission.ACCESS_NETWORK_STATEandroid.permission.WRITE_SETTINGSandroid.permission.ACCESS_WIFI_STATE- Optional. Required for loc
11、ation feature -android.permission.SYSTEM_ALERT_WINDOW- 用于开启 debug 版本的应用在6.0 系统上 层叠窗口权限 -android.permission.ACCESS_COARSE_LOCATIONandroid.permission.CHANGE_WIFI_STATEandroid.permission.ACCESS_FINE_LOCATIONandroid.permission.ACCESS_LOCATION_EXTRA_COMMANDSandroid.permission.CHANGE_NETWORK_STATEandroid.
12、permission.GET_TASKSdrawable/ic_launcherYour Application Name- Required SDK 核心功能- 可配置android:process参数将PushService放在其他进程中 -serviceenabled=trueexported=falseintent-filteraction android:cn.jpush.android.intent.REGISTERcn.jpush.android.intent.REPORTcn.jpush.android.intent.PushServicecn.jpush.android.in
13、tent.PUSH_TIME/intent-filter- since 1.8.0 option 可选项。用于同一设备中不同应用的JPush服务相互拉起的功能。 - 若不启用该功能可删除该组件,将不拉起其他应用也不能被其他应用拉起 -cn.jpush.android.service.DaemonServiceintent-filter cn.jpush.android.intent.DaemonServicecategory android:/- Required SDK核心功能-receivercn.jpush.android.service.PushReceiverintent-filte
14、r android:priority=1000cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXYandroid.intent.action.USER_PRESENT.conn.CONNECTIVITY_CHANGE- Optional -android.intent.action.PACKAGE_ADDEDandroid.intent.action.PACKAGE_REMOVEDdata android:scheme=package/receiveractivitycn.jpush.android.ui.PushActivityconfigC
15、hanges=orientation|keyboardHiddentheme=android:style/Theme.NoTitleBarandroid.intent.category.DEFAULT/activity- SDK核心功能-cn.jpush.android.ui.PopWinActivitystyle/MyDialogStylecn.jpush.android.service.DownloadServicereceiver android:cn.jpush.android.service.AlarmReceiver- User defined. 用户自定义的广播接收器-您自己定义
16、的Receiver-Required 用户注册SDK的intent-cn.jpush.android.intent.REGISTRATION-Required 用户接收SDK消息的intent-cn.jpush.android.intent.MESSAGE_RECEIVED-Required 用户接收SDK通知栏信息的intent-cn.jpush.android.intent.NOTIFICATION_RECEIVED-Required 用户打开自定义通知栏的intent-cn.jpush.android.intent.NOTIFICATION_OPENED- 接收网络变化 连接/断开 si
17、nce 1.6.3 -cn.jpush.android.intent.CONNECTION- Required. For publish channel feature - JPUSH_CHANNEL 是为了方便开发者统计APK分发渠道。- 例如:- 发到 Google Play 的APK可以设置为 google-play;- 发到其他市场的 APK 可以设置为 xxx-market。- 渠道统计报表位于控制台页面的 “统计”-“用户统计”-“渠道分布” 中-meta-data android:JPUSH_CHANNELvalue=developer-default- Required. AppKey copied from Po
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1