從 ios 10 新增的usernotifications framework
準備篇
tip 3:手機向 apns 註冊推送服務
1.在**中註冊推送服務:
[jpushservice registerdevicetoken:devicetoken];//將 devicetoken 傳給極光推送 }#ifdef __iphone_8_0
uiusernotificationsettings *settings = [uiusernotificationsettings settingsfortypes:uiusernotificationtypebadge| uiusernotificationtypesound|uiusernotificationtypealert categories:nil];
} else
#else
uiremotenotificationtype mytypes = uiremotenotificationtypebadge | uiremotenotificationtypealert | uiremotenotificationtypesound;
#endif
3.
如果註冊成功,則可以在
的如下方法中獲取到 devicetoken
devicetoken
devicetoken
devicetoken
不斷變化的情況。有時會出現一條推送手機會收到 2 次的問題,屬於 ios 9 系統問題)。
4如果以上步驟均成功,此時你能夠取到第三方提供的裝置註冊 id。能否取到該 id 值,可以作為判斷裝置是否能夠成功推送的標準(見 tip 6 – registration id)。因為當你取到該值時必然:
5.綜上,註冊及接收推送必須使用真機,必須連網。
使用你們公司或第三方的服務端向 apns 傳送推送請求(請參考蘋果 apns 相關資料,或者第三方推送提供了更簡單的 rest api)。
apns 接收並驗證推送請求。
apns 找到裝置下發推送。
後台收到:
退出收到:
展示橫幅、通知中心、聲音、角標。
tip 5:推送通知分為 本地/遠端 2 種型別:
通知內容類似如下:
;
key1 = value1; // 自定義字段,可設定多組,用於處理內部邏輯
key2 = value2;
}
後台推送
通知內容類似如下:
;
key1 = value1;
}
靜默推送
通知內容類似如下:
;
key1 = value1;
}
別名、標籤、registration id 均是第三方提供的用於更方便地指定推送目標的功能。
tip 6:推送根據目標的不同可分為:
別名 alias 推送
標籤 tag 推送
registration id 推送
tip 7:應用內訊息(以下簡稱訊息 )和推送通知的區別,訊息:
由第三方的伺服器下發,而不是 apns。
相比通知,更快速,幾乎沒有延遲,可用於 im 訊息的即時送達。
能夠長時間保留離線訊息,可獲取所有歷史訊息內容。
通過長連線技術下發訊息,因此:
沒有任何展示(橫幅、通知中心、角標、聲音),因此可以:
tip 8:tags 的組合技巧
tip 9:通知+訊息的組合技巧
通知訊息
送達時間
可能存在幾秒延遲
幾乎無延遲
獲取時機
處於前台或後台能獲取內容
僅處於前台能獲取內容
離線內容
保留『一段時間』,過期會拋棄,無法查詢歷史內容
始終保留,可查詢全部歷史內容
系統展示
不展示
情景二:(期待您的補充…)
iOS 推送全解析,你不可不知的所有 Tips!
本文旨在對 ios 推送進行乙個完整的剖析,如果你之前對推送一無所知,那麼在你認真地閱讀了全文後必將變成乙個推送老手,你將會對其中的各種細節和原理有充分的理解。tip 3 手機向 apns 註冊推送服務 1.在 中註冊推送服務 4.如果以上步驟均成功,此時你能夠取到第三方提供的裝置註冊 id。能否取...
iOS 推送全解析,你不可不知的所有 Tips!
本文旨在對 ios 推送進行乙個完整的剖析,如果你之前對推送一無所知,那麼在你認真地閱讀了全文後必將變成乙個推送老手,你將會對其中的各種細節和原理有充分的理解。以下是 pikacode 使用 ios 推送的一些經驗,歡迎互相交流,指出錯漏之處。tip 3 手機向 apns 註冊推送服務 在 中註冊推...
你不可不知的美麗含義
學不好英語,不是你的錯。因為學習內容太枯燥乏味!為什麼不試試 看電影學英語 只要你略為留心,就會發現越來越多的進口 化妝品湧向我們的梳妝台。那些包裝精美,有著外國血統的瓶瓶罐罐上標註著各種我們不太熟悉的字母 英文 法文 日文用詞之間的細微差別多少讓人有些捉摸不定。如下蒐集了化妝瓶上最常見的詞彙和符號...