均均
均均
  • 发布:2015-06-24 15:44
  • 更新:2015-08-05 18:02
  • 阅读:3312

push怎么批量推送消息啊。

分类:HTML5+

我在java后台怎么给app用户推送消息。需要app用户手机的什么不。有没有示例。新手求解。。。谢谢

2015-06-24 15:44 负责人:无 分享
已邀请:
apche

apche

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<Target> targets = new ArrayList<Target>();  
        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;  
    }  
}

该问题目前已经被锁定, 无法添加新回复