【实例简介】
个推推送
【实例截图】
【核心代码】
package com.getui.demo;
import java.util.List;
import android.content.Context;
import com.igexin.sdk.PushManager;
import com.igexin.sdk.Tag;
/**
* 个推封装类
*
* 功能:1、初始化 2、获取clientId 3、绑定别名 4、为用户设置标签 5、启动/停止推送服务 6、获取SDK版本号 7、完全终止服务 8、获取当前推送服务的状态 9、设置静默时间
* 10、解绑别名 11、上行第三方自定义回执
*
*
* @author cjy
*
*/
public class GetuiPushAgent {
/**
* 初始化推送服务
*
* @param context
*/
public static void initialize(Context context) {
PushManager.getInstance().initialize(context);
}
/**
* 获取clientId
*
* @param context
*/
public static String getClientId(Context context) {
return PushManager.getInstance().getClientid(context);
}
/**
* 绑定别名
*
* @param context
* @param alias 别名
*/
public static boolean bindAlias(Context context, String alias) {
return PushManager.getInstance().bindAlias(context, alias);
}
/**
* 解绑别名
*
* @param context
* @param alias 别名
* @param isSelf 是否是解绑自己的cid true-解绑自己的cid false-解绑所有绑定该别名的cid
*/
public static boolean unBindAlias(Context context, String alias, boolean isSelf) {
return PushManager.getInstance().unBindAlias(context, alias, isSelf);
}
/**
* 为用户设置标签
*
* @param context
* @param tags 标签列表
* @return 0-成功 20001-tag数量过大(单次设置的tag数量不超过100) 20002-设置频率过快(频率限制每小时一次) 20003-标签重复
* 20004-aidl服务未绑定 20005-setTag异常
*/
public static int setTag(Context context, List tags) {
Tag[] tagParam = new Tag[] {};
for (int i = 0; i < tags.size(); i ) {
Tag t = new Tag();
t.setName(tags.get(i));
tagParam[i] = t;
}
return PushManager.getInstance().setTag(context, tagParam);
}
/**
* 启动推送服务
*
* @param context
*/
public static void openPush(Context context) {
PushManager.getInstance().turnOnPush(context);
}
/**
* 关闭推送服务
*
* @param context
*/
public static void closePush(Context context) {
PushManager.getInstance().turnOffPush(context);
}
/**
* 获取当前推送服务的状态
*
* @param context
* @return
*/
public static boolean isServerRuning(Context context) {
return PushManager.getInstance().isPushTurnedOn(context);
}
/**
* 完全终止服务
*
* @param context
* @return
*/
public static void stopPush(Context context) {
PushManager.getInstance().stopService(context);
}
/**
* 获取SDK版本号
*
* @param context
* @return
*/
public static String getVersion(Context context) {
return PushManager.getInstance().getVersion(context);
}
/**
* 设置静默时间
*
* @param context
* @param beginTime 开始时间(小时)
* @param duration 间隔时长
* @return
*/
public static boolean setSilentTime(Context context, int beginTime, int duration) {
return PushManager.getInstance().setSilentTime(context, beginTime, duration);
}
/**
* 上行第三方自定义回执
*
* @param context
* @param taskId 下发任务的任务id
* @param messagId 下发任务的消息id
* @param actionId 用户自定义的actionId,int型,数值在90001-90999
* @return
*/
public static boolean sendFeedbackMessage(Context context, String taskId, String messagId, int actionId) {
return PushManager.getInstance().sendFeedbackMessage(context, taskId, messagId, actionId);
}
}