最近弄了下推送,在測試時(shí)遇到了些問題,在此整理匯總了些推送測試相關(guān)的方案,并添加了一些補(bǔ)充信息。下方鏈接是相關(guān)文章,感謝各位作者的分享。
創(chuàng)新互聯(lián)專注于江城企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),成都商城網(wǎng)站開發(fā)。江城網(wǎng)站建設(shè)公司,為江城等地區(qū)提供建站服務(wù)。全流程按需搭建網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
debug包和build切換為release直接在手機(jī)上跑生成的device token都是開發(fā)token。release打包后注冊生成的token是生產(chǎn)的。
向證書制作者要推送證書的 p12文件。 雙擊輸入密碼。在鑰匙串中找到如下。
證書有下方密鑰,沒有的話證書不可用。
將p12上傳的三方平臺并填寫密碼即可。測試推送在這些推送平臺填寫 設(shè)備token等信息即可。
給中臺p12文件和密碼,協(xié)商好消息格式、提供對應(yīng)環(huán)境的token,由中臺觸發(fā)即可。
注意證書分為三種。測試(sanbox)、生產(chǎn)、 測試和生產(chǎn)合并。
如果發(fā)送成功,核對 token、證書、中臺鏈接蘋果服務(wù)器息的地址。是否為統(tǒng)一環(huán)境。(蘋果的推送服務(wù)器也是區(qū)分測試和生產(chǎn)的,域名不同,下方腳本中可以看到)
在Xcode11.4之后,模擬器也支持推送測試
具體格式根據(jù)你們的產(chǎn)品要求,接入極光或者個(gè)推的可以在控制臺發(fā)一條推送打印出具體格式內(nèi)容查看,將文件保存后綴為apns,待會要用到
a、查看已啟動(dòng)模擬器
會看到類似下面信息,如果沒有請先啟動(dòng)模擬器
b、運(yùn)行項(xiàng)目在模擬器上后執(zhí)行相應(yīng)命令simctl push device [bundle identifier] (json file | -)
示例如下
將第一步創(chuàng)建的json文件內(nèi)容稍加修改,具體就是添加了"Simulator Target Bundle": "com.app.test"你項(xiàng)目的包名
然后直接拖動(dòng)文件到模擬器上,出現(xiàn)綠色?后松手,這樣也可以進(jìn)行推送測試
參考蘋果官方文檔
Sending Push Notifications Using Command-Line Tools
u;/u
1、在終端新建 shell 文件,這里命名為 push-remote-notification
2、編輯 shell 腳本,這里需要 der 和 pem 證書,如果已經(jīng)有了 p12 證書,可以通過 openssl 進(jìn)行轉(zhuǎn)換
運(yùn)行 shell 腳本
真實(shí)腳本事例:
a、p12轉(zhuǎn)der需要先轉(zhuǎn)為pem格式,再從pem轉(zhuǎn)到der格式
openssl pkcs12 -in disPush.p12 -out disPush.pem -nodes
b、pem轉(zhuǎn)der
openssl x509 -outform der -in certificate.pem -out certificate.der
Smart push
git地址:
如果報(bào)錯(cuò)
SSL端點(diǎn)域名不能被設(shè)置 -25300
Keychain中不能找到證書 -25300
說明鑰匙串中沒有密鑰,要新的p12文件并雙擊
不推薦,所以不例舉,網(wǎng)站風(fēng)險(xiǎn)無法判斷。
u;/u 證書轉(zhuǎn)換
u;/u 證書轉(zhuǎn)換
u;/u 證書轉(zhuǎn)換
u;/u
u;/u
u;/u 腳本
u;/u
u;/u 腳本
u;/u 模擬器
導(dǎo)語:
由于移動(dòng)設(shè)備內(nèi)存、CPU、電量的局限性,iOS 不允許 APP 的進(jìn)程常駐后臺(事實(shí)上可以申請后臺運(yùn)行一段時(shí)間,最長約 10 分鐘),這樣當(dāng)用戶主動(dòng)殺掉 APP,或者 APP 進(jìn)入后臺超過約定時(shí)長時(shí),就意味著該 APP 進(jìn)程的結(jié)束。這在很大程度上保障了前臺 APP 的流暢性,也延長了手機(jī)的使用時(shí)長,獲得了較好的用戶體驗(yàn)。但是這也意味著,服務(wù)器無法主動(dòng)和用戶交互(如推送實(shí)時(shí)消息等)。為了解決這個(gè)限制,蘋果推出了 APNs,允許設(shè)備和服務(wù)器分別與蘋果的推送通知服務(wù)器保持長連接狀態(tài)。
iOS 的通知分為本地通知和遠(yuǎn)程通知。本地通知是由本地應(yīng)用觸發(fā)的,一般是基于時(shí)間的一種通知形式,如鬧鐘、待辦事件等的提醒。遠(yuǎn)程通知是由開發(fā)商通過自己的服務(wù)器推送的一種通知形式,而 APNs 就是遠(yuǎn)程通知功能的核心。
關(guān)于遠(yuǎn)程推送,記住以下兩點(diǎn)就夠了:
這里就很清楚了,其實(shí) APNs 的本質(zhì)就是 服務(wù)器和客戶端之間的中介 。當(dāng)服務(wù)器需要給客戶端推送消息時(shí),先將消息發(fā)送給蘋果服務(wù)器,再由蘋果服務(wù)器找到對應(yīng)設(shè)備推送下去。
那為什么還要走中介,不直接發(fā)送呢?因?yàn)檫@樣做一個(gè)設(shè)備(即所有 APP )只需要和蘋果的服務(wù)器建立一條長連接,而不需要每個(gè) APP 都和服務(wù)器建立一條長連接。
可能有些人還是不太明白 APNs 的意義,覺得也只是將多個(gè)長連接變成了統(tǒng)一的一個(gè)長連接而已,有必要那么做嗎?
很有必要!
我們來看下 Android 的推送現(xiàn)狀就明白了。
Android 事實(shí)上也有類似于 APNs 的一套用于推送的服務(wù),簡稱 GCM,即 Google Cloud Messaging。但由于 GCM 需要谷歌服務(wù)器的支持,在國內(nèi)由于「墻」的原因基本不能使用。這下就熱鬧了,國內(nèi)出現(xiàn)了一大堆第三方推送服務(wù)商,如華為推送、小米推送、極光推送等。APP 通過集成這些推送服務(wù)來實(shí)現(xiàn)推送功能,而這些推送服務(wù)為了保持自己的長連接不被殺死,采用了各種?;睢拘咽侄?,這也是 Android 手機(jī)使用不流暢的真兇。之前也有看到「 工信部要求國內(nèi)安卓統(tǒng)一消息推送標(biāo)準(zhǔn) 」的新聞,工信部都這么重視,可見統(tǒng)一推送的意義非凡。
想要了解具體區(qū)別,可以參考這篇文章 「 國內(nèi) 90%以上的 iOS 開發(fā)者,對 APNs 的認(rèn)識都是錯(cuò)的 」。
不言而喻,當(dāng)然是盡早升級 HTTP/2 協(xié)議了。
參考:
(完)
APNs Development iOS :開發(fā)環(huán)境下的推送證書。APP接入個(gè)推、極光實(shí)現(xiàn)推送功能時(shí),需要這兩個(gè)環(huán)境下的證書,不過證書要在keychain中生成p12文件才可被個(gè)推、極光識別。
Apple Push Services :生產(chǎn)環(huán)境下的推送證書。APP接入個(gè)推、極光實(shí)現(xiàn)推送功能時(shí),需要這兩個(gè)環(huán)境下的證書,不過證書要在keychain中生成p12文件才可被個(gè)推、極光識別。
iOS Distribution :生產(chǎn)證書。把a(bǔ)pp的ipa包上傳到AppStoreConnect審核會用到發(fā)布證書
iOS Development :開發(fā)證書。真機(jī)調(diào)試、發(fā)包測試會用到開發(fā)證書
關(guān)于ios消息推送機(jī)制(APNS)的實(shí)現(xiàn)、原理介紹很多,但都零零散散。
1、APNS原理、配置開發(fā)者賬戶以開啟APNS服務(wù)、獲取發(fā)送消息的認(rèn)證證書的實(shí)現(xiàn)。
2、首先是應(yīng)用程序注冊消息推送。
3、 IOS跟APNS Server要deviceToken。應(yīng)用程序接受deviceToken。
4、應(yīng)用程序?qū)eviceToken發(fā)送給PUSH服務(wù)端程序。
5、 服務(wù)端程序向APNS服務(wù)發(fā)送消息。
6、APNS服務(wù)將消息發(fā)送給iPhone應(yīng)用程序。
消息推送應(yīng)該找一家專業(yè)的軟件,極光就挺不錯(cuò)的。極光推送(JPush)是獨(dú)立的第三方云推送平臺,致力于為全球移動(dòng)應(yīng)用開發(fā)者提供移動(dòng)消息推送服務(wù)。
2016年6月,國內(nèi)一站式開發(fā)者服務(wù)平臺極光推送發(fā)表公開聲明,宣布品牌正式全面升級為大數(shù)據(jù)綜合服務(wù)商“極光”。
文章名稱:iosapns開發(fā),ios 開發(fā)
網(wǎng)站URL:http://www.rwnh.cn/article10/dsighdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、微信公眾號、軟件開發(fā)、、品牌網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)