推送监听接口
添加推送监听
功能说明
- 添加推送监听,消息下发到设备,可根据推送监听进行业务逻辑操作
- 自定义消息到达(透传消息)、通知消息到达、通知栏消息点击、增删别名、增删标签事件。
参数说明
| 参数 | 类型 | 描述 |
|---|
| mobPushReceiver | MobPushReceiver | 注册推送监听 |
示例代码
public static void addPushReceiver(MobPushReceiver mobPushReceiver)
MobPushReceiver mobPushReceiver = new MobPushReceiver() {
@Override
public void onCustomMessageReceive(Context context, MobPushCustomMessage message) {
message.getMessageId();
message.getContent();
...
}
@Override
public void onNotifyMessageReceive(Context context, MobPushNotifyMessage message) {
message.getMobNotifyId();
message.getMessageId();
message.getTitle();
message.getContent();
...
}
@Override
public void onNotifyMessageOpenedReceive(Context context, MobPushNotifyMessage message) {
message.getMobNotifyId();
message.getMessageId();
message.getTitle();
message.getContent();
...
}
@Override
public void onTagsCallback(Context context, String[] tags, int operation, int errorCode) {
...
}
@Override
public void onAliasCallback(Context context, String alias, int operation, int errorCode) {
...
}
};
MobPush.addPushReceiver(mobPushReceiver);
注销推送监听
功能说明
- 注销推送监听,在应用销毁时调用注销函数,注销已添加过的推送监听。
参数说明
| 参数 | 类型 | 描述 |
|---|
| mobPushReceiver | 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 |
示例代码
public static void getRegistrationId(MobPushCallback callback)
MobPush.getRegistrationId(new MobPushCallback<String>() {
@Override
public void onCallback(String registrationId) {
...
}
});
获取厂商token
功能说明
- 厂商token是厂商推送SDK初始化成功后给设备分配的唯一标识,可通过此方法获取token。
参数说明
| 参数 | 类型 | 描述 |
|---|
| callback | MobPushCallback | 获取手机对应厂商token |
示例代码
public static void getDeviceToken(MobPushCallback callback)
MobPush.getDeviceToken(new MobPushCallback<String>() {
@Override
public void onCallback(String token) {
...
}
});
获取TCP状态
功能说明
参数说明
| 参数 | 类型 | 描述 |
|---|
| callback | MobPushCallback | 获取TCP连接状态:true 在线;false 不在线 |
示例代码
public static void checkTcpStatus(MobPushCallback callback)
MobPush.checkTcpStatus(new MobPushCallback<Boolean>() {
@Override
public void onCallback(Boolean aBoolean) {
...
}
});
推送服务状态
功能说明
参数说明
| 参数 | 类型 | 描述 |
|---|
| callback | MobPushCallback | 获取推送服务状态:true是已停止;false是未停止 |
示例代码
public static void isPushStopped(MobPushCallback callback)
MobPush.isPushStopped(new MobPushCallback<Boolean>() {
@Override
public void onCallback(Boolean isStopped) {
...
}
});
停止推送服务
功能说明
示例代码
public static void stopPush()
MobPush.stopPush();
重启推送服务
功能说明
- 推送服务是停止状态,可以使用重启接口恢复推送服务,可以正常接收推送消息。
示例代码
public static void restartPush()
MobPush.restartPush();
别名接口
设置别名 API
功能说明
- 设置别名;别名是唯一的,与RegistrationId为一对一关系。如多次调用,会以最后一次设置为准,进行覆盖;可在推送监听API中的onAliasCallback回调函数查看状态是否设置成功。
- 别名支持:字母(区分大小写)、数字、下划线、汉字、特殊字符@!#$&*+=.|。
参数说明
示例代码
public static void setAlias(String alias)
MobPush.setAlias("别名");
获取别名
功能说明
- 获取别名;调用该函数后,可在推送监听API中的onAliasCallback回调函数中查看RegistrationId对应的别名。
示例代码
public static void getAlias()
MobPush.getAlias();
删除别名
功能说明
- 删除别名;调用该函数后,可在推送监听API中的onAliasCallback回调函数查看状态是否设置删除别名成功。
示例代码
public static void deleteAlias()
MobPush.deleteAlias();
标签接口
添加标签
功能说明
- 添加标签;标签可以添加多个,每次调用都会在原来的基础上进行追加。可在推送监听API中的onTagsCallback回调函数查看状态是否添加成功。
- 标签支持:字母(区分大小写)、数字、下划线、汉字、特殊字符@!#$&*+=.|。
参数说明
| 参数 | 类型 | 描述 |
|---|
| tags | String[] | 需要添加的标签 |
示例代码
public static void addTags(String[] tags)
MobPush.addTags(new String[]{"标签1", "标签2"});
获取标签
功能说明
- 获取标签;调用该函数后,可在推送监听API中的onTagsCallback回调函数中查看RegistrationId对应的所有标签。
示例代码
public static void getTags()
MobPush.getTags();
删除标签
功能说明
- 删除标签;调用该函数后,可在推送监听API中的onTagsCallback回调函数查看状态是否删除标签成功。
参数说明
| 参数 | 类型 | 描述 |
|---|
| tags | String[] | 需要删除的标签 |
示例代码
public static void deleteTags(String[] tags)
MobPush.deleteTags(new String[]{"删除标签1", "删除标签2"});
清空标签
功能说明
- 清空标签;调用该函数后,可在推送监听API中的onTagsCallback回调函数查看状态是否清空标签成功。
示例代码
public static void cleanTags()
MobPush.cleanTags();
本地通知接口
发送本地通知
功能说明
- 发送本地通知。不通过服务器推送,客户端主动发送通知。
参数说明
| 参数 | 类型 | 描述 |
|---|
| localNotification | MobPushLocalNotification | 本地通知对象 |
| callback | MobPushCallback | 本地通知回调 |
示例代码
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) {
...
}
});
移除本地通知
功能说明
参数说明
| 参数 | 类型 | 描述 |
|---|
| lnotificationId | MobPushLocalNotification | 本地通知对象 |
| callback | MobPushCallback | 本地通知回调 |
示例代码
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) {
...
}
});
清空本地通知
功能说明
参数说明
| 参数 | 类型 | 描述 |
|---|
| callback | MobPushCallback | 本地通知回调 |
示例代码
public static boolean clearLocalNotifications(MobPushCallback callback)
MobPush.clearLocalNotifications(new MobPushCallback<Boolean>() {
@Override
public void onCallback(Boolean aBoolean) {
...
}
});
角标接口
设置是否显示角标
功能说明
参数说明
| 参数 | 类型 | 描述 |
|---|
| isShowBadge | Boolean | 状态:true显示;false不显示;默认:true |
示例代码
public static void setShowBadge(Boolean isShowBadge)
MobPush.setShowBadge(true);
设置显示角标数
功能说明
参数说明
public static void setBadgeCounts(int counts)
示例代码
MobPush.setBadgeCounts(0)
通知栏接口
设置显示通知的最大条数
功能说明
- 针对通知栏显示的通知最大条数进行设置,设置值需要大于0,默认最大是5条。
参数说明
| 参数 | 类型 | 描述 |
|---|
| count | int | 通知栏最大显示通知条数 |
示例代码
public static void setNotificationMaxCount(int count)
MobPush.setNotificationMaxCount(count)
获取显示通知的最大条数
功能说明
参数说明
| 参数 | 类型 | 描述 |
|---|
| callback | MobPushCallback | 通知栏最大显示通知条数回调 |
示例代码
public static int getNotificationMaxCount(MobPushCallback callback)
MobPush.getNotificationMaxCount(new MobPushCallback<Integer>() {
@Override
public void onCallback(Integer integer) {
...
}
});
通知权限接口
通知权限判断接口
功能说明
示例代码
public static void isNotificationsEnabled(MobPushCallback callback)
MobPush.isNotificationsEnabled(new MobPushCallback<Boolean>() {
@Override
public void onCallback(Boolean data) {
Log.e("AAAAAAAAAAAAAAAAAAAAA","isNotificationsEnabled:" + data);
}
});
打开通知轮询开关
功能说明
- MobPush只会在初始化的时候更新记录的通知权限状态。如需要实时更新,可调用该方法。
示例代码
public static void startNotificationMonitor()
MobPush.startNotificationMonitor();
关闭通知轮询开关
功能说明
示例代码
public static void stopNotificationMonitor()
MobPush.stopNotificationMonitor();
个性化参数接口
绑定个性化参数
功能说明
- 绑定个性化参数(4.6.18版本开始支持)
- 个性化参数名称限制:不可为空,仅支持英文和数字,长度限制10个字符
- 个性化参数值限制:不可为空,仅支持英文和数字,长度限制10个字符
参数说明
| 参数 | 类型 | 描述 |
|---|
| map | Map< String, String > | 绑定的个性化参数,key为个性化参数名称,value为个性化参数值 |
| callback | MobPushCallback | 绑定个性化参数的回调 |
示例代码
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) {
Toast.makeText(MobSDK.getContext(), "绑定个性通知参数含义返回结果:" + data, Toast.LENGTH_SHORT).show();
}
});
解绑个性化参数
功能说明
参数说明
| 参数 | 类型 | 描述 |
|---|
| unBindCustom | String[] | 解绑的个性化参数,值为个性化参数名称 |
| callback | MobPushCallback | 解绑个性化参数的回调 |
示例代码
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) {
Toast.makeText(MobSDK.getContext(), "解绑个性通知参数返回结果:" + data, Toast.LENGTH_SHORT).show();
}
});
清空个性化参数
功能说明
参数说明
| 参数 | 类型 | 描述 |
|---|
| callback | MobPushCallback | 清空个性化参数的回调 |
示例代码
public static void clearPersonalizedParams(final MobPushCallback<MobPushResult> callback)
MobPush.clearPersonalizedParams(new MobPushCallback<MobPushResult>() {
@Override
public void onCallback(MobPushResult data) {
Toast.makeText(MobSDK.getContext(), "清空个性通知参数返回结果:" + data, Toast.LENGTH_SHORT).show();
}
});
其它接口
统计厂商点击数(重要)
功能说明
- 统计厂商通道下发通知的点击数,如不设置,无法准确统计到厂商通道下发通知的点击数,建议加上。不设置仅影响厂商通道的点击数,不影响MobPush通道点击数统计。
参数说明
| 参数 | 类型 | 描述 |
|---|
| intent | Intent | 获得启动当前活动时的Intent内容 |
示例代码
public static void notificationClickAck(Intent intent)
MobPush.notificationClickAck(getIntent());
设置区域
支持版本
功能说明
参数说明
| 参数 | 类型 | 描述 |
|---|
| domainAbroad | int | 国内区域:0,海外区域:1 |
示例代码
public static void setDomainAbroad(int domainAbroad)
MobPush.setDomainAbroad(1);
点击通知是否启动主页
功能说明
参数说明
| 参数 | 类型 | 描述 |
|---|
| isLaunch | Boolean | 状态:true是启动;false是不启动 |
示例代码
public static void setClickNotificationToLaunchMainActivity(Boolean isLaunch)
MobPush.setClickNotificationToLaunchMainActivity(true);
设置通知勿扰静音
功能说明
- 设置静音时段。几点几分开始到几点几分结束,这段时间属于静音时间段,接收到推送时,提醒类型属于静音状态。
参数说明
| 参数 | 类型 | 描述 |
|---|
| startHour | int | 开始静音时间(时) |
| startMinute | int | 开始静音时间(分) |
| endHour | int | 结束静音时间(时) |
| endMinute | int | 结束静音时间(分) |
示例代码
public static void setSilenceTime(int startHour, int startMinute, int endHour, int endMinute)
MobPush.setSilenceTime(20, 0, 0, 0);
定向推送能力
MobPush默认会为您提供定向推送能力,如您想停用此能力,可在终端用户接受隐私条款后调用如下代码进行处理:
MobStrategy.setStrategy(42)
如需恢复,则传参1即可:
MobStrategy.setStrategy(1)
依照不同的版本,此代码最迟可能在下次冷启动后生效
功能自定义和扩展
具体可参考下面文档:
MobPush 指定页面跳转最佳实现
安卓推送消息数据解析推荐实现
备注: 官方下载Demo