标签:
最近研究了一下个推推送,略有心得,记录一下。
参考:
个推文档说明:http://docs.getui.com/pages/viewpage.action?pageId=589866
个推功能总结:
package com.getui.demo; import java.util.List; import android.content.Context; import com.igexin.sdk.PushManager; import com.igexin.sdk.Tag; /** * 个推封装类 * <p> * 功能:1、初始化 2、获取clientId 3、绑定别名 4、为用户设置标签 5、启动/停止推送服务 6、获取SDK版本号 7、完全终止服务 8、获取当前推送服务的状态 9、设置静默时间 * 10、解绑别名 11、上行第三方自定义回执 * </p> * @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<String> 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); } }
标签:
原文地址:http://www.cnblogs.com/hacjy/p/5124829.html