• MobPush丨Android端SDK API


    推送监听接口 (addPushReceiver)

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

    /**
     * com.mob.pushsdk.MobPush.class
     * MobPush推送监听接口
     * @param receiver 监听
     */
    public static void addPushReceiver(MobPushReceiver receiver)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    示例代码

    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操作失败
            }
    
        };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44

    移除推送监听接口 (removePushReceiver)

    描述:移除通知监听,与addPushReceiver()对应,添加推送监听后,在关闭界面时调用进行移除,移除之前添加过的推送监听。

    /**
     * com.mob.pushsdk.MobPush.class
     * 移除Push监听接口
     * @param receiver 监听
     */
     public static void removePushReceiver(MobPushReceiver receiver)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    示例代码

    MobPush.removePushReceiver(receiver);
    
    • 1

    获取注册Id (getRegistrationId)

    描述:获取注册id。RegistrationId是MobPush针对不同用户生成的唯一标识符,可通过RegistrationId向用户推送消息。

    /**
     * com.mob.pushsdk.MobPush.class
     * 获取注册id 
     * @param callback 回调
     */
     public static void getRegistrationId(MobPushCallback  callback)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    示例代码

    MobPush.getRegistrationId(new MobPushCallback() {
                @Override
                public void onCallback(String s) {
                    Log.i(TAG, "RegistrationId: "+s);
                }
     });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    设置别名 (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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    示例代码

    MobPush.setAlias("想要设置的别名");
    
    • 1

    删除别名 (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()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    示例代码

    MobPush.deleteAlias();
    
    • 1

    获取别名 (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()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    示例代码

    MobPush.getAlias();
    
    • 1

    添加标签 (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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    示例代码

    MobPush.addTags(new String[]{"想要添加的标签1", "想要添加的标签2"});
    
    • 1

    删除标签 (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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    示例代码

    MobPush.deleteTags(new String[]{"想要删除的标签1", "想要删除的标签2"});
    
    • 1

    获取标签 (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()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    示例代码

    MobPush.getTags();
    
    • 1

    清空标签 (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()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    示例代码

    MobPush.cleanTags();
    
    • 1

    设置静音时段 (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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    示例代码

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

    添加本地通知 (addLocalNotification)

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

    /**
     * com.mob.pushsdk.MobPush.class
     * 添加本地通知
     * @param localNotification 本地通知
     * @return  true 添加成功 false添加失败
     */
     public static boolean addLocalNotification(MobPushLocalNotification localNotification)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    示例代码

    MobPushLocalNotification localNotification = new MobPushLocalNotification();
     localNotification.setTitle("本地通知标题");
     localNotification.setContent("本地通知内容");
            ...
    
     MobPush.addLocalNotification(localNotification);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    移除本地通知 (removeLocalNotification)

    描述:移除本地通知。

    /**
     * com.mob.pushsdk.MobPush.class
     * 移除本地通知
     * @param lnotificationId 本地通知ID
     * @return  true 移除成功 false移除失败
     */
     public static boolean removeLocalNotification(int lnotificationId)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    示例代码

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

    清空本地通知 (clearLocalNotifications)

    描述:清空本地通知。

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

    示例代码

    MobPush.clearLocalNotifications();
    
    • 1

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

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

    /**
     * com.mob.pushsdk.MobPush.class
     * 推送服务是否已停止
     * @return  true 已停止 false未停止
     */
     public static boolean isPushStopped()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    示例代码

    MobPush.isPushStopped();
    
    • 1

    停止推送服务 (stopPush)

    描述:停止推送服务,不继续接收推送。

    /**
     * com.mob.pushsdk.MobPush.class
     * 停止推送服务
     */
     public static void stopPush()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    示例代码

    MobPush.stopPush();
    
    • 1

    重启推送服务 (restartPush)

    描述:推送服务停止后,重新启动推送服务。

    /**
     * com.mob.pushsdk.MobPush.class
     * 重启推送服务
     */
     public static void restartPush()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    示例代码

    MobPush.restartPush();
    
    • 1

    点击通知是否启动主页 (setClickNotificationToLaunchMainActivity)

    描述:设置点击通知是否启动默认页。默认为启动。

    /**
     * com.mob.pushsdk.MobPush.class
     * 设置点击通知是否启动主页
     * @param isLaunch 是否启动默认页 true打开 false不打开
     */
     public static void setClickNotificationToLaunchMainActivity(boolean isLaunch)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    示例代码

    MobPush.setClickNotificationToLaunchMainActivity(true);
    
    • 1

    设置通知图标 (setNotifyIcon)

    描述:设置通知图标。通知默认使用应用图标,调用此方法来修改通知图标。

    /**
     * com.mob.pushsdk.MobPush.class
     * 设置通知图标
     * @param icon 通知图标
     */
     public static void setNotifyIcon(int icon)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    示例代码

    MobPush.setNotifyIcon(R.mipmap.ic_launcher);
    
    • 1

    设置是否显示角标 (setShowBadge)

    描述:设置是否显示角标,用于接收通知时显示角标数量。

    /**
     * com.mob.pushsdk.MobPush.class
     * 设置是否显示角标
     * @param isShowBadge 是否显示角标 true显示 false不显示
     */
     public static void setShowBadge(boolean isShowBadge)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    示例代码

    MobPush.setShowBadge(true);
    
    • 1

    设置显示角标数 (setBadgeCounts)

    描述:设置显示的角标数,需要用户根据自己的逻辑设置。

    /**
     * com.mob.pushsdk.MobPush.class
     *设置显示的角标数
     *@param counts 角标数
     */
     public static void setBadgeCounts(int counts)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    示例代码

    MobPush.setBadgeCounts(0);
    
    • 1

    统计厂商点击数 (重要notificationClickAck)

    描述:统计厂商通道下发通知的点击数,如不设置,无法准确统计到厂商通道下发通知的点击数,建议加上。不设置仅影响厂商通道的点击数,不影响MobPush通道点击数统计。

    /**
     * com.mob.pushsdk.MobPush.class
     *统计厂商点击数
     *@param intent 上下文
     */
    public static void notificationClickAck(Intent intent)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    示例代码

    MobPush.notificationClickAck(getIntent());
    
    • 1

    设置通知栏显示的最大通知条数 (setNotificationMaxCount)

    描述:通知栏显示的最大通知条数, 需大于0。

    /**
     * com.mob.pushsdk.MobPush.class
     *设置通知栏显示的最大通知条数
     *@param count 最大通知条数
     */
     public static void setNotificationMaxCount(int count)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    示例代码

    MobPush.setNotificationMaxCount(5)
    
    • 1

    获取设置的通知栏显示通知的最大条数 (getNotificationMaxCount)

    描述:通知栏显示的最大通知条数

    /**
     * com.mob.pushsdk.MobPush.class
     * 获取设置的通知栏显示通知的最大条数
     *@return  设置的具体条数
     */
     public static int getNotificationMaxCount()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    示例代码

    MobPush.getNotificationMaxCount()
    
    • 1

    获取TCP状态 (checkTcpStatus)

    描述:获取TCP状态 判断TCP状态是否正常

    /**
     * com.mob.pushsdk.MobPush.class
     * 获取TCP状态
     * @param callback 回调
     */
     public static void checkTcpStatus(MobPushCallback callback)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    示例代码

    MobPush.checkTcpStatus(new MobPushCallback() {
          @Override
          public void onCallback(Boolean o) {
              Log.i(TAG, "checkTcpStatus:"+o);
          }
     });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    打开轮询开关 (startNotificationMonitor)

    描述:MobPush只会在初始化的时候更新记录的通知权限状态。如需要实时更新,可调用该方法:

    /**
     * com.mob.pushsdk.MobPush.class
     * 打开轮询开关
     */
     public static void startNotificationMonitor()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    示例代码

    MobPush.startNotificationMonitor();
    
    • 1

    关闭轮询开关 (stopNotificationMonitor)

    描述:关闭权限轮询开关

    /**
     * com.mob.pushsdk.MobPush.class
     * 关闭轮询开关
     */
    public static void stopNotificationMonitor()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    示例代码

    MobPush.stopNotificationMonitor();
    
    • 1

    功能自定义和扩展

    scheme跳转

    前言:此功能仅仅是针对push的一些使用场景而进行自定义设定。比如,通知被点击的时候:

    通过scheme设置配置跳转

    首先现在Manifest文件中进行目标Activity的uri设置,如下:

    
        
            
            
            
        
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在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());
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    可参考官方demo

  • 相关阅读:
    如何获取高质量的微信私域客户?
    平方根倒数快速算法
    Docker 部署 PostgreSQL 服务
    vue2升级vue3指南(一)—— 环境准备和构建篇
    Dockerfile学习
    idea(第一次)启动项目,端口变成了8080
    《最新出炉》系列初窥篇-Python+Playwright自动化测试-22-处理select下拉框-上篇
    java项目之书店仓库管理系统(ssm源码+文档)
    「JAVA面试」半年多面试了20多家中大厂,谈谈如何准备面试?
    进程通信之共享内存
  • 原文地址:https://blog.csdn.net/apkkkk/article/details/126286528