写点什么

MobPush Android 端 SDK API

  • 2024-07-23
    上海
  • 本文字数:6890 字

    阅读完需:约 23 分钟

MobPush Android端 SDK API

推送监听接口

添加推送监听

功能说明

  • 添加推送监听,消息下发到设备,可根据推送监听进行业务逻辑操作

  • 自定义消息到达(透传消息)、通知消息到达、通知栏消息点击、增删别名、增删标签事件。

参数说明

示例代码

/** * 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);
复制代码

注销推送监听

功能说明

  • 注销推送监听,在应用销毁时调用注销函数,注销已添加过的推送监听。

参数说明

示例代码

/** * import com.mob.pushsdk.MobPushReceiver; */public static void removePushReceiver(MobPushReceiver mobPushReceiver)
复制代码


MobPush.removePushReceiver(mobPushReceiver);
复制代码

转发厂商消息

功能说明

  • MobPush 4.6.14+版本,对推送回调进行了整合,TCP 消息和厂商均可以在 MobPushReceiver 处理,需要注意的是,解析 intent 位置需要进行消息转发, 也可以参考最佳实践模块

参数说明

示例代码

public static void parseManufacturerMessage(final Intent var0)
复制代码


MobPush.parseManufacturerMessage(getIntent());
复制代码

推送服务接口

获取 RegistrationId

功能说明

  • RegistrationId 是 MobPush SDK 初始化成功后,MobPush 给每个设备分配的唯一标识(同一个手机不同 App 的 RegistrationId 不同),开发者可以通过指定 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。

参数说明

示例代码

/** * com.mob.pushsdk.MobPushCallback */public static void getDeviceToken(MobPushCallback  callback)
复制代码


MobPush.getDeviceToken(new MobPushCallback<String>() {      @Override      public void onCallback(String token) {      ...         }});
复制代码

获取 TCP 状态

功能说明

  • 获取 TCP 状态 ,判断 TCP 状态是否正常。

参数说明

示例代码

/** * com.mob.pushsdk.MobPushCallback */public static void checkTcpStatus(MobPushCallback callback)
复制代码


MobPush.checkTcpStatus(new MobPushCallback<Boolean>() {      @Override      public void onCallback(Boolean aBoolean) {      ...      } });
复制代码

推送服务状态

功能说明

  • 检查推送服务是否停止使用。

参数说明

示例代码

/** * 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 回调函数查看状态是否设置成功。

  • 别名支持:字母(区分大小写)、数字、下划线、汉字、特殊字符 @!#$&*+=.|。

参数说明

示例代码

/** * 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 回调函数查看状态是否添加成功。

  • 标签支持:字母(区分大小写)、数字、下划线、汉字、特殊字符 @!#$&*+=.|。

参数说明

示例代码

/** * 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 回调函数查看状态是否删除标签成功。

参数说明

  • 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();
复制代码

本地通知接口

发送本地通知

功能说明

  • 发送本地通知。不通过服务器推送,客户端主动发送通知。

参数说明

示例代码

/** * 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失败      ...      }  });
复制代码

移除本地通知

功能说明

  • 针对已经发送的本地通知消息进行移除。

参数说明

示例代码

/** * 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失败        ...        }    });
复制代码

清空本地通知

功能说明

  • 清空本地通知。

参数说明

示例代码

/** * com.mob.pushsdk.MobPush.class */ public static boolean clearLocalNotifications(MobPushCallback callback)
复制代码


MobPush.clearLocalNotifications(new MobPushCallback<Boolean>() {        @Override        public void onCallback(Boolean aBoolean) {        //true成功;false失败        ...        }    });
复制代码

角标接口

设置是否显示角标

功能说明

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

参数说明

示例代码

/** * com.mob.pushsdk.MobPush.class */public static void setShowBadge(Boolean isShowBadge)
复制代码


MobPush.setShowBadge(true);
复制代码

设置显示角标数

功能说明

  • 设置显示的角标数,用户可根据自己的逻辑进行设置。支持角标功能可参考:Android常见问题文档

参数说明


/** * com.mob.pushsdk.MobPush.class */public static void setBadgeCounts(int counts)
复制代码

示例代码

MobPush.setBadgeCounts(0);
复制代码

通知栏接口

设置显示通知的最大条数

功能说明

  • 针对通知栏显示的通知最大条数进行设置,设置值需要大于 0,默认最大是 5 条。

参数说明

示例代码

/** * com.mob.pushsdk.MobPush.class */public static void setNotificationMaxCount(int count)
复制代码


MobPush.setNotificationMaxCount(count)
复制代码

获取显示通知的最大条数

功能说明

  • 获取通知栏显示的通知最大条数,默认最大是 5 条。

参数说明

示例代码

/** * 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 个字符

参数说明

示例代码

/** * 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 版本开始支持)

参数说明

示例代码

/** * 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 版本开始支持)

参数说明

示例代码

/** * 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 通道点击数统计。

参数说明

示例代码

/** * com.mob.pushsdk.MobPush.class */public static void notificationClickAck(Intent intent)
复制代码


MobPush.notificationClickAck(getIntent());
复制代码

设置区域

支持版本

  • 支持 3.x 版本

功能说明

  • 客户端默认是国内版,如有需求可设置海外区域域名。

参数说明

示例代码

/** * com.mob.pushsdk.MobPush.class */public static void setDomainAbroad(int  domainAbroad)
复制代码


MobPush.setDomainAbroad(1);
复制代码

点击通知是否启动主页

功能说明

  • 设置点击通知是否启动主页。默认为启动。

参数说明

示例代码

/** * com.mob.pushsdk.MobPush.class */public static void setClickNotificationToLaunchMainActivity(Boolean isLaunch)
复制代码


MobPush.setClickNotificationToLaunchMainActivity(true);
复制代码

设置通知勿扰静音

功能说明

  • 设置静音时段。几点几分开始到几点几分结束,这段时间属于静音时间段,接收到推送时,提醒类型属于静音状态。

参数说明

示例代码

/** * 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 指定页面跳转最佳实现

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

备注:官方下载Demo

发布于: 刚刚阅读数: 4
用户头像

还未添加个人签名 2019-05-08 加入

还未添加个人简介

评论

发布
暂无评论
MobPush Android端 SDK API_开发者_MobTech袤博科技_InfoQ写作社区