極光推送—java快速接入
此文記錄自己開發專案時,java快速接入極光推送的過程,免去研究官方文件的流程!
詳情也可參考 [極光官網] (http://docs.jiguang.cn/jpush/guideline/intro/)
新手問題解惑:
問題:初次接觸極光推送,分不清推送的物件?答:
- 廣播:會把通知無區別的推送到每個人身上。
- 設定標籤:這一般用於群組推送。
- 設定別名:適用於單播,根據客戶端設定的別名來推送。(一般選擇使用者ID)
- 設定註冊ID:適用於單播推送,指定推送給某一個人,可以使用註冊過的使用者ID,主要用來區分。
別名,註冊ID,標籤,都需要跟客戶端開發人員溝通確定統一的規則,一般會使用userId作為單播標識,
接入步驟如下:
步驟1:
在java專案中建立工具類class,例:JpushClient.java
步驟2:
在maven pom.xml檔案中新增依賴關係
<dependency>
<groupId>cn.jpush.api</groupId>
<artifactId>jpush-client</artifactId>
<version>3.2.17</version>
</dependency>
步驟3:
在JpushClient.java類中,推送方法,參考如下兩段程式碼
基本配置程式碼
//在極光註冊的APPKEY和MASTERSECRET 必填
private static final String APPKEY ="ad7ba99aa8ad92a4c5";
private static final String MASTERSECRET ="51feea7371bef4";
private static JPushClient jpushClient = null;
//儲存離線的時長,最多支援10天 (Ps:不填寫時,預設是儲存一天的離線訊息 0:代表不儲存離線訊息)
private static int timeToLive = 60 * 60 * 24 ;
private static Logger logger = LoggerFactory.getLogger(JpushClient.class);
構建推送物件:別名推送 例:關注推送
type:是自己設定的值,前後端保持一致即可
請求引數:是推送的自己要輸入的內容
public static PushPayload buildPushObject_alias_followUser(String alias ,String nickname) {
return PushPayload.newBuilder().setPlatform(Platform.android_ios())
.setAudience(Audience.alias(alias))
.setNotification(Notification.newBuilder()
.addPlatformNotification(AndroidNotification.newBuilder()
.addExtra("type", "infomation")
.setAlert(nickname+" 關注了你!")
.build())
.addPlatformNotification(IosNotification.newBuilder()
.addExtra("type", "infomation")
.setAlert(nickname+" 關注了你!")
.build())
.build())
.setOptions(Options.newBuilder()
.setApnsProduction(true)//true-推送生產環境 false-推送開發環境(測試使用引數)
.setTimeToLive(timeToLive)
.build())
.build();
}
傳送推送訊息 send message
此方法呼叫了,上面的構建物件方法,將構建好的物件推送給手機端
//send message after followUser
public static void sendPushAfterFollow(String alias ,String nickname){
try {
jpushClient = new JPushClient(MASTERSECRET, APPKEY, null, ClientConfig.getInstance());
//生成推送的內容
PushPayload payload = buildPushObject_alias_followUser(alias,nickname);
payload.resetOptionsTimeToLive(timeToLive);
PushResult result = jpushClient.sendPush(payload);
logger.info("Got result - " + result);
} catch (APIConnectionException e) {
// Connection error, should retry later
logger.error("Connection error, should retry later", e);
} catch (APIRequestException e) {
// Should review the error, and fix the request
logger.error("Should review the error, and fix the request", e);
logger.info("HTTP Status: " + e.getStatus());
logger.info("Error Code: " + e.getErrorCode());
logger.info("Error Message: " + e.getErrorMessage());
}
}
步驟4:在專案業務層service層呼叫,上面的工具類中的方法即可進行推送
//向指定使用者推送訊息
JpushClient.sendPushAfterFavorite(引數1,引數2...);
至此,java快速接入極光推送已經完成,過程非常簡單,詳細的引數規則,請參考極光官網!
作者:Moli_wu
連結:http://www.jianshu.com/p/22a4d630c01a
來源:簡書
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
相關文章
- 極光推送-java工具類Java
- iOS —— 極光推送和極光IMiOS
- 極光推送總結
- 極光推送證書篇
- iOS極光推送封裝iOS封裝
- JPush極光推送Java伺服器端例項Java伺服器
- Flutter應用整合極光推送Flutter
- 在 Laravel 中使用 極光推送Laravel
- 極光推送 tag alias 設定
- Swift3.0整合極光推送Swift
- Laravel 極光推送驅動,使用極光不再那麼麻煩!Laravel
- APP訊息推送 極光推送 示例程式碼APP
- 極光筆記|極光推送在APICloud平臺的使用教程筆記APICloud
- iOS 極光推送整合與開發iOS
- iOS 極光推送遇到的問題iOS
- iOS-極光推送開發小結iOS
- 極光筆記丨iOS 15推送新特性筆記iOS
- Android開發之極光推送的整合Android
- 極光推送-服務端端智慧人社訊息推送方式服務端
- 極光推送申請iOS推送證書p12及配置教程iOS
- 極光推送申請iOS推送證書p12及配置流程iOS
- [外掛擴充套件]APP極光推送外掛!套件APP
- iOS_極光推送的UNNotificationServiceExtension實現富文字iOS
- 快捷地整合極光推送(JPush)到 Laravel 專案中Laravel
- php 第三方 極光推送domo(Android版)PHPAndroid
- 在ionic專案中使用極光推送實現推送 & 伺服器端程式碼伺服器
- 小米殺不死的推送-- Android、java後端同時接入小米推送AndroidJava後端
- 使用極光推送實現分組傳送和服務端整合服務端
- 極光推送demo在android studio中無法執行Android
- iOS .a庫打包成.framework(將極光推送的.a庫打包進framework)iOSFramework
- 適配 iOS 10,極光推送使用者要做這 6 處更改iOS
- IOS原生接入友盟推送iOS
- ios 極光推送獲取當前控制器進行介面跳轉iOS
- 光纖接入網怎麼操作
- Swift - JPush極光推送的使用4(根據Tag標籤,給同一類別使用者發推送)Swift
- 極光筆記 | 極光服務的信創改造實踐筆記
- 多包名打包以及整合“極光推送”的坑點(區別於“多渠道打包”)
- 極光筆記丨Spark SQL 在極光的建設實踐筆記SparkSQL