推送监听接口 (addPushReceiver)
形容:增加推送监听,可监听接管到的自定义音讯 (透传音讯)、告诉音讯、告诉栏点击事件、别名和标签变更操作。
/**
* com.mob.pushsdk.MobPush.class
* MobPush 推送监听接口
* @param receiver 监听
*/
public static void addPushReceiver(MobPushReceiver receiver)
示例代码
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: RegistrationId 已增加的标签
//operation: 0 获取标签 1 设置标签 2 删除标签
//errorCode: 0 操作胜利 非 0 操作失败
}
@Override
public void onAliasCallback(Context context, String alias, int operation, int errorCode) {
// 别名操作回调
//alias: RegistrationId 对应的别名
//operation: 0 获取别名 1 设置别名 2 删除别名
//errorCode: 0 操作胜利 非 0 操作失败
}
};
移除推送监听接口 (removePushReceiver)
形容:移除告诉监听,与 addPushReceiver() 对应,增加推送监听后,在敞开界面时调用进行移除,移除之前增加过的推送监听。
/**
* com.mob.pushsdk.MobPush.class
* 移除 Push 监听接口
* @param receiver 监听
*/
public static void removePushReceiver(MobPushReceiver receiver)
示例代码
MobPush.removePushReceiver(receiver);
获取注册 Id (getRegistrationId)
形容:获取注册 id。RegistrationId 是 MobPush 针对不同用户生成的惟一标识符,可通过 RegistrationId 向用户推送音讯。
/**
* com.mob.pushsdk.MobPush.class
* 获取注册 id
* @param callback 回调
*/
public static void getRegistrationId(MobPushCallback<String> callback)
示例代码
MobPush.getRegistrationId(new MobPushCallback<String>() {
@Override
public void onCallback(String s) {Log.i(TAG, "RegistrationId:"+s);
}
});
设置别名 (setAlias)
形容:设置别名。别名是惟一的,与 RegistrationId 为一对一关系。如屡次调用,会以最初一次设置为准,进行笼罩;
是否设置胜利,会在 addPushReceiver()->MobPushReceiver-> onAliasCallback(Context context, String alias, int operation, int errorCode) 中进行回调返回。当 operation 为 0 时,示意获取别名操作;当 operation 为 1 时,示意设置别名操作;当 operation 为 2 时,示意删除别名操作。当 errorCode 为 0 时,示意操作胜利;当 errorCode 非 0 时,示意操作失败。别名反对:字母(辨别大小写)、数字、下划线、汉字、特殊字符 @!#$&*+=.|。
/**
* com.mob.pushsdk.MobPush.class
* 设置别名
* @param alias 想要设置的别名
*/
public static void setAlias(String alias)
示例代码
MobPush.setAlias("想要设置的别名");
删除别名 (deleteAlias)
形容:删除别名。是否删除胜利,会在 addPushReceiver()->MobPushReceiver-> onAliasCallback(Context context, String alias, int operation, int errorCode) 中进行回调返回。当 operation 为 0 时,示意获取别名操作;当 operation 为 1 时,示意设置别名操作;当 operation 为 2 时,示意删除别名操作。当 errorCode 为 0 时,示意操作胜利;当 errorCode 非 0 时,示意操作失败。
/**
* com.mob.pushsdk.MobPush.class
* 删除别名
*/
public static void deleteAlias()
示例代码
MobPush.deleteAlias();
获取别名 (getAlias)
形容:获取别名。是否获取胜利,会在 addPushReceiver()->MobPushReceiver-> onAliasCallback(Context context, String alias, int operation, int errorCode) 中进行回调返回。当 operation 为 0 时,示意获取别名操作;当 operation 为 1 时,示意设置别名操作;当 operation 为 2 时,示意删除别名操作。当 errorCode 为 0 时,示意操作胜利;当 errorCode 非 0 时,示意操作失败。
/**
* com.mob.pushsdk.MobPush.class
* 获取别名
*/
public static void getAlias()
示例代码
MobPush.getAlias();
增加标签 (addTags)
形容:增加标签。标签能够增加多个,每次调用都会在原来的根底上进行追加。是否获取胜利,会在 addPushReceiver()->MobPushReceiver-> onTagsCallback(Context context, String[] tags, int operation, int errorCode) 中进行回调返回。当 operation 为 0 时,示意获取标签操作;当 operation 为 1 时,示意设置标签操作;当 operation 为 2 时,示意删除标签操作。当 errorCode 为 0 时,示意操作胜利;当 errorCode 非 0 时,示意操作失败。标签反对:字母(辨别大小写)、数字、下划线、汉字、特殊字符 @!#$&*+=.|。
/**
* com.mob.pushsdk.MobPush.class
* 增加标签
* @param tags 想要增加的标签
*/
public static void addTags(String[] tags)
示例代码
MobPush.addTags(new String[]{"想要增加的标签 1", "想要增加的标签 2"});
删除标签 (deleteTags)
形容:删除标签。是否获取胜利,会在 addPushReceiver()->MobPushReceiver-> onTagsCallback(Context context, String[] tags, int operation, int errorCode) 中进行回调返回。当 operation 为 0 时,示意获取标签操作;当 operation 为 1 时,示意设置标签操作;当 operation 为 2 时,示意删除标签操作。当 errorCode 为 0 时,示意操作胜利;当 errorCode 非 0 时,示意操作失败。
/**
* com.mob.pushsdk.MobPush.class
* 增加标签
* @param tags 想要删除的标签
*/
public static void deleteTags(String[] tags)
示例代码
MobPush.deleteTags(new String[]{"想要删除的标签 1", "想要删除的标签 2"});
获取标签 (getTags)
形容:获取标签。是否获取胜利,会在 addPushReceiver()->MobPushReceiver-> onTagsCallback(Context context, String[] tags, int operation, int errorCode) 中进行回调返回。当 operation 为 0 时,示意获取标签操作;当 operation 为 1 时,示意设置标签操作;当 operation 为 2 时,示意删除标签操作。当 errorCode 为 0 时,示意操作胜利;当 errorCode 非 0 时,示意操作失败。
/**
* com.mob.pushsdk.MobPush.class
* 获取标签
*/
public static void getTags()
示例代码
MobPush.getTags();
清空标签 (cleanTags)
形容:清空标签。是否清空胜利,会在 addPushReceiver()->MobPushReceiver-> onTagsCallback(Context context, String[] tags, int operation, int errorCode) 中进行回调返回。当 operation 为 0 时,示意获取标签操作;当 operation 为 1 时,示意设置标签操作;当 operation 为 2 时,示意删除标签操作。当 errorCode 为 0 时,示意操作胜利;当 errorCode 非 0 时,示意操作失败。
/**
* com.mob.pushsdk.MobPush.class
* 清空标签
*/
public static void cleanTags()
示例代码
MobPush.cleanTags();
设置静音时段 (setSilenceTime)
形容:设置静音时段。几点几分开始到几点几分完结,这段时间属于静音时间段,接管到推送时,揭示类型属于静音状态。
/**
* com.mob.pushsdk.MobPush.class
* 设置静音时段
* @param startHour 开始静音工夫 (时)
* @param startMinute 开始静音工夫 (分)
* @param endHour 完结静音工夫 (时)
* @param endMinute 完结静音工夫 (分)
*/
public static void setSilenceTime(int startHour, int startMinute, int endHour, int endMinute)
示例代码
MobPush.setSilenceTime(20, 0, 0, 0);// 设置静音时间段早晨 20:00 到 00:00
增加本地告诉 (addLocalNotification)
形容:增加本地告诉。不通过服务器推送,客户端被动发送告诉。
/**
* com.mob.pushsdk.MobPush.class
* 增加本地告诉
* @param localNotification 本地告诉
* @return true 增加胜利 false 增加失败
*/
public static boolean addLocalNotification(MobPushLocalNotification localNotification)
示例代码
MobPushLocalNotification localNotification = new MobPushLocalNotification();
localNotification.setTitle("本地告诉题目");
localNotification.setContent("本地告诉内容");
...
MobPush.addLocalNotification(localNotification);
移除本地告诉 (removeLocalNotification)
形容:移除本地告诉。
/**
* com.mob.pushsdk.MobPush.class
* 移除本地告诉
* @param lnotificationId 本地告诉 ID
* @return true 移除胜利 false 移除失败
*/
public static boolean removeLocalNotification(int lnotificationId)
示例代码
MobPush.removeLocalNotification(想要移除的本地告诉 ID);
清空本地告诉 (clearLocalNotifications)
形容:清空本地告诉。
/**
* com.mob.pushsdk.MobPush.class
* 清空本地告诉
* @return true 清空胜利 false 清空失败
*/
public static boolean clearLocalNotifications()
示例代码
MobPush.clearLocalNotifications();
推送服务是否已进行 (isPushStopped)
形容:推送服务是已否进行。
/**
* com.mob.pushsdk.MobPush.class
* 推送服务是否已进行
* @return true 已进行 false 未进行
*/
public static boolean isPushStopped()
示例代码
MobPush.isPushStopped();
进行推送服务 (stopPush)
形容:进行推送服务,不持续接管推送。
/**
* com.mob.pushsdk.MobPush.class
* 进行推送服务
*/
public static void stopPush()
示例代码
MobPush.stopPush();
重启推送服务 (restartPush)
形容:推送服务进行后,重新启动推送服务。
/**
* com.mob.pushsdk.MobPush.class
* 重启推送服务
*/
public static void restartPush()
示例代码
MobPush.restartPush();
点击告诉是否启动主页 (setClickNotificationToLaunchMainActivity)
形容:设置点击告诉是否启动默认页。默认为启动。
/**
* com.mob.pushsdk.MobPush.class
* 设置点击告诉是否启动主页
* @param isLaunch 是否启动默认页 true 关上 false 不关上
*/
public static void setClickNotificationToLaunchMainActivity(boolean isLaunch)
示例代码
MobPush.setClickNotificationToLaunchMainActivity(true);
设置告诉图标 (setNotifyIcon)
形容:设置告诉图标。告诉默认应用利用图标,调用此办法来批改告诉图标。
/**
* com.mob.pushsdk.MobPush.class
* 设置告诉图标
* @param icon 告诉图标
*/
public static void setNotifyIcon(int icon)
示例代码
MobPush.setNotifyIcon(R.mipmap.ic_launcher);
设置是否显示角标 (setShowBadge)
形容:设置是否显示角标,用于接管告诉时显示角标数量。
/**
* com.mob.pushsdk.MobPush.class
* 设置是否显示角标
* @param isShowBadge 是否显示角标 true 显示 false 不显示
*/
public static void setShowBadge(boolean isShowBadge)
示例代码
MobPush.setShowBadge(true);
设置显示角标数 (setBadgeCounts)
形容:设置显示的角标数,须要用户依据本人的逻辑设置。
/**
* com.mob.pushsdk.MobPush.class
* 设置显示的角标数
*@param counts 角标数
*/
public static void setBadgeCounts(int counts)
示例代码
MobPush.setBadgeCounts(0);
统计厂商点击数 (重要 notificationClickAck)
形容:统计厂商通道下发告诉的点击数,如不设置,无奈精确统计到厂商通道下发告诉的点击数,倡议加上。不设置仅影响厂商通道的点击数,不影响 MobPush 通道点击数统计。
/**
* com.mob.pushsdk.MobPush.class
* 统计厂商点击数
*@param intent 上下文
*/
public static void notificationClickAck(Intent intent)
示例代码
MobPush.notificationClickAck(getIntent());
设置告诉栏显示的最大告诉条数 (setNotificationMaxCount)
形容:告诉栏显示的最大告诉条数,需大于 0。
/**
* com.mob.pushsdk.MobPush.class
* 设置告诉栏显示的最大告诉条数
*@param count 最大告诉条数
*/
public static void setNotificationMaxCount(int count)
示例代码
MobPush.setNotificationMaxCount(5)
获取设置的告诉栏显示告诉的最大条数 (getNotificationMaxCount)
形容:告诉栏显示的最大告诉条数
/**
* com.mob.pushsdk.MobPush.class
* 获取设置的告诉栏显示告诉的最大条数
*@return 设置的具体条数
*/
public static int getNotificationMaxCount()
示例代码
MobPush.getNotificationMaxCount()
获取 TCP 状态 (checkTcpStatus)
形容:获取 TCP 状态 判断 TCP 状态是否失常
/**
* com.mob.pushsdk.MobPush.class
* 获取 TCP 状态
* @param callback 回调
*/
public static void checkTcpStatus(MobPushCallback callback)
示例代码
MobPush.checkTcpStatus(new MobPushCallback<Boolean>() {
@Override
public void onCallback(Boolean o) {Log.i(TAG, "checkTcpStatus:"+o);
}
});
关上轮询开关 (startNotificationMonitor)
形容:MobPush 只会在初始化的时候更新记录的告诉权限状态。如须要实时更新,可调用该办法:
/**
* com.mob.pushsdk.MobPush.class
* 关上轮询开关
*/
public static void startNotificationMonitor()
示例代码
MobPush.startNotificationMonitor();
敞开轮询开关 (stopNotificationMonitor)
形容:敞开权限轮询开关
/**
* com.mob.pushsdk.MobPush.class
* 敞开轮询开关
*/
public static void stopNotificationMonitor()
示例代码
MobPush.stopNotificationMonitor();
性能自定义和扩大
scheme 跳转
前言:此性能仅仅是针对 push 的一些应用场景而进行自定义设定。比方,告诉被点击的时候:
通过 scheme 设置配置跳转
首先当初 Manifest 文件中进行指标 Activity 的 uri 设置,如下:
<activity
android:name=".LinkActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="com.mob.mobpush.link"
android:scheme="mlink" />
</intent-filter>
</activity>
在 Mob 后盾进行推送时,通过 scheme://host 的格局,例如 mlink://com.mob.mobpush.link,如下地位填入:
配置好之后,推送就 App 就能够接管到推送间接关上指定的 Activity 界面了,倡议对立设置一个直达页,依据传递参数后再进行跳转。
获取回调的参数详情
1、当 app 显示在前台的时候,会触发 MobPushReceiver 的 onNotifyMessageOpenedReceive 办法,MobPushNotifyMessage 参数则是回调的告诉详情,能够依据回调参数进行解决;
2、当 app 过程杀掉的时候,点击告诉后拉起利用的启动页面,会触发启动 Activity 的 OnCreate 或 OnNewIntent 办法,通过 getIntent 办法拿到回传的 Intent,能够拿到告诉详情;
此形式能够配合形式一跳转具体页面做为直达页面应用,MobPush 提供了对立的办法来获取
// 通过 scheme 跳转详情页面可抉择此形式
JSONArray var = new JSONArray();
var = MobPushUtils.parseSchemePluginPushIntent(getIntent());
// 跳转首页可抉择此形式
JSONArray var2 = new JSONArray();
var2 = MobPushUtils.parseMainPluginPushIntent(getIntent());
可参考官网 demo