0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MobPush丨Android端SDK API

MobTech科技派 来源:MobTech科技派 作者:MobTech科技派 2022-08-11 16:10 次阅读

推送监听接口 (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  callback)

示例代码

MobPush.getRegistrationId(new MobPushCallback() {
            @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() {
      @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设置,如下:


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

poYBAGL0uWGAcVEsAACod9V_49I153.png

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

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Android
    +关注

    关注

    12

    文章

    3851

    浏览量

    125639
  • 接口
    +关注

    关注

    33

    文章

    7639

    浏览量

    148483
  • API
    API
    +关注

    关注

    2

    文章

    1382

    浏览量

    60991
  • SDK
    SDK
    +关注

    关注

    3

    文章

    966

    浏览量

    44696
收藏 人收藏

    评论

    相关推荐

    基于高通Vuforia SDK搭建Android版移动AR应用开发环境

    到Vuforia SDK中的C++ API时,则需要安装Android NDK,否则可以跳过这一步。安装步骤如下:首先从 http://developer.android.com/to
    发表于 09-20 10:13

    SDK API Reference Manual LPC546x

    SDK API Reference Manual LPC546xx,用户手册
    发表于 03-17 08:29 33次下载

    Android SDK 开发中文文档

    Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。Beta 版的 Android SDK 提供了在 Android 平台上使用 JaVa
    发表于 09-11 17:18 5次下载

    Android开发手册—API函数详解

    Android开发手册—API函数详解
    发表于 10-17 09:01 13次下载
    <b class='flag-5'>Android</b>开发手册—<b class='flag-5'>API</b>函数详解

    Android SDK 中文开发文档

    Android SDK 中文开发文档
    发表于 10-24 09:04 4次下载
    <b class='flag-5'>Android</b> <b class='flag-5'>SDK</b> 中文开发文档

    基于Android开发手册—API函数详解

    基于Android开发手册—API函数详解
    发表于 10-24 09:06 18次下载
    基于<b class='flag-5'>Android</b>开发手册—<b class='flag-5'>API</b>函数详解

    人体行为识别API接口aip-php-sdk-4.15.4

    人体行为识别API接口aip-php-sdk-4.15.4
    发表于 08-31 09:46 3次下载

    MobPush iOS端SDK API推送配置方法

    MobPush是MobTech推出的一款免费的推送服务工具,集成方便简单快捷,且提供完整的可视化数据和强大的管理后台。本文将详细介绍ios端推送配置方法。
    的头像 发表于 08-16 12:17 865次阅读
    <b class='flag-5'>MobPush</b> iOS端<b class='flag-5'>SDK</b> <b class='flag-5'>API</b>推送配置方法

    ESP8266 Non OS SDK API参考

    电子发烧友网站提供《ESP8266 Non OS SDK API参考.pdf》资料免费下载
    发表于 09-23 11:49 0次下载
    ESP8266 Non OS <b class='flag-5'>SDK</b> <b class='flag-5'>API</b>参考

    APISDK是什么?SDKAPI的区别

    SDK 就是 Software Development Kit 的缩写,翻译过来——软件开发工具包。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做SDK
    的头像 发表于 10-04 15:35 1805次阅读

    SDKAPI 在视频环境中的区别

    现在,视频API 或视频SDK 不一定是每个工具本身的一个类别。相反,它们是创建的APISDK,旨在帮助您与并非从头开始构建的视频平台进行交互和扩展。
    发表于 11-25 09:34 483次阅读

    MobPush Android SDK 厂商推送限制

    概述 厂商推送限制 每个厂商通道都有对应的厂商配额和 QPS 限制,当请求超过限制且已配置厂商回执时,MobPush会采取以下措施: 当开发者推送请求超过厂商配额时,MobPush将通过自有通道进行
    的头像 发表于 08-02 12:24 497次阅读
    <b class='flag-5'>MobPush</b> <b class='flag-5'>Android</b> <b class='flag-5'>SDK</b> 厂商推送限制

    Android推送问题排查技巧 针对MobPush安卓端推送问题的解决办法

    针对MobPush智能推送服务在使用过程中可能出现的问题,本文为各位开发者们带来了针对MobPush安卓端推送问题的解决办法。 TCP在线推送排查 排查TCP在线收不到推送时,我们先通过
    的头像 发表于 10-21 15:41 400次阅读
    <b class='flag-5'>Android</b>推送问题排查技巧  针对<b class='flag-5'>MobPush</b>安卓端推送问题的解决办法

    谷歌发布新的AI SDK,简化Gemini模型与Android应用程序的集成

    对于 Android 应用程序,Google 提供了 Google AI Client SDK for Android,它将 Gemini REST API 封装为惯用的 Kotlin
    的头像 发表于 01-03 16:29 529次阅读

    MobPush:Android SDK 集成指南

    MobPush是一款旨在提供一站式解决方案的智能推送开发者工具,可以有效提高用户参与度和粘性,从而带来更多的业务效益,以下是最新版MobPush: Android SDK集成指南。
    的头像 发表于 02-02 15:51 282次阅读
    <b class='flag-5'>MobPush</b>:<b class='flag-5'>Android</b> <b class='flag-5'>SDK</b> 集成指南