推送监听接口 (addPushReceiver)
描述:添加推送监听,可监听接收到的自定义消息(透传消息)、通知消息、通知栏点击事件、别名和标签变更操作。
/**
 * com.mob.pushsdk.MobPush.class
 * MobPush推送监听接口
 * @param receiver 监听
 */
public static void addPushReceiver(MobPushReceiver receiver) 
示例代码
MobPushReceiver mobPushReceiver = new MobPushReceiver() {@Overridepublic void onCustomMessageReceive(Context context, MobPushCustomMessage message) {//接收到自定义消息(透传消息)message.getMessageId();//获取任务IDmessage.getContent();//获取推送内容}@Overridepublic void onNotifyMessageReceive(Context context, MobPushNotifyMessage message) {//接收到通知消息message.getMobNotifyId();//获取消息IDmessage.getMessageId();//获取任务IDmessage.getTitle();//获取推送标题message.getContent();//获取推送内容}@Overridepublic void onNotifyMessageOpenedReceive(Context context, MobPushNotifyMessage message) {//通知被点击事件message.getMobNotifyId();//获取消息IDmessage.getMessageId();//获取任务IDmessage.getTitle();//获取推送标题message.getContent();//获取推送内容}@Overridepublic void onTagsCallback(Context context, String[] tags, int operation, int errorCode) {//标签操作回调//tags: RegistrationId已添加的标签//operation: 0获取标签 1设置标签 2删除标签//errorCode: 0操作成功 非0操作失败}@Overridepublic void onAliasCallback(Context context, String alias, int operation, int errorCode) {//别名操作回调//alias: RegistrationId对应的别名//operation: 0获取别名 1设置别名 2删除别名//errorCode: 0操作成功 非0操作失败}}; 
移除推送监听接口 (removePushReceiver)
描述:移除通知监听,与addPushReceiver()对应,添加推送监听后,在关闭界面时调用进行移除,移除之前添加过的推送监听。
/**
 * com.mob.pushsdk.MobPush.class
 * 移除Push监听接口
 * @param receiver 监听
 */
 public static void removePushReceiver(MobPushReceiver receiver) 
示例代码
MobPush.removePushReceiver(receiver); 
获取注册Id (getRegistrationId)
描述:获取注册id。RegistrationId是MobPush针对不同用户生成的唯一标识符,可通过RegistrationId向用户推送消息。
/**
 * com.mob.pushsdk.MobPush.class
 * 获取注册id 
 * @param callback 回调
 */
 public static void getRegistrationId(MobPushCallback<String>callback) 
示例代码
MobPush.getRegistrationId(new MobPushCallback<String>() {@Overridepublic void onCallback(String s) {Log.i(TAG, "RegistrationId: "+s);}
 }); 
设置别名 (setAlias)
描述:设置别名。别名是唯一的,与RegistrationId为一对一关系。如多次调用,会以最后一次设置为准,进行覆盖;是否设置成功,会在addPushReceiver()->MobPushReceiver-> onAliasCallback(Context context, String alias, int operation, int errorCode)中进行回调返回。当operation为0时,表示获取别名操作;当operation为1时,表示设置别名操作;当operation为2时,表示删除别名操作。当errorCode为0时,表示操作成功;当errorCode非0时,表示操作失败。别名支持:字母(区分大小写)、数字、下划线、汉字、特殊字符@!#$&*+=.|。
/**
 * com.mob.pushsdk.MobPush.class
 * 设置别名
 * @param alias 想要设置的别名
 */
 public static void setAlias(String alias) 
示例代码
MobPush.setAlias("想要设置的别名"); 
删除别名 (deleteAlias)
描述:删除别名。是否删除成功,会在addPushReceiver()->MobPushReceiver-> onAliasCallback(Context context, String alias, int operation, int errorCode)中进行回调返回。当operation为0时,表示获取别名操作;当operation为1时,表示设置别名操作;当operation为2时,表示删除别名操作。当errorCode为0时,表示操作成功;当errorCode非0时,表示操作失败。
/**
 * com.mob.pushsdk.MobPush.class
 * 删除别名
 */
 public static void deleteAlias() 
示例代码
MobPush.deleteAlias(); 
获取别名 (getAlias)
描述:获取别名。是否获取成功,会在addPushReceiver()->MobPushReceiver-> onAliasCallback(Context context, String alias, int operation, int errorCode)中进行回调返回。当operation为0时,表示获取别名操作;当operation为1时,表示设置别名操作;当operation为2时,表示删除别名操作。当errorCode为0时,表示操作成功;当errorCode非0时,表示操作失败。
/**
 * com.mob.pushsdk.MobPush.class
 * 获取别名
 */
 public static void getAlias() 
示例代码
MobPush.getAlias(); 
添加标签 (addTags)
描述:添加标签。标签可以添加多个,每次调用都会在原来的基础上进行追加。是否获取成功,会在addPushReceiver()->MobPushReceiver-> onTagsCallback(Context context, String[] tags, int operation, int errorCode)中进行回调返回。当operation为0时,表示获取标签操作;当operation为1时,表示设置标签操作;当operation为2时,表示删除标签操作。当errorCode为0时,表示操作成功;当errorCode非0时,表示操作失败。标签支持:字母(区分大小写)、数字、下划线、汉字、特殊字符@!#$&*+=.|。
/**
 * com.mob.pushsdk.MobPush.class
 * 添加标签
 * @param tags想要添加的标签
 */
 public static void addTags(String[] tags) 
示例代码
MobPush.addTags(new String[]{"想要添加的标签1", "想要添加的标签2"}); 
删除标签 (deleteTags)
描述:删除标签。是否获取成功,会在addPushReceiver()->MobPushReceiver-> onTagsCallback(Context context, String[] tags, int operation, int errorCode)中进行回调返回。当operation为0时,表示获取标签操作;当operation为1时,表示设置标签操作;当operation为2时,表示删除标签操作。当errorCode为0时,表示操作成功;当errorCode非0时,表示操作失败。
/**
 * com.mob.pushsdk.MobPush.class
 * 添加标签
 * @param tags想要删除的标签
 */
 public static void deleteTags(String[] tags) 
示例代码
MobPush.deleteTags(new String[]{"想要删除的标签1", "想要删除的标签2"}); 
获取标签 (getTags)
描述:获取标签。是否获取成功,会在addPushReceiver()->MobPushReceiver-> onTagsCallback(Context context, String[] tags, int operation, int errorCode)中进行回调返回。当operation为0时,表示获取标签操作;当operation为1时,表示设置标签操作;当operation为2时,表示删除标签操作。当errorCode为0时,表示操作成功;当errorCode非0时,表示操作失败。
/**
 * com.mob.pushsdk.MobPush.class
 * 获取标签
 */
 public static void getTags() 
示例代码
MobPush.getTags(); 
清空标签 (cleanTags)
描述:清空标签。是否清空成功,会在addPushReceiver()->MobPushReceiver-> onTagsCallback(Context context, String[] tags, int operation, int errorCode)中进行回调返回。当operation为0时,表示获取标签操作;当operation为1时,表示设置标签操作;当operation为2时,表示删除标签操作。当errorCode为0时,表示操作成功;当errorCode非0时,表示操作失败。
/**
 * com.mob.pushsdk.MobPush.class
 * 清空标签
 */
 public static void cleanTags() 
示例代码
MobPush.cleanTags(); 
设置静音时段 (setSilenceTime)
描述:设置静音时段。几点几分开始到几点几分结束,这段时间属于静音时间段,接收到推送时,提醒类型属于静音状态。
/**
 * com.mob.pushsdk.MobPush.class
 * 设置静音时段
 * @param startHour 开始静音时间(时)
 * @param startMinute开始静音时间(分)
 * @param endHour结束静音时间(时)
 * @param endMinute 结束静音时间(分)
 */
 public static void setSilenceTime(int startHour, int startMinute, int endHour, intendMinute) 
示例代码
MobPush.setSilenceTime(20, 0, 0, 0);//设置静音时间段晚上20:00到00:00 
添加本地通知 (addLocalNotification)
描述:添加本地通知。不通过服务器推送,客户端主动发送通知。
/**
 * com.mob.pushsdk.MobPush.class
 * 添加本地通知
 * @param localNotification 本地通知
 * @returntrue 添加成功 false添加失败
 */
 public static boolean addLocalNotification(MobPushLocalNotification localNotification) 
示例代码
MobPushLocalNotification localNotification = new MobPushLocalNotification();
 localNotification.setTitle("本地通知标题");
 localNotification.setContent("本地通知内容");...
 MobPush.addLocalNotification(localNotification); 
移除本地通知 (removeLocalNotification)
描述:移除本地通知。
/**
 * com.mob.pushsdk.MobPush.class
 * 移除本地通知
 * @param lnotificationId 本地通知ID
 * @returntrue 移除成功 false移除失败
 */
 public static boolean removeLocalNotification(int lnotificationId) 
示例代码
MobPush.removeLocalNotification(想要移除的本地通知ID); 
清空本地通知 (clearLocalNotifications)
描述:清空本地通知。
/**
 * com.mob.pushsdk.MobPush.class
 * 清空本地通知
 * @returntrue 清空成功 false清空失败
 */
 public static boolean clearLocalNotifications() 
示例代码
MobPush.clearLocalNotifications(); 
推送服务是否已停止 (isPushStopped)
描述:推送服务是已否停止。
/**
 * com.mob.pushsdk.MobPush.class
 * 推送服务是否已停止
 * @returntrue 已停止 false未停止
 */
 public static boolean isPushStopped() 
示例代码
MobPush.isPushStopped(); 
停止推送服务 (stopPush)
描述:停止推送服务,不继续接收推送。
/**
 * com.mob.pushsdk.MobPush.class
 * 停止推送服务
 */
 public static void stopPush() 
示例代码
MobPush.stopPush(); 
重启推送服务 (restartPush)
描述:推送服务停止后,重新启动推送服务。
/**
 * com.mob.pushsdk.MobPush.class
 * 重启推送服务
 */
 public static void restartPush() 
示例代码
MobPush.restartPush(); 
点击通知是否启动主页 (setClickNotificationToLaunchMainActivity)
描述:设置点击通知是否启动默认页。默认为启动。
/**
 * com.mob.pushsdk.MobPush.class
 * 设置点击通知是否启动主页
 * @param isLaunch 是否启动默认页 true打开 false不打开
 */
 public static void setClickNotificationToLaunchMainActivity(boolean isLaunch) 
示例代码
MobPush.setClickNotificationToLaunchMainActivity(true); 
设置通知图标 (setNotifyIcon)
描述:设置通知图标。通知默认使用应用图标,调用此方法来修改通知图标。
/**
 * com.mob.pushsdk.MobPush.class
 * 设置通知图标
 * @param icon 通知图标
 */
 public static void setNotifyIcon(int icon) 
示例代码
MobPush.setNotifyIcon(R.mipmap.ic_launcher); 
设置是否显示角标 (setShowBadge)
描述:设置是否显示角标,用于接收通知时显示角标数量。
/**
 * com.mob.pushsdk.MobPush.class
 * 设置是否显示角标
 * @param isShowBadge 是否显示角标 true显示 false不显示
 */
 public static void setShowBadge(boolean isShowBadge) 
示例代码
MobPush.setShowBadge(true); 
设置显示角标数 (setBadgeCounts)
描述:设置显示的角标数,需要用户根据自己的逻辑设置。
/**
 * com.mob.pushsdk.MobPush.class
 *设置显示的角标数
 *@param counts 角标数
 */
 public static void setBadgeCounts(int counts) 
示例代码
MobPush.setBadgeCounts(0); 
统计厂商点击数 (重要notificationClickAck)
描述:统计厂商通道下发通知的点击数,如不设置,无法准确统计到厂商通道下发通知的点击数,建议加上。不设置仅影响厂商通道的点击数,不影响MobPush通道点击数统计。
/**
 * com.mob.pushsdk.MobPush.class
 *统计厂商点击数
 *@param intent 上下文
 */
public static void notificationClickAck(Intent intent) 
示例代码
MobPush.notificationClickAck(getIntent()); 
设置通知栏显示的最大通知条数 (setNotificationMaxCount)
描述:通知栏显示的最大通知条数, 需大于0。
/**
 * com.mob.pushsdk.MobPush.class
 *设置通知栏显示的最大通知条数
 *@param count 最大通知条数
 */
 public static void setNotificationMaxCount(int count) 
示例代码
MobPush.setNotificationMaxCount(5) 
获取设置的通知栏显示通知的最大条数 (getNotificationMaxCount)
描述:通知栏显示的最大通知条数
/**
 * com.mob.pushsdk.MobPush.class
 * 获取设置的通知栏显示通知的最大条数
 *@return设置的具体条数
 */
 public static int getNotificationMaxCount() 
示例代码
MobPush.getNotificationMaxCount() 
获取TCP状态 (checkTcpStatus)
描述:获取TCP状态 判断TCP状态是否正常
/**
 * com.mob.pushsdk.MobPush.class
 * 获取TCP状态
 * @param callback 回调
 */
 public static void checkTcpStatus(MobPushCallback callback) 
示例代码
MobPush.checkTcpStatus(new MobPushCallback<Boolean>() {@Overridepublic void onCallback(Boolean o) {Log.i(TAG, "checkTcpStatus:"+o);}
 }); 
打开轮询开关 (startNotificationMonitor)
描述:MobPush只会在初始化的时候更新记录的通知权限状态。如需要实时更新,可调用该方法:
/**
 * com.mob.pushsdk.MobPush.class
 * 打开轮询开关
 */
 public static void startNotificationMonitor() 
示例代码
MobPush.startNotificationMonitor(); 
关闭轮询开关 (stopNotificationMonitor)
描述:关闭权限轮询开关
/**
 * com.mob.pushsdk.MobPush.class
 * 关闭轮询开关
 */
public static void stopNotificationMonitor() 
示例代码
MobPush.stopNotificationMonitor(); 
功能自定义和扩展
scheme跳转
前言:此功能仅仅是针对push的一些使用场景而进行自定义设定。比如,通知被点击的时候:
通过scheme设置配置跳转
首先现在Manifest文件中进行目标Activity的uri设置,如下:
<activityandroid:name=".LinkActivity"><intent-filter><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><dataandroid:host="com.mob.mobpush.link"android:scheme="mlink" /></intent-filter>
</activity> 
在Mob后台进行推送时,通过scheme://host的格式,例如mlink://com.mob.mobpush.link,如下位置填入:
配置好之后,推送就App就可以接收到推送直接打开指定的Activity界面了,建议统一设置一个中转页,根据传递参数后再进行跳转。
获取回调的参数详情
1、当app显示在前台的时候,会触发MobPushReceiver的onNotifyMessageOpenedReceive方法,MobPushNotifyMessage参数则是回调的通知详情,可以根据回调参数进行处理;
2、当app进程杀掉的时候,点击通知后拉起应用的启动页面,会触发启动Activity的OnCreate或OnNewIntent方法,通过getIntent方法拿到回传的Intent,可以拿到通知详情;
此方式可以配合方式一跳转具体页面做为中转页面使用,MobPush提供了统一的方法来获取
//通过scheme跳转详情页面可选择此方式
JSONArray var = new JSONArray();
var =MobPushUtils.parseSchemePluginPushIntent(getIntent());
//跳转首页可选择此方式
JSONArray var2 = new JSONArray();
var2 = MobPushUtils.parseMainPluginPushIntent(getIntent()); 
最后
整理了75个JS高频面试题,并给出了答案和解析,基本上可以保证你能应付面试官关于JS的提问。
 
 
 
 
有需要的小伙伴,可以点击下方卡片领取,无偿分享



















