個推-推送hello world
阿新 • • 發佈:2018-05-25
clas HR Go api trac 標題 println 地址 targe
最近項目中的一個百度推送真是把我搞的有點頭大,真的是很垃圾,到達率又低,還特麽遇上停止維護了。。。
所以項目決定轉用別的推送平臺,現在改用個推,官方文檔寫的很好,除了剛下載下來,折騰了一陣子,不過很快也就運行起來了。
這這裏也就簡單的記錄一下。
具體可以參考:http://docs.getui.com/getui/server/java/start/
第一步:註冊
第二步:獲取憑證
第三步:安裝demo到手機,這一步安裝到手機後,就能獲取手機對應那個app的cID了,以後就對著這個CID進行推送
第四部:導入jar包,這裏說一下,服務端的給的sdk下載下來,如果包導入不進來的話,就需要手動導入了。
然後一切沒問題可以運行代碼。
註意,這時候用的是第三步下載的測試APP,所以代碼裏面的參數要設置為測試的。
然後上代碼:
package com.getui.java.https; import com.gexin.rp.sdk.base.IPushResult; 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; public class HttpsDemo { //測試APP public static final String appId = "看後臺配置"; public static final String appKey = "看後臺配置"; public static final String masterSecret = "看後臺配置"; public static final String CID = "從第三步下載的app看clientid"; private static String host = "http://sdk.open.api.igexin.com/apiex.htm"; //static String host = "https://api.getui.com/apiex.htm"; public static void main(String[] args) throws Exception { // https連接 IGtPush push = new IGtPush(appKey, masterSecret, true); // 此處true為https域名,false為http,默認為false。Java語言推薦使用此方式 // IGtPush push = new IGtPush(host, appkey, master); // host為域名,根據域名區分是http協議/https協議 LinkTemplate template = linkTemplateDemo(); 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 LinkTemplate linkTemplateDemo() { LinkTemplate template = new LinkTemplate(); // 設置APPID與APPKEY template.setAppId(appId); template.setAppkey(appKey); // 設置通知欄標題與內容 template.setTitle("hello world"); template.setText("今天的天氣是真的好啊"); // 配置通知欄圖標 template.setLogo("icon.png"); // 配置通知欄網絡圖標,填寫圖標URL地址 template.setLogoUrl(""); // 設置通知是否響鈴,震動,或者可清除 template.setIsRing(true); template.setIsVibrate(true); template.setIsClearable(true); // 設置打開的網址地址 template.setUrl("http://www.baidu.com"); return template; } }
到這裏,應該是可以完美輸出的。
個推-推送hello world