極光推送嵌入Java項目

極光推送主方法

package com.huijia.erp.ts;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


import cn.jpush.api.JPushClient;
import cn.jpush.api.common.resp.APIConnectionException;
import cn.jpush.api.common.resp.APIRequestException;
import cn.jpush.api.push.PushResult;
import cn.jpush.api.push.model.Message;
import cn.jpush.api.push.model.Options;
import cn.jpush.api.push.model.Platform;
import cn.jpush.api.push.model.PushPayload;
import cn.jpush.api.push.model.audience.Audience;
import cn.jpush.api.push.model.notification.AndroidNotification;
import cn.jpush.api.push.model.notification.IosNotification;
import cn.jpush.api.push.model.notification.Notification;
public class Jdpush {
protected static final Logger LOG = LoggerFactory.getLogger(Jdpush.class);  
 
private static final long serialVersionUID = 1L; 
//在極光註冊上傳應用的 appKey 和 masterSecret  
private static final String appKey ="6cfad79049ca08896130e56a";  
//必填,每個應用都對應一個masterSecret
private static final String masterSecret = "1cbaa6b6c788ccac368460ce"; 

    public static final String TITLE = "申通快遞";  
    public static final String ALERT = "祝大家新春快樂";  
    public static final String MSG_CONTENT = "申通快遞祝新老客戶新春快樂";  
    public static final String REGISTRATION_ID = "0900e8d85ef";  
    public static final String TAG = "tag_api";  
      
    public  static JPushClient jpushClient=null;  
      
    public static String sendPush(String devicetoken,String alert,String flag, String orderid) {  
          
          
         jpushClient = new JPushClient(masterSecret, appKey, 3);  
         //生成推送的內容,這裏我們先測試全部推送  
        //PushPayload payload=buildPushObject_all_alias_alert(devicetoken,alert,message);  
        //PushPayload payload = Jdpush.buildPushObject_ios_audienceMore_messageWithExtras();
        //PushPayload payload =Jdpush.buildPushObject_ios_tagAnd_alertWithExtrasAndMessage();
         PushPayload payload =Jdpush.buildPushObject_android_and_ios( devicetoken, alert, flag, orderid);
        try {  
            System.out.println(payload.toString());  
            PushResult result = jpushClient.sendPush(payload);  
            System.out.println(result+"................................");  
              
            LOG.info("Got result - " + result);  
             
        } catch (APIConnectionException e) {  
            LOG.error("Connection error. Should retry later. ", e);  
              
        } catch (APIRequestException e) {  
            LOG.error("Error response from JPush server. Should review and fix it. ", e);  
            LOG.info("HTTP Status: " + e.getStatus());  
            LOG.info("Error Code: " + e.getErrorCode());  
            LOG.info("Error Message: " + e.getErrorMessage());  
            LOG.info("Msg ID: " + e.getMsgId());  
        }
        return "success"; 
    } 
    
    public static PushPayload buildPushObject_all_alias_alert(String devicetoken,String alert,String message) {  
        return PushPayload.newBuilder()  
                .setPlatform(Platform.all())//設置接受的平臺  
                .setAudience(Audience.alias(devicetoken))//Audience設置爲all,說明採用廣播方式推送,所有用戶都可以接收到  
                .setNotification(Notification.alert(alert))
                .setMessage(Message.newBuilder()
                .setMsgContent(message)
                .addExtra("from", "Jpush  sss  true")
                .build())
                .build(); 
    }  
   
    public static PushPayload buildPushObject_android_and_ios(String devicetoken,String alert,String flag,String orderid) {  
        return PushPayload.newBuilder()  
                .setPlatform(Platform.android_ios())  
                .setAudience(Audience.alias(devicetoken))  
                .setNotification(Notification.newBuilder()  
                        .setAlert(alert)  
                        .addPlatformNotification(AndroidNotification.newBuilder()
                                .addExtra("flag", flag)
                                .addExtra("OrderId", orderid)
                                .build()
                                )  
                        .addPlatformNotification(IosNotification.newBuilder()  
                                .incrBadge(1)
                                .addExtra("OrderId", orderid)
                                .addExtra("flag", flag)
                                .build())  
                        .build())  
                .build();  
    }    
    public static PushPayload buildPushObject_all_all_alert() {  
        return PushPayload.alertAll(ALERT);  
    }  
      
   
      
    public static PushPayload buildPushObject_android_tag_alertWithTitle() {  
        return PushPayload.newBuilder()  
                .setPlatform(Platform.android())  
                .setAudience(Audience.all())  
                .setNotification(Notification.android(ALERT, TITLE, null))  
                .build();  
    }  
      
   
      
    public static PushPayload buildPushObject_ios_tagAnd_alertWithExtrasAndMessage() {  
        return PushPayload.newBuilder()  
                .setPlatform(Platform.ios())  
                .setAudience(Audience.alias("1044"))  
                .setNotification(Notification.newBuilder()  
                        .addPlatformNotification(IosNotification.newBuilder()  
                                .setAlert(ALERT)  
                                .setBadge(5)  
                                .setSound("happy")  
                                .addExtra("from", "JPush") 
                                .addExtra("aaa", "aa")
                                .addExtra("flag", true)
                                .build())  
                        .build())  
                 .setMessage(Message.content(MSG_CONTENT))  
                 .setOptions(Options.newBuilder()  
                         .setApnsProduction(false)  
                         .build())  
                 .build();  
    }  
      
    public static PushPayload buildPushObject_ios_audienceMore_messageWithExtras() {  
        return PushPayload.newBuilder()  
                .setPlatform(Platform.android_ios())  
                .setAudience(Audience.alias("1044"))  
                .setNotification(Notification.alert("123"))
                .setMessage(Message.newBuilder()  
                        .setMsgContent(MSG_CONTENT)  
                        .addExtra("from", "JPush")  
                        .build())  
                .build();  
    }  
    
}


調用方法


package cn.itcast.erp.filter;


public class TuiSong {
/**
* 推送消息入口
* @param devicetoken 設備別名
* @param alert  彈出信息
* @param content  消息內容
* @return
*/
    public static String tuiSong(String devicetoken,String alert,String flag,String orderid){
    String message=Jdpush.sendPush(devicetoken,alert,flag,orderid);  
        return message; 
    }
    
    public static void main(String[] args) {
    String message=Jdpush.sendPush("1044","新年好!","true","123456789"); 
   
        System.out.println(message);  
}
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章