小樹描述了以下問題,經驗豐富的小黑立刻看出了端倪所在,問小樹:是不是忘記設定推送型別為沙箱模式了?
此時的小樹一臉茫然,趕緊問:什麼是沙箱環境啊?
沙箱環境其實就是測試環境的意思,這是蘋果系統習慣性的稱呼。為了方便描述,我們下面還是用測試環境來替代沙箱環境吧。
小樹聽完連忙點頭,之後又繼續發問:那就是說推送系統也有測試環境和正式環境之分?
小黑不急不忙地跟小樹說:那是肯定的啊。如果沒有區分測試環境和線上環境,那我們在測試新功能的時候豈不是會干擾到線上使用者的正常使用。
小黑接著說道:所以你提供給測試人員測試時,需要提供測試環境的推送,這樣測試人員測試的時候才能正常收到推送。而當我們功能開發完成,需要發布到線上時,我們需要使用線上環境的推送。
小樹聽完之後趕緊將推送型別改為測試模式,之後讓測試妹子再次測試。果不其然,這次果然能收到推送提醒了。
在一旁的小黑看到了小樹皺著眉頭,於是拿起紙和筆畫起了圖跟小樹講解起來。
小樹接著問:這個世界上的 ios 裝置那麼多,apns 伺服器怎麼知道這條訊息是要推送給哪個裝置的呢?
小樹問的問題真是問到點子上了,小黑高興地誇獎道。
要解答你這個問題,那就必須提一下devicetoken這個東西。只要有 devicetoken,那麼apns 伺服器就知道將訊息推送到哪台 ios 裝置上。
小樹接著問:那也就是說 devicetoken 是跟裝置繫結的咯?
其實你只答對了一半。
還記得我們每次新裝乙個應用的時候都會彈出乙個「是否允許***給你傳送系統訊息」的提示嗎?
當我們需要傳送推送訊息時,apns 伺服器便會根據我們傳遞的 devicetoken 引數尋找到對應的長連線,再將要傳送的資料通過長連線推送到對應的裝置上。
小樹聽完連連稱讚,沒想到乙個簡單的推送還有這麼多學問。
小黑看著小樹似懂非懂的樣子,於是讓小樹試著描述一下整個蘋果推送的流程,藉此看看小樹是否真的掌握了。
小樹聽到了躍躍欲試,開始滔滔不絕地講起來。
第二步,當我們需要傳送推送訊息時,我們請求我們的後台伺服器,告訴它我們要發一條推送訊息給某個 devicetoken。後台伺服器接收到訊息後轉而請求apns 伺服器的沙箱環境介面或線上環境介面。
第三步,當 apns 伺服器接收到請求後,它根據 devicetoken 取出之前已經建立的與該 ios 建立的長連線,最後將需要傳送的內容輸出到該長連線中。
整個流程大概像下面這張圖描述的這樣:
小黑聽完小樹的複述不由得感慨,現在的年輕人學東西還蠻快的嘛,講了一遍就都記住了。
舉一反三的小樹又發問了:那安卓系統是不是也有對應的官方推送啊?
那肯定的啊,不過我們這個留著下次你遇到問題再講吧。遇到問題再學習,印象更加深刻。小黑故意埋了乙個關子。
為什麼接收不到資料
我寫的上位機程式,用串列埠助手可以接收到它發來的資料,問什麼它接收不到串列埠助手發過來的資料,下面是它接收資料的 大家幫我看看,謝謝!procedure tform1.button7click sender tobject var data string bufferlength word buff...
為什麼你總是拿不到高薪?
小李和小王是大學同學,都是計算機專業,畢業後都進入 同一家大型軟體公司做軟體開發工作,不知不覺,他們已經在這家公司工作5年了,在一次同學聚會上,大家把酒言歡,共敘桑麻。同學多年不見,當然,少不了工作和薪資的話題,無意中,小李聽到了小王的薪資已經有3萬多,他心裡咯噔了一下,突然覺著落差好大,因為自己才...
為什麼網上支付後卻收不到貨
我們發現了各種網路犯罪分子利用監控受害者郵箱所收集來的資訊以從企業竊取金錢的方法,其中 變更供貨商 是最值得注意的。步驟一 選擇官方服務郵箱成為犯罪目標 我們發現在此案例中,網路犯罪分子專門針對中小型企業的公開電子郵件位址,我們的資料顯示出這些都是 官方 公司郵件位址,格式通常為info compa...