1. 程式人生 > >個推-推送hello world

個推-推送hello world

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