推送监听接口
添加推送监听
功能说明
添加推送监听,消息下发到设备,可根据推送监听进行业务逻辑操作
自定义消息到达(透传消息)、通知消息到达、通知栏消息点击、增删别名、增删标签事件。
参数说明
参数 类型 描述
mobPushReceiver MobPushReceiver 注册推送监听
示例代码
/**

  • import com.mob.pushsdk.MobPushReceiver;
    */

public static void addPushReceiver(MobPushReceiver mobPushReceiver)
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    已添加的标签集合
        //operation    0:获取标签 1:设置标签 2:删除标签
        //errorCode    0:操作成功 其它:操作失败
        ...
    }

    @Override
    public void onAliasCallback(Context context, String alias, int operation, int errorCode) {
        //别名操作回调
        //alias    对应的别名
        //operation    0:获取别名 1:设置别名 2:删除别名
        //errorCode    0:操作成功 其它:操作失败
        ...
    }

};

MobPush.addPushReceiver(mobPushReceiver);
注销推送监听
功能说明
注销推送监听,在应用销毁时调用注销函数,注销已添加过的推送监听。
参数说明
参数 类型 描述
mobPushReceiver MobPushReceiver 注销推送监听
示例代码
/**

  • import com.mob.pushsdk.MobPushReceiver;
    */

public static void removePushReceiver(MobPushReceiver mobPushReceiver)
MobPush.removePushReceiver(mobPushReceiver);
转发厂商消息
功能说明
MobPush 4.6.14+版本,对推送回调进行了整合,TCP消息和厂商均可以在MobPushReceiver处理,需要注意的是,解析intent位置需要进行消息转发, 也可以参考最佳实践模块
参数说明
参数 类型 描述
Intent Intent 厂商消息解析页面的Intent
示例代码
public static void parseManufacturerMessage(final Intent var0)
MobPush.parseManufacturerMessage(getIntent());
推送服务接口
获取RegistrationId
功能说明
RegistrationId是MobPush SDK初始化成功后,MobPush给每个设备分配的唯一标识(同一个手机不同App的RegistrationId不同),开发者可以通过指定RegistrationId给单一设备发送推送。
参数说明
参数 类型 描述
callback MobPushCallback 获取唯一标识RegistrationId
示例代码
/**

  • com.mob.pushsdk.MobPushCallback
    */

public static void getRegistrationId(MobPushCallback callback)
MobPush.getRegistrationId(new MobPushCallback<String>() {

  @Override
  public void onCallback(String registrationId) {
  ...   
  }

});
获取厂商token
功能说明
厂商token是厂商推送SDK初始化成功后给设备分配的唯一标识,可通过此方法获取token。
参数说明
参数 类型 描述
callback MobPushCallback 获取手机对应厂商token
示例代码
/**

  • com.mob.pushsdk.MobPushCallback
    */

public static void getDeviceToken(MobPushCallback callback)
MobPush.getDeviceToken(new MobPushCallback<String>() {

  @Override
  public void onCallback(String token) {
  ...   
  }

});
获取TCP状态
功能说明
获取TCP状态 ,判断TCP状态是否正常。
参数说明
参数 类型 描述
callback MobPushCallback 获取TCP连接状态:true 在线;false 不在线
示例代码
/**

  • com.mob.pushsdk.MobPushCallback
    */

public static void checkTcpStatus(MobPushCallback callback)
MobPush.checkTcpStatus(new MobPushCallback<Boolean>() {

  @Override
  public void onCallback(Boolean aBoolean) {
  ...
  }

});
推送服务状态
功能说明
检查推送服务是否停止使用。
参数说明
参数 类型 描述
callback MobPushCallback 获取推送服务状态:true是已停止;false是未停止
示例代码
/**

  • com.mob.pushsdk.MobPushCallback
    */

public static void isPushStopped(MobPushCallback callback)
MobPush.isPushStopped(new MobPushCallback<Boolean>() {

  @Override
  public void onCallback(Boolean isStopped) {
  ...
  }

});
停止推送服务
功能说明
停止推送服务,调用后设备不可以接收推送消息。
示例代码
/**

  • com.mob.pushsdk.MobPush
    */

public static void stopPush()
MobPush.stopPush();
重启推送服务
功能说明
推送服务是停止状态,可以使用重启接口恢复推送服务,可以正常接收推送消息。
示例代码
/**

  • com.mob.pushsdk.MobPush
    */

