極光推送—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
來源:簡書
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
相關文章
- .NET快速對接極光訊息推送
- iOS —— 極光推送和極光IMiOS
- Flutter應用整合極光推送Flutter
- 在 Laravel 中使用 極光推送Laravel
- Laravel 極光推送驅動,使用極光不再那麼麻煩!Laravel
- 極光筆記|極光推送在APICloud平臺的使用教程筆記APICloud
- APP訊息推送 極光推送 示例程式碼APP
- .NET對接極光訊息推送
- 極光筆記丨iOS 15推送新特性筆記iOS
- 極光推送申請iOS推送證書p12及配置流程iOS
- 極光推送申請iOS推送證書p12及配置教程iOS
- [外掛擴充套件]APP極光推送外掛!套件APP
- 快捷地整合極光推送(JPush)到 Laravel 專案中Laravel
- 極光推送demo在android studio中無法執行Android
- IOS原生接入友盟推送iOS
- 光纖接入網怎麼操作
- 光纖怎麼接入網呢?
- 極光筆記 | 極光服務的信創改造實踐筆記
- 在Android裝置上使用極光推送id重複的原因分析和解決辦法Android
- 極光筆記丨Spark SQL 在極光的建設實踐筆記SparkSQL
- MUI接入個推推送與後臺聯調UI
- 如何快速接入 GitHub 登陸Github
- 極光筆記 | 極光PUSH服務助力企業提升搶單速度筆記
- 極光筆記|百億級KV儲存在極光的運維實踐之路筆記運維
- 極光財報:2020年Q2極光營收1.308億元 同比下降55%營收
- Amazing!!CSS 也能實現極光?CSS
- GUET 2024夢極光pwn2
- 極光財報:2019年Q3極光毛利潤為5690萬元 同比增長7%
- 好用的發票核驗API,快速接入API
- aspnetcore 應用 接入Keycloak快速上手指南NetCore
- 極光筆記 | 極光推出“運營增長”解決方案,開啟企業增長新引擎筆記
- Java接入支付寶支付教程Java
- 極光星空天文攝影LR預設
- Python接入企業微信 - 推送資訊到內部群裡Python
- 影片SDK開發,多平臺SDK快速接入
- 共赴璀璨約定!《光與夜之戀》極光測試今日開啟
- Ruff裝置接入阿里雲IoT平臺推送告警到釘釘群阿里
- 基於Netty實現海量接入的推送服務技術要點Netty
- 極光筆記 | 大語言模型外掛筆記模型