激极光推送java服务端如何加混淆

为什么应用程序无法收到 Push 消息(Android)?确认 appKey(在Portal上生成的)已经正确的写入 Androidmanifest.xml确认测试手机(或者模拟器)已成功连入网络确认有客户端 &Login succeed& 日志详情请参考教程:。Java.lang.UnsatisfiedLinkError此错误是由于没有正确的加载libjpush.so文件,请检查libjpush.so是否在正确的位置(libs–&armeabi–&libjpush.so)如果您的应用需要支持 x86、mips 架构的CPU 需要下载对应的SDK,下载路径: JPush SDK 迁移到 Android Studio 需要添加.SO文件打包到APK的lib文件夹中,可以编辑 build.gradle 脚本,自定义 *.so 目录
完整的目录结构如下:The permission should be defined 此错误是没有正确的定义permision,请添加权限:
如何在代码时混淆忽略 jpush-sdk-release.jar?请下载4.x版本的, 并替换你Android Sdk &tools\proguard\lib\proguard.jar&在你的proguard.cfg加上代码:如果是使用新版本的ADT 将project.properties的中“# proguard.config=${sdk.dir}/tools/proguard/proguard-android.
请使用 SDK1.3.X 及以后的版本推送成功了,为什么有部分客户端收不到推送?请检查收不到通知的手机:请在logcat查看日志,确定客户端的jpush是否集成成功,网络是否有问题请看日志或使用接口 isPushStopped来检查是否调用了stoppush检查手机的JPush高级设置中是否设置了“允许推送时间”手机的应用中是否勾选了“显示通知”第三方系统收不到推送的消息由于第三方 ROM 的管理软件需要用户手动操作小米【MIUI】自启动管理:需要把应用加到【自启动管理】列表,否则杀进程或重新开机后进程无法开启通知栏设置:应用默认都是显示通知栏通知,如果关闭,则收到通知也不会提示华为【Emotion】自启动管理:需要把应用加到【自启动管理】列表,否则杀进程或重新开机后进程不会开启,只能手动开启应用后台应用保护:需要手动把应用加到此列表,否则设备进入睡眠后会自动杀掉应用进程,只有手动开启应用才能恢复运行通知管理:应用状态有三种:提示、允许、禁止。禁止应用则通知栏不会有任何提醒魅族【Flyme】自启动管理:需要把应用加到【自启动管理】列表,否则杀进程或重新开机后进程发开启通知栏推送:关闭应用通知则收到消息不会有任何展示VIVO【Funtouch OS】内存一键清理:需要将应用加入【白名单】列表,否则系统自带的“一键加速”,会杀掉进程自启动管理:需要将应用加入“i管家”中的【自启动管理】列表,否则重启手机后进程不会自启。但强制手动杀进程,即使加了这个列表中,后续进程也无法自启动。OPPO【ColorOS】冻结应用管理:需要将应用加入纯净后台,否则锁屏状态下无法及时收到消息自启动管理:将应用加入【自启动管理】列表的同时,还需要到设置-应用程序-正在运行里锁定应用进程,否则杀进程或者开机后进程不会开启,只能手动开启应用tag、alias可以参考进行设置,每次设置是覆盖设置,而不是增量设置。Tag和alias一经设置成功,除非取消或覆盖,是不会变化的。设置好的tag、alias与客户端的对应关系保存在Jpush服务器,目前没有从JPush服务器查询这个对应关系的接口,所以需要客户将对应关系保存在APP应用服务器。Registrationid是客户端SDK第一次成功连接到Jpush服务器时,Jpush服务器给分配的。可以通过来获取Registrationid进行推送。Registrationid对应一个应用的一个客户端。没有沙箱API怎么测试? 直接用JPush的api测试就行。其他国家能否使用极光推送(局域网能否使用极光推送)? 只要能连网到Jpush服务器都可以。判断能否联网到Jpush服务器的方法:ping通
8800用设置的标签或别名推送,出现下面提示:这可能有两种情况:SDK没有集成成功,客户端有 &Login succeed& 日志才表示SDK集成成功。设置别名或标签失败,请调用带返回值的函数来设置标签或别名,同时参考来修改直到设置成功返回0.可以打开 提示客户换个浏览器试试如果还是不行,执行下面的命令反馈结果排查一下问题1.ping 2.nslookup 3.telnet 4.提供一下自己机器访问外网其他网站是否正常appkey是怎么对应的?android的包名和appkey需对应。客户端在内网使用极光推送应该怎么设置?客户端在内网使用极光推送开放下列端口限制,用于JPush的登录注册及保持推送长链接:changes.mady.by.user
该行被添加。
该行被删除。
格式已改变。
如果您的项目有libs/armeabi-v7a这个目录,请把libjpush.so也复制一份到这个目录。......推送成功了,为什么有部分客户端收不到推送?请检查收不到通知的手机:确保手机联网正常检查手机的JPush高级设置中是否设置了“允许推送时间”手机的应用中是否勾选了“显示通知”不用登录Jpush的portal界面,在APP的面板中直接发送通知可以吗?可以。直接封装Jpush的V2 API就可以了,具体可参考 用API推送时出现 1002:app_key doesn't exist 可能有两个原因:没有传appkey 没有按照要求post:HTTP Post 的Content-Type 需采用 application/x-www-form-urlencodeverification_code串中最后一个参数master_secret如何获取从portal上所创建应用的应用详情界面可以获取到。......
Image Removed查看你的离线保存时常设置,如果离线时间超过这个时长设置,收不到是正常的。离线20s以上的消息是开机连网正常后会收到,离线20s以内的消息需要等下次心跳才能收到。没有沙箱API怎么测试?直接用JPush的api测试就行。其他国家能否使用极光推送(局域网能否使用极光推送)?只要能连网到Jpush服务器都可以。判断能否联网到Jpush服务器的方法:ping通代码混淆忽略 jpush-sdk-release.jar 扔报错问题 - 极光推送问答
代码混淆忽略 jpush-sdk-release.jar 扔报错问题
&&&&使用代码混淆打包时, 按照官方文档上的操作:
&&&&替换最新版本的 proguard.jar
&&&&并添加: &-dontwarn cn.jpush.** &&&-keep class cn.jpush.** &{ *; },
&&&&仍然会报以下错误!!:
& & & &The library 'android_7400634.jar' contains native libraries that will not run on the device.
& & & &The following libraries were found:
& & & & - armeabi/libjpush.so
& &&不做代码混淆时打包正常!!!
请问有解决办法吗???
我使用的是最新版本的SDK:&jpush-sdk-release1.5.6.jar
开发环境elcipse: 使用eclipse打包
2014年 1月 15日
(120 积分)
2014年 1月 15日
混淆的时候,不要混淆JPush部分的代码就好了。
2014年 1月 17日
(23,600 积分)
2012年 12月 27日
(200 积分)
2013年 2月 22日
(140 积分)
2013年 1月 10日
(120 积分)
(140 积分)
(140 积分)文档中心-百度云推送
Android SDK 开发文档
Android SDK是为Android平台开发者接入“云推送”服务而提供开发者工具包,开发者需要在应用中正确集成Android SDK才能使安装该应用的Android设备接收到云推送服务端发送的各类消息。
关于如何开通云推送服务,请参考 ,在开通推送服务后,可以通过一节内容了解如何快速构建一个Android应用并接收消息。
下载最新的Android SDK压缩包并解压,使用Eclipse或者Android Studio,导入Android工程示例(Demo)。此时会看到Demo工程中有错误,把工程编码改为UTF-8,再打开左侧目录树,错误存在于PushDemo工程下src文件夹中,com.baidu.push.example包路径下的PushDemoActivity.java文件中。
报错的这一行特别提醒开发者,在特定位置上一定要填上您获得的API Key,否则会绑定失效,无法接收到推送的消息。
PushManager.startWork(getApplicationContext),PushConstants.LOGIN_TYPE_API_KEY,"api_key");
将“api_key”,修改为您的API Key并保存,如下图所示。
右键点击PushDemo工程,选择Run As
Android Application,运行程序。
选中您已连接的手机设备或Android虚拟机,开始运行Demo。
下载最新的Android SDK压缩包并解压,在新建工程或已有工程中增加百度云推送功能,如果您使用的是Demo示例,请直接跳到 。
导入云推送jar包和so文件:
将解压后的libs文件夹中所有文件复制到您的工程的libs文件夹中。如果您的工程中没有其他的.so文件,那么建议直接复制libs中的所有文件到您的工程中。如果您的工程中还使用了其他的.so文件,只需要复制对应目录下的.so文件即可。如果你使用的是Android Stutio,在工程中“src/main”目录中新建名为jniLibs的目录,将so文件复制、粘贴到“jniLibs”目录内。特别注意:您工程中的x86目录下无需复制.so文件,armeabi目录对应复制.so文件,如有armeabi_v7目录,则需要复制armeabi下的.so文件到armeabi_v7目录,否则会无法绑定。如下图所示
配置AndroidManifest文件:
在当前工程的AndroidManifest.xml文件中,添加权限和声明信息(请勿修改):
&!-- Push service 运行需要的权限 -->
&uses-permission android:name="android.permission.INTERNET" />
&uses-permission android:name="android.permission.READ_PHONE_STATE" />
&uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
&uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
&uses-permission android:name="android.permission.WRITE_SETTINGS" />
&uses-permission android:name="android.permission.VIBRATE" />
&uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
&uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER"/>
&uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
&uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
&uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
&uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
&!-- push service start -->
&!-- 用于接收系统消息以保证PushService正常运行 -->
&receiver android:name="com.baidu.android.pushservice.PushServiceReceiver"
android:process=":bdservice_v1" >
&intent-filter>
&action android:name="android.intent.action.BOOT_COMPLETED" />
&action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
&action android:name="com.baidu.android.pushservice.action.notification.SHOW" />
&action android:name="com.baidu.android.pushservice.action.media.CLICK" />
&!-- 以下四项为可选的action声明,可大大提高service存活率和消息到达速度 -->
&action android:name="android.intent.action.MEDIA_MOUNTED" />
&action android:name="android.intent.action.USER_PRESENT" />
&action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
&action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
&/intent-filter>
&/receiver>
&!-- Push服务接收客户端发送的各种请求-->
&receiver android:name="com.baidu.android.pushservice.RegistrationReceiver"
android:process=":bdservice_v1" >
&intent-filter>
&action android:name="com.baidu.android.pushservice.action.METHOD" />
&action android:name="com.baidu.android.pushservice.action.BIND_SYNC" />
&/intent-filter>
&intent-filter>
&action android:name="android.intent.action.PACKAGE_REMOVED" />
&data android:scheme="package" />
&/intent-filter>
&/receiver>
&service android:name="com.baidu.android.pushservice.PushService" android:exported="true"
android:process=":bdservice_v1" >
&intent-filter >
&action android:name="com.baidu.android.pushservice.action.PUSH_SERVICE" />
&/intent-filter>
&/service>
&!-- 4.4版本新增的CommandService声明,提升小米和魅族手机上的实际推送到达率 -->
&service android:name="com.baidu.mandService"
android:exported="true" />
&!-- push结束 -->
启动云推送
在当前工程的主Activity的onCreate函数中,添加以下代码:
PushManager.startWork(getApplicationContext(),PushConstants.LOGIN_TYPE_API_KEY,"api_key")
其中的“API Key“需要手动修改为指定应用的API Key。
自定义回调类
在当前工程中新建一个类,右键点击选择new
Class,填写接收云推送回调信息和推送到达信息的类的类名,并点击Finish创建该类文件(本例中使用PushTestReceiver)。
打开新创建的类,继承PushMessageReceiver,此时类名飘红,移动到类名上,点击 Add unimplemented methods,重载所有的回调函数,并打印对应信息,如图所示:
在当前工程的AndroidManifest.xml文件中,添加自定义Receiver信息如下:
&!-- 此处Receiver名字修改为当前包名路径 -->
&receiver android:name="com.*.*.PushTestReceiver">
&intent-filter>
&!-- 接收push消息 -->
&action android:name="com.baidu.android.pushservice.action.MESSAGE" />
&!-- 接收bind、setTags等method的返回结果-->
&action android:name="com.baidu.android.pushservice.action.RECEIVE" />
&!-- 接收通知点击事件,和通知自定义内容 -->
&action android:name="com.baidu.android.pushservice.action.notification.CLICK" />
&/intent-filter>
&/receiver>
右键点击当前工程,选择Run As
Android Application,选中已连接的设备或Android虚拟机,运行该程序。如果在logcat中的回调函数中的errorCode为0,说明已经绑定成功,并返回userid和channelid,我们就可以在云控制台推送通知和透传消息到该app了。
处理推送消息
在集成SDK后,可以通过以下两种方式推送消息。
通过控制台推送消息。参见:
通过服务端SDK推送消息,目前服务端提供
两种语言的SDK,其它语言可以通过包装RestAPI使用云推送服务,具体可参见 。
接收通知消息
当设备接收到通知消息后,查看手机的通知栏,可以看到通知栏内的新通知展示。如图:
通知到达时,当通知被用户点击时,会回调onNotificationClicked函数。
推送透传消息
当设备接收到透传消息时,消息不会在通知栏展示,只是静默回调开发者自定义Receiver中的onMessage函数。手机收到消息后不会有任何现象,因为透传消息对用户完全透明,用户无法感知,便于开发者在不影响用户的情况下对app进行操作。开发者可以通过log内容和自定义的回调函数onMessage中打印该内容,确认消息到达,并执行开发者指定操作。
如果需要混淆app,请在混淆文件(一般默认为Android工程下proguard-project.txt或者proguard.cfg)中添加以下说明(pushservice-VERSION.jar为集成的jar包名字,VERSION为版本名称),防止SDK内容被二次混淆,无法收到消息。
-libraryjars libs/pushservice-VERSION.jar
-dontwarn com.baidu.**
-keep class com.baidu.**{*; }
本SDK中有四个重要的开放类,分别为:PushManager、PushSettings、BasicPushNotificationBuilder和CustomPushNotificationBuilder,另外还有常量类PushConstants和回调接收类PushMessageReceiver。
PushManager
提供了所有使用Push服务的静态方法
PushSettings
提供了端上Push服务的配置静态方法
BasicPushNotificationBuilder
用于定制 Android Notification 里的基础样式和行为
CustomPushNotificationBuilder
用于定制 Android Notification 里的 sound / flags / icon,以及通知栏的layout、图标和状态栏图标
PushConsants
SDK对外的常量定义
PushMessageReceiver
自定义接收push消息和通知实现的直接父类
接口与方法
Push Android SDK目前支持以下接口:
API函数原型
Push服务接口
提供Push服务
startWork, stopWork, resumeWork
Tag管理接口
Tag的创建与删除
setTags, delTags, onListTags
通知管理接口
自定义通知样式
CustomPushNotificationBuilder,
BasicPushNotificationBuilder, setNotificationFlags,
setNotificationDefaults, setStatusbarIcon,
setLayoutDrawable, setNotificationSound, setNotificationBuilder
推送效果反馈
反馈推送通知的效果
activityStarted, activityStoped
Push服务设置
enableDebugMode
LBS推送接口
打开或关闭精确LBS推送
enableLbs, disableLbs
异步消息处理接口
Push消息处理receiver
onBind, onMessage, onNotificationClicked, onNotificationArrived, onSetTags, onDelTags, onListTags, onUnbind
统计渠道号设置
在统计中查看渠道分布
在AndroidManifest.xml中添加meta:BaiduPush_CHANNEL
Push服务初始化及绑定-- startWork
public static void startWork(Context context, int loginType, String loginValue);
PushManager类定义的静态方法,完成Push服务的初始化,并且自动完成bind工作。
context:当前执行Context
loginType:绑定认证方式(无账号认证方式用PushConstants.LOGIN_TYPE_API_KEY,百度Auth2.0认证方式用PushConstants.LOGIN_TYPE_ACCESS_TOKEN)
loginValue:和loginType对应,分别是应用的API Key,或者百度Auth2.0 Access
通过com.baidu.android.pushservice.action.RECEIVE Intent发送给客户端receiver,Intent extra PushConstants.EXTRA_CONTENT 包含返回字符串,为json格式,如:
"request_id":,
"response_params":
"appid": "",
"user_id":"345678",
"channel_id":"6872165"
user_id 系统返回的绑定Baidu Channel的用户标识
appid 系统返回的应用标识
channel_id 系统返回的设备连接的通道标识
如果您通过服务端接口(REST或SDK)向百度Push服务推送消息,bind成功后需要channel_id和access token(或者appid + user_id)传给应用的服务器,以便您的服务器向百度Push服务推送消息。如果只使用管理控制台来发送消息,可以不用关心这些返回信息。
注意:不要在Application的onCreate里去做startWork的操作。
停止和恢复Push服务-- stopWork、resumeWork
public static void stopWork(Context context);
PushManager类定义的静态方法,停止本应用Push服务进程,并且完成unbind工作。startWork和resumeWork都会重新开启本应用Push功能。
context:当前执行Context
public static void resumeWork(Context context);
PushManager类定义的静态方法,恢复本应用Push服务,并且再次完成bind工作。
context:当前执行Context
查询push是否被停止的接口-- isPushEnabled
public static boolean isPushEnabled(Context context);
PushManager类定义的静态方法,查询push是否已经被停止。
context:当前执行Context
public static void setTags(Context context, List tags);
PushManager类定义的静态方法,用于设置标签;成功设置后,可以从管理控制台或您的服务后台,向指定的设置了该tag的一群用户进行推送。
注意:tag设置的前提是已绑定的端,也就是应用有运行过startWork或bind,且在onBind回调中返回成功。
tags :包含多个标签字符串的List
通过com.baidu.android.pushservice.action.RECEIVE Intent发送给客户端receiver,Intent extra PushConstants.EXTRA_CONTENT 包含返回字符串,json格式:
"request_id":,
"response_params":
success_amount:1,
"tag":"abc",
"result":0
"tag":"def",
"result":1
public static void delTags(Context context, List tags);
PushManager类定义的静态方法,用于删除标签。
tags :包含多个标签字符串的List
通过com.baidu.android.pushservice.action.RECEIVE Intent发送给客户端receiver,Intent extra PushConstants.EXTRA_CONTENT 包含返回字符串,json格式:
"request_id":,
"response_params":
success_amount:1,
"tag":"abc",
"result":0//成功
"tag":"def",
"result":1//失败
统计activity onStart-- activityStarted
public static void activityStarted(Activity activity);
PushManager类定义的静态方法,在您的Activity的onStart方法里面加上PushManager.onStart()方法,会统计应用程序的包名、时间戳、用户是直接打开应用还是通过我们推送打开的应用、messageId和Activity的hash code。
统计activity onStop-- activityStoped
public static void activityStoped(Activity activity);
PushManager类定义的静态方法,在您的Activity的onStop方法里面加上PushManager.onStop()方法,会统计应用程序的包名、时间戳和Activity的hash code。
设置通知的Builder -- setNotificationBuilder
public static void setNotificationBuilder(Context context, int id, PushNotificationBuilder notificationBuilder);
PushManager类定义的静态方法,设置通知栏样式,并为样式指定编号。在管理控制台或您的服务后台中,您可以指定相应的编号,让客户端显示预先设定好的样式。
context :android app运行上下文
id :notificationBuilder编号,开发者自己维护
notificationBuilder :通知栏构建类
设置默认的通知Builder-- setDefaultNotificationBuilder
public static void setDefaultNotificationBuilder(Context context, PushNotificationBuilder notificationBuilder);
PushManager类定义的静态方法,设置默认的通知栏样式;如果推送通知时不指定id的样式,都将显示该默认样式。
Context :android app运行上下文
notificationBuilder :通知栏构建类
设置富媒体通知的Builder-- setMediaNotificationBuilder
public static void setMediaNotificationBuilder(Context context, PushNotificationBuilder notificationBuilder);
PushManager类定义的静态方法,为富媒体通知设置样式;用法和自定义通知样式相似。
自定义通知Builder-- BasicPushNotificationBuilder
BasicPushNotificationBuilder();
自定义通知状态栏构建类构造函数(定制通知栏基础样式) 。
自定义通知Builder-- CustomPushNotificationBuilder
CustomPushNotificationBuilder(layoutId, layoutIconId, layoutTitleId, layoutTextId);
自定义通知状态栏构建类构造函数(定制通知栏基础样式及layout)。
layoutId :自定义layout资源id
layoutIconId :自定义layout中显示icon 的id
layoutTitleId :自定义layout中显示标题的id
layoutTextId :自定义layout中显示内容的id
设置通知flags-- setNotificationFlags
public void setNotificationFlags (int flags);
基类PushNotificationBuilder定义的方法,定制 Android Notification 里的flags。
flags :Android Notification flags
设置通知defaults-- setNotificationDefaults
public void setNotificationDefaults (int defaults);
基类PushNotificationBuilder定义的方法,定制 Android Notification 里的defaults。
defaults :Android Notification defaults
设置通知状态栏icon-- setStatusbarIcon
public void setStatusbarIcon (int icon);
基类PushNotificationBuilder类定义的方法,定制 Android Notification通知状态栏的icon图标。
icon :图标资源id
设置通知样式图片-- setLayoutDrawable
public void setLayoutDrawable(int drawableId);
CustomPushNotificationBuilder类定义的方法,定制自定义layout中显示的图片。
drawableId :图标资源id
设置通知样式声音-- setNotificationSound
public void setNotificationSound(String soundId);
CustomPushNotificationBuilder类定义的方法,自定义推送的声音。
soundId :声音资源路径
开启调试模式-- enableDebugMode
public static void enableDebugMode(boolean debugEnabled);
PushSettings类定义的方法,开启调试模式,会输出调试Log。
注意:发布应用时,请不要开启调试模式,否则会降低Push性能。
debugEnabled :true打开调试模式,false关闭调试模式。
开启精确LBS推送模式-- enableLbs
public static void enableLbs(Context context);
PushManager类定义的方法,开启精确LBS推送模式,覆盖最近半小时内在指定区域出现过的终端。
Context :android app运行上下文
关闭精确LBS推送模式-- disableLbs
public static void disableLbs(Context context);
PushManager类定义的方法,关闭精确LBS推送模式,关闭后,服务端将无法有效发送基于地理位置的定向推送。
Context :android app运行上下文
获取绑定请求的结果-- onBind
public void onBind(Context context, int errorCode, String appid, String userId, String channelId, String requestId);
PushMessageReceiver的抽象方法,把receiver类继承PushMessageReceiver可以使用。调用PushManager.startWork后,sdk将对push server发起绑定请求,这个过程是异步的。绑定请求的结果通过onBind返回。
如果您需要用单播推送,需要把这里获取的channel id和user id上传到应用server中,再调用server接口用channel id和user id给单个手机或者用户推送。
BroadcastReceiver的执行Context
errorCode 绑定接口返回值,0 - 成功
应用id,errorCode非0时为null
应用user id,errorCode非0时为null
应用channel id,errorCode非0时为null
requestId 向服务端发起的请求id,在追查问题时有用
接收透传消息的函数-- onMessage
public void onMessage(Context context, String message, String customContentString);
PushMessageReceiver的抽象方法,把receiver类继承PushMessageReceiver可以使用。接收透传消息。
context 上下文
message 推送的消息
customContentString 自定义内容,为空或者json字符串
接收通知点击的函数-- onNotificationClicked
public void onNotificationClicked(Context context, String title, String description, String customContentString)
PushMessageReceiver的抽象方法,把receiver类继承PushMessageReceiver可以使用。接收通知点击的函数。
context 上下文
title 推送的通知的标题
description 推送的通知的描述
customContentString 自定义内容,为空或者json字符串
接收通知到达的函数-- onNotificationArrived
public void onNotificationArrived(Context context, String title, String description, String customContentString)
PushMessageReceiver的抽象方法,把receiver类继承PushMessageReceiver可以使用。接收通知到达的函数。
context 上下文
title 推送的通知的标题
description 推送的通知的描述
customContentString 自定义内容,为空或者json字符串
public void onSetTags(Context context, int errorCode, List sucessTags, List failTags, String requestId);
PushMessageReceiver的抽象方法,把receiver类继承PushMessageReceiver可以使用。setTags() 的回调函数。
context 上下文
errorCode 错误码,0表示某些tag已经设置成功,非0表示所有tag的设置均失败
successTags 设置成功的tag
failTags 设置失败的tag
requestId 分配给对云推送的请求的id
public void onDelTags(Context context, int errorCode, List sucessTags, List failTags, String requestId)
PushMessageReceiver的抽象方法,把receiver类继承PushMessageReceiver可以使用。delTags() 的回调函数。
context 上下文
errorCode 错误码。0表示某些tag已经删除成功;非0表示所有tag均删除失败
successTags 成功删除的tag
failTags 删除失败的tag
requestId 分配给对云推送的请求的id
public void onListTags(Context context, int errorCode, List tags, String requestId);
PushMessageReceiver的抽象方法,把receiver类继承PushMessageReceiver可以使用。listTags() 的回调函数。
context 上下文
错误码。0表示列举tag成功;非0表示失败
tags 当前应用设置的所有tag
requestId 分配给对云推送的请求的id
stopWork的回调函数-- onUnbind
public void onUnbind(Context context, int errorCode, String requestId);
PushMessageReceiver的抽象方法,把receiver类继承PushMessageReceiver可以使用。PushManager.stopWork() 的回调函数。
context 上下文
errorCode 错误码,0表示从云推送解绑定成功,非0表示失败
requestId 分配给对云推送的请求的id
渠道号设置
通过AndroidManifest.xml中静态设置渠道号,如:
&meta-data android:name="BaiduPush_CHANNEL" android:value="91 " />
Android SDK的常量定义都在PushConstants类中。
如:Push发送给应用的Action的常量,都是String类型
ACTION_MESSAGE
接收消息时使用。
ACTION_RECEIVE
获取方法调用的返回值,包括绑定、设置Tag、删除Tag等方法。
ACTION_RECEIVER_NOTIFICATION_CLICK
通知点击事件的截获。
注意:通知发出时,应用从Intent中获取Extra的常量,均为String类型
EXTRA_PUSH_MESSAGE_STRING
消息内容,在ACTION_MESSAGE中使用。Extra获取方法
intent.getStringExtra(PushConstants.EXTRA_PUSH_MESSAGE_STRING)
EXTRA_METHOD
方法名,在ACTION_RECEIVE中使用。Extra获取方法
intent.getStringExtra(PushConstants.EXTRA_METHOD)
EXTRA_ERROR_CODE
方法错误码,在ACTION_RECEIVE中使用。Extra获取方法
intent.getIntExtra(PushConstants.EXTRA_ERROR_CODE)
EXTRA_CONTENT
方法返回内容,在ACTION_RECEIVE中使用。Extra获取方法
intent.getByteArrayExtra(PushConstants.EXTRA_CONTENT)
EXTRA_NOTIFICATION_TITLE
通知标题,在ACTION_RECEIVER_NOTIFICATION_CLICK中使用。Extra获取方法
intent.getStringExtra(PushConstants.EXTRA_NOTIFICATION_TITLE)
EXTRA_NOTIFICATION_CONTENT
通知内容,在ACTION_RECEIVER_NOTIFICATION_CLICK中使用。Extra获取方法
intent.getStringExtra(PushConstants.ACTION_RECEIVER_NOTIFICATION_CLICK)
方法名常量,都是String类型
绑定方法名,在EXTRA_METHOD中取得的值是这三者之一。}

我要回帖

更多关于 极光推送 混淆 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信