public static void restartPush()
MobPush.restartPush();
别名接口
设置别名 API
功能说明
设置别名;别名是唯一的,与RegistrationId为一对一关系。如多次调用,会以最后一次设置为准,进行覆盖;可在推送监听API中的onAliasCallback回调函数查看状态是否设置成功。
别名支持:字母(区分大小写)、数字、下划线、汉字、特殊字符@!#$&*+=.|。
参数说明
参数 类型 描述
alias String 需要设置的别名
示例代码
/**

  • com.mob.pushsdk.MobPush
    */

public static void setAlias(String alias)
MobPush.setAlias("别名");
获取别名
功能说明
获取别名;调用该函数后,可在推送监听API中的onAliasCallback回调函数中查看RegistrationId对应的别名。
示例代码
/**

  • com.mob.pushsdk.MobPush
    */

public static void getAlias()
MobPush.getAlias();
删除别名
功能说明
删除别名;调用该函数后,可在推送监听API中的onAliasCallback回调函数查看状态是否设置删除别名成功。
示例代码
/**

  • com.mob.pushsdk.MobPush
    */

public static void deleteAlias()
MobPush.deleteAlias();
标签接口
添加标签
功能说明
添加标签;标签可以添加多个,每次调用都会在原来的基础上进行追加。可在推送监听API中的onTagsCallback回调函数查看状态是否添加成功。
标签支持:字母(区分大小写)、数字、下划线、汉字、特殊字符@!#$&*+=.|。
参数说明
参数 类型 描述
tags String[] 需要添加的标签
示例代码
/**

  • com.mob.pushsdk.MobPush
    */

public static void addTags(String[] tags)
MobPush.addTags(new String[]{"标签1", "标签2"});
获取标签
功能说明
获取标签;调用该函数后,可在推送监听API中的onTagsCallback回调函数中查看RegistrationId对应的所有标签。
示例代码
/**

  • com.mob.pushsdk.MobPush
    */

public static void getTags()
MobPush.getTags();
删除标签
功能说明
删除标签;调用该函数后,可在推送监听API中的onTagsCallback回调函数查看状态是否删除标签成功。
参数说明
参数 类型 描述
tags String[] 需要删除的标签
String[] tags标签数组
示例代码
/**

  • com.mob.pushsdk.MobPush
    */

public static void deleteTags(String[] tags)
MobPush.deleteTags(new String[]{"删除标签1", "删除标签2"});
清空标签
功能说明
清空标签;调用该函数后,可在推送监听API中的onTagsCallback回调函数查看状态是否清空标签成功。
示例代码
/**

  • com.mob.pushsdk.MobPush
    */

public static void cleanTags()
MobPush.cleanTags();
本地通知接口
发送本地通知
功能说明
发送本地通知。不通过服务器推送,客户端主动发送通知。
参数说明
参数 类型 描述
localNotification MobPushLocalNotification 本地通知对象
callback MobPushCallback 本地通知回调
示例代码
/**

  • com.mob.pushsdk.MobPush
    */

public static boolean addLocalNotification(MobPushLocalNotification localNotification, MobPushCallback callback)
MobPushLocalNotification localNotification = new MobPushLocalNotification();
localNotification.setTitle("本地通知标题");
localNotification.setContent("本地通知内容");
localNotification.setNotificationId(123);
...
MobPush.addLocalNotification(localNotification, new MobPushCallback<Boolean>() {

  @Override
  public void onCallback(Boolean aBoolean) {
  //true成功;false失败
  ...
  }

});
移除本地通知
功能说明
针对已经发送的本地通知消息进行移除。
参数说明
参数 类型 描述
lnotificationId MobPushLocalNotification 本地通知对象
callback MobPushCallback 本地通知回调
示例代码
/**

  • com.mob.pushsdk.MobPush
    */

public static boolean removeLocalNotification(int lnotificationId, MobPushCallback callback)
MobPushLocalNotification localNotification = new MobPushLocalNotification();
localNotification.setNotificationId(123);
...
int lnotificationId = localNotification.getNotificationId();
MobPush.removeLocalNotification(lnotificationId, new MobPushCallback<Boolean>() {

    @Override
    public void onCallback(Boolean aBoolean) {
    //true成功;false失败
    ...
    }
});

