蘋果推送服務端java 程式碼簡解
阿新 • • 發佈:2019-02-13
思路: 從客戶端獲取的deviceToken,定義訊息模式Payload,註冊deviceToken,連線APNS,傳送推送,停止連線APNS,刪除deviceToken;
1,從客戶端獲取的deviceToken,在此為了測試簡單,寫固定的一個測試裝置標識
String deviceToken = "337dd964535f2a6efd9d346120b1b5771f522a2da13c09878b5f18e397507e60";
開發環境: 客戶端生成deviceToken,後臺服務端直接獲取使用;
生產環境: 客戶端生成deviceToken,呼叫服務端介面,將資料儲存到資料庫,後臺服務端從資料庫獲取使用;
2,定義訊息模式
PayLoad payLoad = new PayLoad();
payLoad.addAlert("Apple測試資料");
payLoad.addBadge(1);//訊息推送標記數,小紅圈中顯示的數字。
payLoad.addSound("default");
payLoad.addCustomDictionary("url", "https://img.icos8.cc/image/hhvy");
payLoad.addCustomDictionary("mutable-content", 1);
名詞解釋:
alert------------顯示訊息標題;
badge--------訊息推送標記數,小紅圈中顯示的數字
sound--------預設或者自定義的聲音;
addCustomDictionary---------自定義字典
3,註冊deviceToken
PushNotificationManager pushManager = PushNotificationManager.getInstance();
pushManager.addDevice("iPhone", deviceToken);
4,連線APNS
5,傳送推送String host = "gateway.sandbox.push.apple.com"; //測試 //String host = "gateway.push.apple.com";//生產 int port = 2195; // String certificatePath = "D:/p12/**-cert.p12";//客戶端生成的用於JAVA後臺連線APNS服務的*.p12檔案位置 String certificatePath = "C:/tomcat/aps_development_key.p12";//客戶端生成的用於JAVA後臺連線APNS服務的*.p12檔案位置 String certificatePassword = "123123";//p12檔案密碼。 pushManager.initializeConnection(host, port, certificatePath, certificatePassword, SSLConnectionHelper.KEYSTORE_TYPE_PKCS12);
Device client = pushManager.getDevice("iPhone");
System.out.println("推送訊息: " + client.getToken()+"\n"+payLoad.toString() +" ");
6,停止連線APNS
pushManager.stopConnection();
7,刪除deviceToken
pushManager.removeDevice("iPhone");