package test;
import java.util.ArrayList;
import java.util.List;
import com.gexin.rp.sdk.base.IPushResult;
import com.gexin.rp.sdk.base.impl.ListMessage;
import com.gexin.rp.sdk.base.impl.SingleMessage;
import com.gexin.rp.sdk.base.impl.Target;
import com.gexin.rp.sdk.exceptions.RequestException;
import com.gexin.rp.sdk.http.IGtPush;
import com.gexin.rp.sdk.template.LinkTemplate;
import com.gexin.rp.sdk.template.NotificationTemplate;
import com.sun.org.apache.xalan.internal.xsltc.compiler.Template;
/**
* @Comments :
* @Author :崔海军
*/
public class Push {
static String appId = "写自己的";
static String appkey = "写自己的";
static String master = "写自己的";
static String CID = "客户端id可以打印到页面在复制到这里";
static String host = "http://sdk.open.api.igexin.com/apiex.htm";
public static void main(String[] args) {
// TODO Auto-generated method stub
pushTosingle();
}
public static void pushToList() {
IGtPush push = new IGtPush(host, appkey, master);
NotificationTemplate template = TemplateDemo();
ListMessage message = new ListMessage();
message.setOffline(true);
// 离线有效时间,单位为毫秒,可选
message.setOfflineExpireTime(24 * 3600 * 1000);
message.setData(template);
message.setPushNetWorkType(0); // 可选。判断是否客户端是否wifi环境下推送,1为在WIFI环境下,0为不限制网络环境。
List targets = new ArrayList();
Target target = new Target();
target.setAppId(appId);
target.setClientId(CID);
// target.setAlias(Alias);
targets.add(target);
IPushResult ret = null;
try {
String taskId = push.getContentId(message, "任务别名_LIST");
ret=push.pushMessageToList(taskId, targets);
//ret = push.pushMessageToSingle(message, target);
} catch (RequestException e) {
e.printStackTrace();
}
if (ret != null) {
System.out.println(ret.getResponse().toString());
} else {
System.out.println("服务器响应异常");
}
}
public static void pushTosingle() {
//向单个ClientID或别名用户推送消息。
IGtPush push = new IGtPush(host, appkey, master);
NotificationTemplate template = TemplateDemo();
SingleMessage message = new SingleMessage();
message.setOffline(true);
// 离线有效时间,单位为毫秒,可选
message.setOfflineExpireTime(24 * 3600 * 1000);
message.setData(template);
message.setPushNetWorkType(0); // 可选。判断是否客户端是否wifi环境下推送,1为在WIFI环境下,0为不限制网络环境。
Target target = new Target();
target.setAppId(appId);
target.setClientId(CID);
// 用户别名推送,cid和用户别名只能2者选其一
// String alias = "个";
// target.setAlias(alias);
IPushResult ret = null;
try {
ret = push.pushMessageToSingle(message, target);
} catch (RequestException e) {
e.printStackTrace();
ret = push.pushMessageToSingle(message, target, e.getRequestId());
}
if (ret != null) {
System.out.println(ret.getResponse().toString());
} else {
System.out.println("服务器响应异常");
}
}
public static NotificationTemplate TemplateDemo() {
NotificationTemplate template = new NotificationTemplate();
// 设置APPID与APPKEY
template.setAppId(appId);
template.setAppkey(appkey);
// 设置通知栏标题与内容
template.setTitle("测试");
template.setText("测试");
// 配置通知栏图标
template.setLogo("icon.png");
// 配置通知栏网络图标
template.setLogoUrl("");
// 设置通知是否响铃,震动,或者可清除
template.setIsRing(true);
template.setIsVibrate(true);
template.setIsClearable(true);
// 透传消息设置,1为强制启动应用,客户端接收到消息后就会立即启动应用;2为等待应用启动
template.setTransmissionType(1);
template.setTransmissionContent("{a:'标题',b:'内容'}");
// 设置定时展示时间
// template.setDuration("2015-01-16 11:40:00", "2015-01-16 12:24:00");
return template;
}
}