推送监听接口
添加推送监听
功能说明
- 添加推送监听,消息下发到设备,可根据推送监听进行业务逻辑操作
- 自定义消息到达(透传消息)、通知消息到达、通知栏消息点击、增删别名、增删标签事件。
参数说明
参数 |
类型 |
描述 |
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);
推送服务接口
获取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() {
@Override
public void onCallback(String registrationId) {
...
}
});
获取TCP状态
功能说明
参数说明
参数 |
类型 |
描述 |
callback |
MobPushCallback |
获取TCP连接状态:true 在线;false 不在线 |
示例代码
/**
* com.mob.pushsdk.MobPushCallback
*/
public static void checkTcpStatus(MobPushCallback callback)
MobPush.checkTcpStatus(new MobPushCallback() {
@Override
public void onCallback(Boolean aBoolean) {
...
}
});
推送服务状态
功能说明
参数说明
参数 |
类型 |
描述 |
callback |
MobPushCallback |
获取推送服务状态:true是已停止;false是未停止 |
示例代码
/**
* com.mob.pushsdk.MobPushCallback
*/
public static void isPushStopped(MobPushCallback callback)
MobPush.isPushStopped(new MobPushCallback() {
@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[] |
需要删除的标签 |
示例代码
/**
* 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() {
@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() {
@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() {
@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常见问题文档
参数说明
/**
* 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)
获取显示通知的最大条数
功能说明
参数说明
参数 |
类型 |
描述 |
callback |
MobPushCallback |
通知栏最大显示通知条数回调 |
示例代码
/**
* com.mob.pushsdk.MobPush.class
*/
public static int getNotificationMaxCount(MobPushCallback callback)
MobPush.getNotificationMaxCount(new MobPushCallback() {
@Override
public void onCallback(Integer integer) {
//显示通知最大条数
...
}
});
通知权限接口
打开通知轮询开关
功能说明
- MobPush只会在初始化的时候更新记录的通知权限状态。如需要实时更新,可调用该方法。
示例代码
/**
* com.mob.pushsdk.MobPush.class
*/
public static void startNotificationMonitor()
MobPush.startNotificationMonitor();
关闭通知轮询开关
功能说明
示例代码
/**
* com.mob.pushsdk.MobPush.class
*/
public static void stopNotificationMonitor()
MobPush.stopNotificationMonitor();
其它接口
统计厂商点击数(重要)
功能说明
- 统计厂商通道下发通知的点击数,如不设置,无法准确统计到厂商通道下发通知的点击数,建议加上。不设置仅影响厂商通道的点击数,不影响MobPush通道点击数统计。
参数说明
参数 |
类型 |
描述 |
intent |
Intent |
获得启动当前活动时的Intent内容 |
示例代码
/**
* com.mob.pushsdk.MobPush.class
*/
public static void notificationClickAck(Intent intent)
MobPush.notificationClickAck(getIntent());
设置区域
支持版本
功能说明
参数说明
参数 |
类型 |
描述 |
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 指定页面跳转最佳实现
安卓推送消息数据解析推荐实现
备注:官方下载Demo