java apns是什么,讓我們一起了解一下?
apns是蘋果推送通知服務(wù),apns的傳輸和路由的通知從一個(gè)給定的供應(yīng)商給定的設(shè)備。通知是由兩個(gè)主要部分組成的數(shù)據(jù):設(shè)備令牌和有效載荷的短消息。
Java是如何整合APNS的?
從整體流程上:
1、App在蘋果的開發(fā)者系統(tǒng)上注冊獲取證書(這個(gè)證書可以用于生成.p12 [email protected])
2、某一個(gè)蘋果手機(jī)用戶注冊到APNS,APNS將注冊的token返回給APP。
3、APP將收到的token返還給我們的后臺服務(wù)。
4、后臺服務(wù)連接APNS,獲取連接對象。
5、后臺服務(wù)構(gòu)建消息載體。
6、后臺通過連接對象,根據(jù)指定的token將信息發(fā)送給指定的手機(jī)用戶。
從連接APNS的方式上:后臺服務(wù)連接APNS有兩種方式
1、基于Token,使用開發(fā)者中心申請的.p8文件和Key ID進(jìn)行Token認(rèn)證。
2、基于推送證書,使用.p12證書認(rèn)證。
Java APNS開源庫具體代碼如下:
cn.teaey.apns4j ?apns4j ?1.1.1 ?
//Step?1 ApnsChannelFactory?apnsChannelFactory?=?Apns4j.newChannelFactoryBuilder() .keyStoreMeta("${path?to?your?keystore}") .keyStorePwd("${keystore?password}") .build(); //Setp?2 ApnsChannel?apnsChannel?=?apnsChannelFactory.newChannel(); //Step?3?create?&?init?notify?payload ApnsPayload?apnsPayload?=?Apns4j.newPayload() ????????.alertTitle("Title") ????????.alertBody("Pushed?by?apns4j") ????????.sound("default"); //Step?4?send?via?channel apnsChannel.send("${target?device?token}",?apnsPayload); //Step?5?in?the?end,?apnsChannel?can?be?Recycle?and?Reuse? apnsChannel.close();
以上就是小編今天的分享了,希望可以幫助到大家。