首页 > 其他分享 >MobPush for SDK API

MobPush for SDK API

时间:2022-11-30 18:01:41浏览次数:73  
标签:标签 void API MobPush mob operation public SDK

推送监听接口 (addPushReceiver)

描述:添加推送监听,可监听接收到的自定义消息(透传消息)、通知消息、通知栏点击事件、别名和标签变更操作。

/**
* com.mob.pushsdk.MobPush.class
* MobPush推送监听接口
* @param receiver 监听
*/
public static void addPushReceiver(MobPushReceiver receiver)

示例代码

MobPushReceiver mobPushReceiver = new MobPushReceiver() {

@Override
public void onCustomMessageReceive(Context context, MobPushCustomMessage message) {
//接收到自定义消息(透传消息)
message.getMessageId();//获取任务ID
message.getContent();//获取推送内容
}

@Override
public void onNotifyMessageReceive(Context context, MobPushNotifyMessage message) {
//接收到通知消息
message.getMobNotifyId();//获取消息ID
message.getMessageId();//获取任务ID
message.getTitle();//获取推送标题
message.getContent();//获取推送内容
}

@Override
public void onNotifyMessageOpenedReceive(Context context, MobPushNotifyMessage message) {
//通知被点击事件
message.getMobNotifyId();//获取消息ID
message.getMessageId();//获取任务ID
message.getTitle();//获取推送标题
message.getContent();//获取推送内容
}

@Override
public void onTagsCallback(Context context, String[] tags, int operation, int errorCode) {
//标签操作回调
//tags: RegistrationId已添加的标签
//operation: 0获取标签 1设置标签 2删除标签
//errorCode: 0操作成功 非0操作失败
}

@Override
public 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>() {
@Override
public 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, int endMinute)

示例代码

MobPush.setSilenceTime(20, 0, 0, 0);//设置静音时间段晚上20:00到00:00

添加本地通知 (addLocalNotification)

描述:添加本地通知。不通过服务器推送,客户端主动发送通知。

/**
* com.mob.pushsdk.MobPush.class
* 添加本地通知
* @param localNotification 本地通知
* @return true 添加成功 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
* @return true 移除成功 false移除失败
*/
public static boolean removeLocalNotification(int lnotificationId)

示例代码

MobPush.removeLocalNotification(想要移除的本地通知ID);

清空本地通知 (clearLocalNotifications)

描述:清空本地通知。

/**
* com.mob.pushsdk.MobPush.class
* 清空本地通知
* @return true 清空成功 false清空失败
*/
public static boolean clearLocalNotifications()

示例代码

MobPush.clearLocalNotifications();

推送服务是否已停止 (isPushStopped)

描述:推送服务是已否停止。

/**
* com.mob.pushsdk.MobPush.class
* 推送服务是否已停止
* @return true 已停止 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>() {
@Override
public 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设置,如下:

<activity
android:name=".LinkActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="com.mob.mobpush.link"
android:scheme="mlink" />
</intent-filter>
</activity>

在Mob后台进行推送时,通过scheme://host的格式,例如mlink://com.mob.mobpush.link,如下位置填入:

MobPush for SDK API_示例代码

配置好之后,推送就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());

可参考官方​​demo​

标签:标签,void,API,MobPush,mob,operation,public,SDK
From: https://blog.51cto.com/u_14192352/5900094

相关文章

  • uniApp安卓离线SDK运行
    一、下载uniapp提供的离线SDK包下载地址:https://nativesupport.dcloud.net.cn/AppDocs/download/android版本:2022年09月26日发布——HBuilderX(3.6.4.20220922)二、下载An......
  • 个人微信api
    E云是一套完整的的第三方服务平台,包含微信API服务、企微API服务、SCRM系统定制、企微系统定制、服务类软件定制等模块,本文档主要讲述个微API服务相关,以下简称API,它能处理......
  • 新增api后current.txt更新问题
    在新增api后,进行系统编译前,需要先在系统中使用make命令,对current.txt进行自动更新。(1)android低版本,新增api直接编译,会出现入下异常:******************************Y......
  • Dubbo -注解方式和Api方式
    注解方式服务端<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema......
  • ArcObjects SDK开发 008 从mxd地图文件说起
    1、Mxd文件介绍ArcGIS的地图文件为.mxd扩展名。Mxd文件的是有版本的,和ArcGIS的版本对应。可以在ArcMap中的File-SaveACopy,保存一个地图拷贝的时候选择Mxd文件的版本,支持......
  • API网关【gateway 】- 1
    最近在公司进行API网关重写,公司内采用serverMesh进行服务注册,调用,这里结合之前学习对API网关服务进行简单的总结与分析。网关的单节点场景:网关的多节点场景:这里的多节点是根......
  • API网关【gateway 】- 2
    最近在公司进行API网关重写,公司内采用serverMesh进行服务注册,调用,这里结合之前学习对API网关服务进行简单的总结与分析。由于采用了大量的nginx相关的东西,所以在此记录一下:......
  • UPEK API 代码
     UPEKAPI代码 usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text......
  • Spring Boot + @Async 太好用了,助你大大提升 API 并发能力!
    来源:https://developer.aliyun.com/article/694020异步调用几乎是处理高并发Web应用性能问题的万金油,那么什么是“异步调用”?“异步调用”对应的是“同步调用”,同步调用......
  • .net core .net6 webapi 连接mysql 8
    1.表结构:CREATETABLE`table2`(`id`BIGINTNOTNULLAUTO_INCREMENT,`myname`varchar(255)NOTNULL,`create_time`DATETIMENOTNULL,PRIMARYKEY(`......