极光推送JPush使用Java SDK开发
一、極光推送是什么?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?極光推送消息介紹
上面是極光官方文檔的介紹說明,作為初次使用者。如果對于官方文檔解釋看不明白的,可以多去網上找一些通俗易懂的博客文章之類的,然后再去看官方文檔,最后再按需要進行集成調試和開發等。
簡單來說:極光推送是一個免費的開源的手機APP消息推送平臺(類似帥哥美女們常用的購物APP某寶、某東等,一些優惠券消息后臺推送到你們手機上)。它集成了包括:SDK給客戶端、JPush API給服務端、JPush Cloud服務器代理推送消息。一張圖看懂整個邏輯(極光官方):
android和ios的區別在于,ios需使用apple APNS server專用服務代理。(這可能是米國佬的專業獨裁吧)
二、使用Java SDK集成開發(服務端)
1、生成Appkey 和?MasterSecret?
關于Appkey 和?MasterSecret 的介紹,這里只作簡單說明:極光平臺推送到對應的注冊APP手機客戶端所需要的參數;創建測試用的Appkey和MasterSecret的步驟和操作介紹可以去官網取經,或查閱其他博客文章等,一般作為服務器后臺開發是不需要關心這個(客戶端androi、ios開發者負責創建)。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??AppKey和MasterSecret操作步驟
2、添加依賴jar包
筆者的項目使用的是SpringCloud微服務架構,自然使用的是Maven倉庫。所以,首先需要添加maven依賴
<dependency><groupId>cn.jpush.api</groupId><artifactId>jpush-client</artifactId><version>3.3.9</version></dependency>版本以3.3.9為例,目前最新版本出到3.3.12了,一般不建議使用最新版本,因為最新版本的東西都不太穩定。
3、集成Java SDK推送方法JPush
//極光推送至App端String title = record.getTitle(); //標題String contents = record.getContents(); //內容if(StringUtils.isEmpty(MasterSecret) || StringUtils.isEmpty(AppKey)){commonResponse.setCode(MsgReturnCode.APPKEY_MASTERSECRET_EXCEPTION.code);commonResponse.setMessage(MsgReturnCode.APPKEY_MASTERSECRET_EXCEPTION.message);return commonResponse;}PushResult pushResult = push(String.valueOf(title),contents);if(pushResult != null && pushResult.isResultOK()){log.info("針對別名" + title + "的信息推送成功!");commonResponse.setCode(CommonResponse.SUCCEE);commonResponse.setMessage("信息推送成功!");return commonResponse;}else{log.info("針對別名" + title + "的信息推送失敗!");commonResponse.setCode(MsgReturnCode.SYSTEM_EXCEPTION.code);commonResponse.setMessage("信息推送失敗!");return commonResponse;}上面的?String title = record.getTitle(); ?//標題
String contents = record.getContents(); ?//內容
就是推送的某條消息到用戶手機上,所要展示的標題和內容。
?
? ? ? ? ? ? .setPlatform(Platform.android_ios())??
? ?設置要推送的客戶端的平臺android、ios;可以單獨設置android或ios;我這里就都設置了。
? ? ? ? ? ? .setAudience(Audience.all())
? ?設置要推送的目標群用戶,按照各自業務區分需要,推送給目標群用戶,我這里設置全部用戶了。
.addPlatformNotification(AndroidNotification.newBuilder().addExtra("type", "infomation").setTitle(title).setAlert(contents).build()) .addPlatformNotification(IosNotification.newBuilder().addExtra("type", "infomation").setAlert(contents).build())設置安卓和ios平臺的推送消息標題和內容。整個后臺服務api接口開發就結束了,看著非常簡單;因為極光本身集成了強大的SDK供用戶使用,我們只需要引入jar依賴即可調用SDK中的方法,還有另一種單獨調用極光服務的api開發,那個會稍微復雜點,當然對其原理的理解也會更加深入點。
三、在安卓和ios客戶端對接
上面已經說了需要創建appKey和masterSecret。服務端跟客戶端對應同一套參數,這樣保證推送消息一致。
跟客戶端的聯調開發就不贅述了,這里只強調保證appKey和masterSecret參數一致就行了。
?
?
?
同名原創公眾號:程序大視界?
總結
以上是生活随笔為你收集整理的极光推送JPush使用Java SDK开发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP获取用户真实IP地址
- 下一篇: 文档上传到服务器上,将文件上传到服务器上