JPush極光推送Java服務器端API

// 對android和ios設備發送
JPushClient jpush = new JPushClient(masterSecret, appKey);
 
// 對android和ios設備發送,同時指定離線消息保存時間
JPushClient jpush = new JPushClient(masterSecret, appKey, timeToLive);
 
// 指定某種設備發送
JPushClient jpush = new JPushClient(masterSecret, appKey, DeviceEnum.Android);
 
// 指定某種設備發送,而且指定離線消息保存時間
JPushClient jpush = new JPushClient(masterSecret, appKey, timeToLive, DeviceEnum.IOS);

 

參數名稱 參數類型 選項 內容說明
masterSecret
String 必須 Portal上註冊應用時生成的 masterSecret
appKey String 必須 Portal上註冊應用時生成的 appKey
timeToLive long 可選

保存離線消息的時長。秒爲單位。最多支持10天(864000秒)。
0 表示該消息不保存離線。即:用戶在線立刻發出,當前不在線用戶將不會收到此消息。
此參數不設置則表示默認,默認爲保存1天的離線消息(86400秒)。html

DeviceEnum Enum 可選 指定的設備。
可選值:DeviceEnum.Android, DeviceEnum.IOS。
不填或者null值爲同時支持 Android 與 iOS。

發送消息

JPushClient公共方法java

 

方法名稱 參數列表(必須) 方法說明
setEnableSSL boolean enableSSL (true爲使用ssl, 默認爲不使用ssl) 是否啓動ssl安全鏈接

sendNotificationWithImeiandroid

int sendNo(發送編號),
String imei (IMEI字符串) ,
String msgTitle (消息標題/通知標題) ,
String msgContent (消息內容/通知內容) 
發送帶IMEI的通知
sendNotificationWithImei int sendNo , 
String imei ,
String msgTitle ,
String msgContent ,
int builderId (自定義通知欄樣式Id) ,
Map<String, Object>extra (附屬信息)
自定義通知欄(沒有則填寫0)
以及傳遞附屬信息 

sendCustomMessageWithImeiios

int sendNo , 
String imei ,
String msgTitle ,
String msgContent 
發送帶IMEI的消息
sendCustomMessageWithImei int sendNo , 
String imei ,
String msgTitle ,
String msgContent, 
String msgContentType (消息內容類型,原樣返回),
Map<String, Object> extra 
用戶自定義消息類型,
以及傳遞附屬信息 

sendNotificationWithTagapi

int sendNo , 
String tag (Tag字符串) ,
String msgTitle ,
String msgContent
發送帶Tag的通知
sendNotificationWithTag int sendNo , 
String tag ,
String msgTitle ,
String msgContent , 
int builderId ,
Map<String, Object>extra
自定義通知欄(沒有則填寫0)
以及傳遞附屬信息 

sendCustomMessageWithTag安全

int sendNo , 
String tag ,
String msgTitle ,
String msgContent
發送帶Tag的消息
sendCustomMessageWithTag int sendNo , 
String tag ,
String msgTitle ,
String msgContent ,
String msgContentType ,
Map<String, Object> extra 
用戶自定義消息類型,
以及傳遞附屬信息 

sendNotificationWithAliasapp

int sendNo , 
String alias (Alias字符串) ,
String msgTitle , 
String msgContent
發送帶Alias的通知
sendNotificationWithAlias int sendNo , 
String alias (Alias字符串) ,
String msgTitle , 
String msgContent ,
int builderId ,
Map<String, Object>extra
自定義通知欄(沒有則填寫0)
以及傳遞附屬信息 

sendCustomMessageWithAliasui

int sendNo , 
String alias ,
String msgTitle , 
String msgContent
發送帶Alias的消息
sendCustomMessageWithAlias int sendNo , 
String alias ,
String msgTitle , 
String msgContent , 
String msgContentType ,
Map<String, Object> extra 
用戶自定義消息類型,
以及傳遞附屬信息 

sendNotificationWithAppKeythis

int sendNo , 
String msgTitle , 
String msgContent
發送通知給AppKey的全部用戶
sendNotificationWithAppKey int sendNo , 
String msgTitle , 
String msgContent ,
int builderId ,
Map<String, Object>extra
自定義通知欄(沒有則填寫0)
以及傳遞附屬信息 

sendCustomMessageWithAppKeyspa

int sendNo , 
String msgTitle , 
String msgContent
發送帶AppKey的消息
sendCustomMessageWithAppKey int sendNo , 
String msgTitle , 
String msgContent ,
String msgContentType ,
Map<String, Object> extra  
用戶自定義消息類型,
以及傳遞附屬信息 

 

代碼示例

代碼示例-發送帶IMEI的通知
JPushClient jpush = new JPushClient(masterSecret, appKey);
//jpush.setEnableSSL(true);
int sendNo = 1 ;
String imei = "" ;
String msgTitle = "" ;
String msgContent = "" ;
 
MessageResult msgResult = jpush.sendNotificationWithImei(sendNo, imei, msgTitle, msgContent);
if ( null != msgResult) {
     if (msgResult.getErrcode() == ErrorCodeEnum.NOERROR.value()) {
         System.out.println( "發送成功, sendNo=" + msgResult.getSendno());
     } else {
         System.out.println( "發送失敗, 錯誤代碼=" + msgResult.getErrcode() + ", 錯誤消息=" + msgResult.getErrmsg());
     }
} else {
     System.out.println( "沒法獲取數據" );
}
代碼示例-IOS設置通知鈴聲和badge
JPushClient jpush = new JPushClient(masterSecret, appKey);
 
Map<String, Object> extra = new HashMap<String, Object>();
IOSExtra iosExtra = new IOSExtra( 1 , "Windows_Logon_Sound.wav" ); //badge and sound
extra.put( "ios" , iosExtra);
 
MessageResult msgResult = jpush.sendNotificationWithAppKey(sendNo, msgTitle, msgContent, 0 , extra);

MessageResult 類

公共方法 方法用途

getSendno

 消息發送成功後,按客戶端傳輸的sendNo原樣返回

getErrcode

 錯誤代碼,代碼定義參考ErrorCodeEnum
getErrmsg  返回錯誤消息的描述

ErrorCode 類

錯誤代碼-ErrorCodeEnum
package cn.jpush.api;
 
public enum ErrorCodeEnum {
     
    //沒有錯誤,發送成功
    NOERROR(0),
 
    //系統內部錯誤
    SystemError(10),
 
    //不支持GET請求
    NotSupportGetMethod(1001),
 
    //缺乏必須參數
    MissingRequiredParameters(1002),
 
    //參數值不合法
    InvalidParameter(1003),
 
    //驗證失敗
    ValidateFailed(1004),
 
    //消息體太大
    DataTooBig(1005),
 
    //IMEI不合法
    InvalidIMEI(1007),
 
    //appkey不合法
    InvalidAppKey(1008),
 
    //msg_content不合法
    InvalidMsgContent(1010),
 
    //沒有知足條件的推送目標
    InvalidPush(1011),
 
    //IOS不支持自定義消息
    CustomMessgaeNotSupportIOS(1012);
 
    private final int value;
    private ErrorCodeEnum(final int value) {
        this.value = value;
    }
 
    public int value() {
        return this.value;
    }
}
相關文章
相關標籤/搜索