iOS 推送全解析,你不可不知的所有 Tips!

2021-09-11 11:26:04 字數 1881 閱讀 3919

本文旨在對 ios 推送進行乙個完整的剖析,如果你之前對推送一無所知,那麼在你認真地閱讀了全文後必將變成乙個推送老手,你將會對其中的各種細節和原理有充分的理解。以下是 pikacode 使用 ios 推送的一些經驗,歡迎互相交流,指出錯漏之處。

tip 3:手機向 apns 註冊推送服務

在**中註冊推送服務:

#ifdef __iphone_8_0

uiusernotificationsettings *settings = [uiusernotificationsettings settingsfortypes:uiusernotificationtypebadge| uiusernotificationtypesound|uiusernotificationtypealert categories:nil];

} else

#else

uiremotenotificationtype mytypes = uiremotenotificationtypebadge | uiremotenotificationtypealert | uiremotenotificationtypesound;

#endif

複製**

[jpushservice registerdevicetoken:devicetoken];//將 devicetoken 傳給極光推送

}複製**

如果以上步驟均成功,此時你能夠取到第三方提供的裝置註冊 id。能否取到該 id 值,可以作為判斷裝置是否能夠成功推送的標準(見 tip 6 - registration id)。因為當你取到該值時必然:

綜上,註冊及接收推送必須使用真機,必須連網。

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 10 新增的usernotifications framework 準備篇 tip 3 手機向 apns 註冊推送服務 1.在 中註冊推送服務 ifdef iphone 8 0 uiusernotificationsettings settings uiusernotifications...

iOS 推送全解析,你不可不知的所有 Tips!

本文旨在對 ios 推送進行乙個完整的剖析,如果你之前對推送一無所知,那麼在你認真地閱讀了全文後必將變成乙個推送老手,你將會對其中的各種細節和原理有充分的理解。tip 3 手機向 apns 註冊推送服務 1.在 中註冊推送服務 4.如果以上步驟均成功,此時你能夠取到第三方提供的裝置註冊 id。能否取...

你不可不知的美麗含義

學不好英語,不是你的錯。因為學習內容太枯燥乏味!為什麼不試試 看電影學英語 只要你略為留心,就會發現越來越多的進口 化妝品湧向我們的梳妝台。那些包裝精美,有著外國血統的瓶瓶罐罐上標註著各種我們不太熟悉的字母 英文 法文 日文用詞之間的細微差別多少讓人有些捉摸不定。如下蒐集了化妝瓶上最常見的詞彙和符號...