推送监听接口
添加推送监听
功能说明
- 添加推送监听,消息下发到设备,可根据推送监听进行业务逻辑操作
- 添加推送监听,消息下发到设备,可根据推送监听进行业务逻辑操作自定义消息到达(透传消息)、通知消息到达、通知栏消息点击、增删别名、增删标签事件。
参数说明
示例代码
/**
* 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)
依照不同的版本,此代码最迟可能在下次冷启动后生效。