1. 程式人生 > >Java-極光推送

Java-極光推送

本文寫的是極光推送JAVA後臺程式碼,小弟第一次接觸推送,特此謹記,以備其他同道中人和自己日後之需
首先,POM檔案,以下是極光需要的所有jar包,千萬要記得極光需要slf4j的jar包,必須引入slf4j
        <dependency>
            <groupId>cn.jpush.api</groupId>
            <artifactId>jpush-client</artifactId>
            <version>3.2.11</version>
        </dependency>

        <dependency>
            <groupId>org.slf
4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.21</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.2
.4</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.21</version> </dependency> <dependency> <groupId>org.slf
4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>1.7.21</version> </dependency> 然後,我們需要知道,andriod的推送訊息標題可有可無,沒有的話andriod開發人員也可以加標題,但是ios的推送標題是沒有的,這個只能前臺ios開發人員加 還有就是極光推送可分為andriod推送,ios推送,windowphone推送,按照別名推送(指固定某臺機器),推送全部,因為專案只要求andriod和ios,所有這裡沒有windowphone和別名推送 還有就是極光推送,我們必須要有appKey和masterSecret,這兩個引數在我們公司是他們前端開發從極光官網申請的 java程式碼 package util; import java.util.HashMap; import java.util.Map; import cn.jiguang.common.resp.APIConnectionException; import cn.jiguang.common.resp.APIRequestException; import cn.jpush.api.JPushClient; 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.Notification; public class JPushUtil { public static String appkey="1bf00f1d93543234d784tre4"; public static String masterSecret="2a3rrert0e99949cf7d31r3ewe"; public static void main(String[] args) throws Exception { sendAll(); sendAndroid(); sendIOS(); } /** * 推送所有的終端 **/ public static void sendAll() throws Exception { JPushClient jpushClient = new JPushClient(masterSecret,appkey); //這個map是自己隨便寫的,因為前臺開發人員要根據這個map決定去app的哪個頁面,這是後臺和前臺協定好的 Map<String, String> extras = new HashMap<String, String>(); extras.put("aa", "aakey"); extras.put("bb", "bbkey"); PushPayload ppl = PushPayload.newBuilder().setPlatform(Platform.all()).setAudience(Audience.all()) .setNotification(Notification.ios("內容", extras)).build(); jpushClient.sendPush(ppl); } /** * 推送Android **/ public static void sendAndroid(String msg) throws Exception { JPushClient jpushClient = new JPushClient(masterSecret,appkey); Map<String, String> extras = new HashMap<String, String>(); extras.put("aa", "aakey"); extras.put("bb", "bbkey"); PushPayload ppl = PushPayload.newBuilder().setPlatform(Platform.all()).setAudience(Audience.all()) .setNotification(Notification.android("內容", "標題", extras)).build(); jpushClient.sendPush(ppl); } /** * 推送IOS **/ public static void sendIOS(String msg) throws Exception { JPushClient jpushClient = new JPushClient(masterSecret,appkey); Map<String, String> extras = new HashMap<String, String>(); extras.put("aa", "aakey"); extras.put("bb", "bbkey"); PushPayload ppl = PushPayload.newBuilder().setPlatform(Platform.all()) .setAudience(Audience.all()) .setNotification(Notification.ios("內容", extras)).build(); jpushClient.sendPush(ppl); } }