MobPush for SDK API

news2025/1/22 12:55:16

推送监听接口 (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的提问。



有需要的小伙伴,可以点击下方卡片领取,无偿分享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/151669.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Databend 开源周报 #74

Databend 是一款强大的云数仓。专为弹性和高效设计&#xff0c;自由且开源。 即刻体验云服务&#xff1a;https://app.databend.com。 What’s New 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 Features & Improvements Meta watch client …

【Word2021交叉引用参考文献格式】

Word2021交叉引用参考文献格式1 格式分类2 格式设置方法2.1 引用单个参考文献2.2 引用连续两个参考文献2.3 引用连续三个及三个以上的参考文献1 格式分类 按照引用参考文献的数量&#xff0c;格式一般分为三种&#xff1a; 1、引用单个参考文献&#xff0c;样例&#xff1a;我…

Leetcode回溯法题解

第一题 17. 电话号码的字母组合 题目描述&#xff1a;给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按任意顺序返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 示例1&#xff1a;…

Linux yum 使用手册,以及内网源搭建

Linux yum 内网源搭建 序 在 Linux 中&#xff0c;我们经常安装各个开源网站编写的代码、软件&#xff0c;在安装的时候各个软件之间有各种依赖关系&#xff0c;还可能出现版本问题&#xff0c;比如 Centos7 支持的软件&#xff0c; Centos6 就未必支持。如果是 Java 开发应该…

ArcGIS基础实验操作100例--实验73创建闭合线内部缓冲区

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 高级编辑篇--实验73 创建闭合线内部缓冲区 目录 一、实验背景 二、实验数据 三、实验步骤 &#xff0…

K8S ReplicaSet 原理 示例 HPA扩容

K8S ReplicaSet 基本使用 K8S ReplicaSet 对象的作用是在任意时间点保持一组稳定的副本Pod运行&#xff0c;因此&#xff0c;它通常用于保证指定数量的相同Pod的可用性。乍一看&#xff0c; ReplicaSet 对象的定义跟 Replication Controller 并没有什么区别&#xff0c;都是维…

AI检测人员工衣工服着装不规范识别系统 yolo

AI检测人员工衣工服着装不规范识别系统基于opencvyolo网络深度学习模型对现场画面中人员着装穿戴实时监测分析。我们使用YOLO(你只看一次)算法进行对象检测。YOLO是一个聪明的卷积神经网络(CNN)&#xff0c;用于实时进行目标检测。该算法将单个神经网络应用于完整的图像&#x…

Vivado综合属性之SRL_STYLE

本文介绍综合属性SRL_STYLE取register、srl、srl_reg、reg_srl、reg_srl_reg和block中的值时&#xff0c;对Schematic的影响。 SRL_STYLE用于指导Vivado将SRL&#xff08;移位寄存器&#xff09;映射为何种形式。 目录 默认值 测试代码 原理图 SRL_STYLE配置为register …

【JavaSE】String类

目录 前言&#xff1a; 1.1、了解字符串构造方法 1.2、求字符串长度&#xff08;xxx.length()&#xff09; 1.3、isEmpty()方法 1.4、String对象的比较 1.4.1、通过&#xff08;str1 str2&#xff09;来比较&#xff0c;这样比较的是两个引用当中的地址 1.4.2、 boolea…

【ONE·C++ || vector (一)】

总言 学习笔记&#xff0c;慢慢补充。 文章目录总言1、整体介绍&#xff1a;2、常用各种接口介绍2.1、vector的基本结构&#xff1a;构造、析构、赋值2.1.1、总体情况预览2.1.2、各项函数使用演示2.2、vector增删查改相关2.2.1、增删查改总览2.2.2、如何在vector中插入、删除、…

Kotlin之使用协程编写高效的并发程序

文章目录1.协程的基本用法2.更多的作用域构建器3.使用协程简化回调的写法协程属于Kotlin中非常有特色的一项技术&#xff0c;因为大部分编程语言中是没有协程这个概念的。那么什么是协程呢&#xff1f;它其实和线程有点相似&#xff0c;可以简单地将它理解成一种轻量级的线程。…

Linux学习入门

1、Linux简介 操作系统分类&#xff1a;桌面操作系统、、服务器操作系统、移动端操作系统、嵌入式操作系统桌面操作系统主要针对个人电脑&#xff0c;Linux在桌面操作系统的应用主要有国产操作系统&#xff0c;Ubuntu。服务器操作系统有windows和linux以及苹果&#xff0c;主流…

微信小程序是如何实现快速编译的?

过往中小企业或技术团队开发一个 App 的时间成本和人力成本居高难下&#xff0c;但是随着微信上线小程序&#xff0c;更像是为这部分群体打开了一扇天窗&#xff0c;此后小程序呈现出井喷式发展的状态&#xff0c;不仅微信&#xff0c;支付宝、百度、抖音等超级 App 都跟上步伐…

线程进阶

常见的锁策略乐观锁 vs 悲观锁乐观锁&#xff1a;预测锁竞争不是很激烈悲观锁&#xff1a;预测锁竞争会很激烈轻量级锁 vs 重量级锁轻量级锁加锁解锁开销比较小&#xff0c;效率更高重量级锁加锁解锁开销比较大&#xff0c;效率更低多数情况下&#xff0c;乐观锁&#xff0c;也…

在CSDN年收入竟达五位数?----大学生技术自媒体成长之路

前言&#xff1a; Hello大家好&#xff0c;我是Dream。 还有不到两周就要过年了&#xff0c;自己也马上迈入了21岁&#xff0c;感慨时间飞快&#xff0c;从19岁开始入驻C站&#xff0c;到现在也已经整整两年了&#xff0c;把自己最好的两年青春时光留在了CSDN&#xff0c;超百万…

定义输出格式的使用-printf()函数

目录&#x1f4d6;printf()函数简介格式化规定符格式控制特殊规定字符示例printf()函数简介 printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。 printf()函数的调用格式为:printf("<格式化字符串>", <参量表>);这里看输出很简…

Lua入门学习

一、初识Lua脚本 Lua 是一种轻量小巧的脚本语言&#xff0c;用标准C语言编写并以源代码形式开放&#xff0c; 其设计目的是为了嵌入应用程序中&#xff0c;从而为应用程序提供灵活的扩展和定制功能。官网&#xff1a;https://www.lua.org/ 1、HelloWorld CentOS7默认已经安装…

什么是docker

文章目录简介Docker 架构特性局限Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中&#xff0c;然后发布到任何流行的 Linux或Windows操作系统的机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱机制&#xff0c…

〖产品思维训练白宝书 - 产品思维认知篇⑨〗- 像 产品经理 一样去思考解决问题

大家好&#xff0c;我是 哈士奇 &#xff0c;一位工作了十年的"技术混子"&#xff0c; 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区。 &#x1f4ac; 人生格言&#xff1a;优于别人,并不高贵,真正的高贵应该是优于过去的自己。&#x1f4ac; &#x1f4e…

数据结构:算法的初步认识

算法是解决特定问题求解步骤的描述&#xff0c;在计算机中表现为指令的有限序列&#xff0c;并且每条指令表示一个或多个操作。 什么是算法 要求你写一个求 123…100 结果的程序&#xff0c;你应该怎么写呢? 大多数人会马上写出下面的C语言代码(或者其他语言的代码): int a,…