新版本极光推送

public class JPushUtils {
    
    //Portal上注册应用时生成的 masterSecret
    private static final String MASTER_SECTET = "";
    //Portal上注册应用时生成的 appKey
    private static final String APP_KEY = "";
    //从消息推送时起,保存离线的时长。秒为单位。最多支持10天(864000秒)。

    
    private static PushPayload pushNotifiton(String receiver_type ,String receiver_value,String content ,Map<String, String> extra,String title){
         extra.put("title", title);
         return PushPayload.newBuilder()
                    .setPlatform(Platform.all()) 
                    .setAudience(Audience.alias(receiver_value))
                    .setNotification(Notification.newBuilder()
                            .addPlatformNotification(AndroidNotification.newBuilder()
                                      .setTitle(title)
                                      .setAlert(content)
                                      .addExtras(extra).build())
                            .addPlatformNotification(IosNotification.newBuilder()
                                    .incrBadge(1)
                                    .setBadge(0)
                                    .setSound("")
                                    .setAlert(content)
                                    .addExtras(extra).build())
                            .build()).build();
                    
    }

    /**
     * 向手机端推送通知
     * @param userids    用户id多个逗号隔开
     * @param content    推送内容
     * @param businessId    业务id,android客户端根据业务id判断是那个业务
     * @return
     */
    public static boolean pushNotifiton(String userids,String content ,Map<String,String> extra,String title){
        boolean flag=false;
        JPushClient jpushClient = new JPushClient(MASTER_SECTET, APP_KEY, 3);
        PushPayload payload=pushNotifiton("3",userids,content,extra,title);
         try {
                jpushClient.sendPush(payload);
                flag=true;
            } catch (Exception e) {
                flag=false;
            }
        return flag;
    }
    /**
     * 向手机端推送消息
     * @param userids    用户id多个逗号隔开
     * @param content    推送内容
     * @param businessId    业务id,android客户端根据业务id判断是那个业务
     * @return
     */
    public static boolean pushMsg(String userids,String content,Map<String,Object> extra){
        boolean flag=false;
         JPushClient jpushClient = new JPushClient(MASTER_SECTET, APP_KEY, 3);
         PushPayload payload = pushMsg("3",userids,content,extra);
         try {
            PushResult result = jpushClient.sendPush(payload);
            flag=true;
        } catch (Exception e) {
            // TODO Auto-generated catch block
            flag=false;
        }
         return flag;
    }
    /**
     * 向客户端发送消息方法
     * @param receiver_type        发送类型
     * @param receiver_value       接收人
     * @param content            消息内容
     * @param businessId        业务id
     */
    private static PushPayload pushMsg(String receiver_type ,String receiver_value,String content,Map<String,Object> extra){
          return PushPayload.newBuilder()
                    .setPlatform(Platform.all())
                    .setAudience(Audience.newBuilder()
                            .addAudienceTarget(AudienceTarget.alias(receiver_value))
                            .build())
                    .setMessage(Message.newBuilder()
                            .setMsgContent(content)
                            .addExtra("noticeId", extra.get("noticeId").toString())
                            .addExtra("type", extra.get("type").toString())
                            .build())
                    .build();
    }
    public static void main(String[] args) {  
        Map<String,String> extra = new LinkedHashMap<String,String>();
        
        //公告id
        extra.put("noticeId", "45678");
        
        extra.put("type", "s");
        extra.put("sendman", "我");
        Format format = new SimpleDateFormat("yyyyMMdd hh:mm:ss");
        extra.put("sendtime", format.format(new Date()));
        extra.put("content", "我看对");
        
        System.out.println(pushNotifiton("admi1n","cs1",extra,"cs2"));
    }
}

 

posted @ 2016-07-07 14:38  代码工作者  阅读(4646)  评论(0编辑  收藏  举报