清空本地通知
功能说明
清空本地通知。
参数说明
参数 类型 描述
callback MobPushCallback 本地通知回调
示例代码
/**

  • com.mob.pushsdk.MobPush.class
    */
    public static boolean clearLocalNotifications(MobPushCallback callback)

MobPush.clearLocalNotifications(new MobPushCallback<Boolean>() {

    @Override
    public void onCallback(Boolean aBoolean) {
    //true成功;false失败
    ...
    }
});

角标接口
设置是否显示角标
功能说明
设置是否显示角标,用于接收通知时显示角标数量。
参数说明
参数 类型 描述
isShowBadge Boolean 状态:true显示;false不显示;默认:true
示例代码
/**

  • com.mob.pushsdk.MobPush.class
    */

public static void setShowBadge(Boolean isShowBadge)
MobPush.setShowBadge(true);
设置显示角标数
功能说明
设置显示的角标数,用户可根据自己的逻辑进行设置。支持角标功能可参考:Android常见问题文档
参数说明
参数 类型 描述
counts int 角标数
/**

  • com.mob.pushsdk.MobPush.class
    */

public static void setBadgeCounts(int counts)
示例代码

MobPush.setBadgeCounts(0);
通知栏接口
设置显示通知的最大条数
功能说明
针对通知栏显示的通知最大条数进行设置,设置值需要大于0,默认最大是5条。
参数说明
参数 类型 描述
count int 通知栏最大显示通知条数
示例代码
/**

  • com.mob.pushsdk.MobPush.class
    */

public static void setNotificationMaxCount(int count)
MobPush.setNotificationMaxCount(count)
获取显示通知的最大条数
功能说明
获取通知栏显示的通知最大条数,默认最大是5条。
参数说明
参数 类型 描述
callback MobPushCallback 通知栏最大显示通知条数回调
示例代码
/**

  • com.mob.pushsdk.MobPush.class
    */

public static int getNotificationMaxCount(MobPushCallback callback)
MobPush.getNotificationMaxCount(new MobPushCallback<Integer>() {

                @Override
                public void onCallback(Integer integer) {
                //显示通知最大条数
                ...
                }
            });

通知权限接口
通知权限判断接口
功能说明
判断通知权限是否打开(4.6.17版本开始支持)
示例代码
/**

  • com.mob.pushsdk.MobPush.class
    */

public static void isNotificationsEnabled(MobPushCallback callback)
MobPush.isNotificationsEnabled(new MobPushCallback<Boolean>() {

        @Override
        public void onCallback(Boolean data) {
            //主线程回调
            //返回true表示该应用正常开始通知权限 false表示应用未开启通知权限
            Log.e("AAAAAAAAAAAAAAAAAAAAA","isNotificationsEnabled:" + data);
        }
    });

打开通知轮询开关
功能说明
MobPush只会在初始化的时候更新记录的通知权限状态。如需要实时更新,可调用该方法。
示例代码
/**

  • com.mob.pushsdk.MobPush.class
    */

public static void startNotificationMonitor()
MobPush.startNotificationMonitor();
关闭通知轮询开关
功能说明
关闭通知权限轮询开关。
示例代码
/**

  • com.mob.pushsdk.MobPush.class
    */

public static void stopNotificationMonitor()
MobPush.stopNotificationMonitor();
个性化参数接口
绑定个性化参数
功能说明
绑定个性化参数(4.6.18版本开始支持)
个性化参数名称限制:不可为空,仅支持英文和数字,长度限制10个字符
个性化参数值限制:不可为空,仅支持英文和数字,长度限制10个字符
参数说明
参数 类型 描述
map Map< String, String > 绑定的个性化参数,key为个性化参数名称,value为个性化参数值
callback MobPushCallback 绑定个性化参数的回调
示例代码
/**

  • com.mob.pushsdk.MobPush.class
    */

public static void bindPersonalizedParams(final Map<String, String> map, final MobPushCallback<MobPushResult> callback)
Map<String, String> map = new HashMap<>();
map.put("key","value");
MobPush.bindPersonalizedParams(map, new MobPushCallback<MobPushResult>() {

                @Override
                public void onCallback(MobPushResult data) {
                    //回调结果中Code=0为成功,Code=1为部分成功(message中包含失败的参数),其他为失败的code
                    Toast.makeText(MobSDK.getContext(), "绑定个性通知参数含义返回结果:" + data, Toast.LENGTH_SHORT).show();
                }
            });

解绑个性化参数
功能说明
解绑个性化参数(4.6.18版本开始支持)
参数说明
参数 类型 描述
unBindCustom String[] 解绑的个性化参数,值为个性化参数名称
callback MobPushCallback 解绑个性化参数的回调
示例代码
/**

  • com.mob.pushsdk.MobPush.class
    */
    public static void unBindPersonalizedParams(final String[] unBindCustom, final MobPushCallback<MobPushResult> callback)

String[] unBindCustom = {"key1","key2"};
MobPush.unBindPersonalizedParams(unBindCustom, new MobPushCallback<MobPushResult>() {

                @Override
                public void onCallback(MobPushResult data) {
                    //回调结果中Code=0为成功,Code=1为部分成功(message中包含失败的参数),其他为失败的code
                    Toast.makeText(MobSDK.getContext(), "解绑个性通知参数返回结果:" + data, Toast.LENGTH_SHORT).show();
                }
            });

清空个性化参数
功能说明
清空个性化参数(4.6.18版本开始支持)
参数说明
参数 类型 描述
callback MobPushCallback 清空个性化参数的回调
示例代码
/**

  • com.mob.pushsdk.MobPush.class
    */
    public static void clearPersonalizedParams(final MobPushCallback<MobPushResult> callback)

MobPush.clearPersonalizedParams(new MobPushCallback<MobPushResult>() {

                @Override
                public void onCallback(MobPushResult data) {
                    //回调结果中Code=0为成功,其他为失败的code
                    Toast.makeText(MobSDK.getContext(), "清空个性通知参数返回结果:" + data, Toast.LENGTH_SHORT).show();
                }
            });

其它接口
统计厂商点击数(重要)
功能说明
统计厂商通道下发通知的点击数,如不设置,无法准确统计到厂商通道下发通知的点击数,建议加上。不设置仅影响厂商通道的点击数,不影响MobPush通道点击数统计。
参数说明
参数 类型 描述
intent Intent 获得启动当前活动时的Intent内容
示例代码
/**

  • com.mob.pushsdk.MobPush.class
    */

public static void notificationClickAck(Intent intent)
MobPush.notificationClickAck(getIntent());
设置区域
支持版本
支持3.x版本
功能说明
客户端默认是国内版,如有需求可设置海外区域域名。
参数说明
参数 类型 描述
domainAbroad int 国内区域:0,海外区域:1
示例代码
/**

  • com.mob.pushsdk.MobPush.class
    */

public static void setDomainAbroad(int domainAbroad)
MobPush.setDomainAbroad(1);
点击通知是否启动主页
功能说明
设置点击通知是否启动主页。默认为启动。
参数说明
参数 类型 描述
isLaunch Boolean 状态:true是启动;false是不启动
示例代码
/**

  • com.mob.pushsdk.MobPush.class
    */

public static void setClickNotificationToLaunchMainActivity(Boolean isLaunch)
MobPush.setClickNotificationToLaunchMainActivity(true);
设置通知勿扰静音
功能说明
设置静音时段。几点几分开始到几点几分结束,这段时间属于静音时间段,接收到推送时,提醒类型属于静音状态。
参数说明
参数 类型 描述
startHour int 开始静音时间(时)
startMinute int 开始静音时间(分)
endHour int 结束静音时间(时)
endMinute int 结束静音时间(分)
示例代码
/**

  • com.mob.pushsdk.MobPush.class
    */

public static void setSilenceTime(int startHour, int startMinute, int endHour, int endMinute)
MobPush.setSilenceTime(20, 0, 0, 0);//设置静音时间段晚上20:00到00:00
定向推送能力
MobPush默认会为您提供定向推送能力,如您想停用此能力,可在终端用户接受隐私条款后调用如下代码进行处理:

MobStrategy.setStrategy(42)
如需恢复,则传参1即可:

MobStrategy.setStrategy(1)
依照不同的版本,此代码最迟可能在下次冷启动后生效

功能自定义和扩展
具体可参考下面文档:
MobPush 指定页面跳转最佳实现

安卓推送消息数据解析推荐实现


中关村科金
136 声望13 粉丝

北京中关村科金技术有限公司(简称“中关村科金”)是国内领先的对话式AI技术解决方案提供商,成立于2014年,注册资本14亿元,总部位于北京,在上海、重庆、深圳、杭州、成都等地设有分支机构,公司规模近千人,其...