IOS 訊息推送原理及實現總結

來源:互聯網
上載者:User

標籤:

一、訊息推送原理:

 

在實現訊息推送之前先提及幾個於推送相關概念,如1-1:

 

 

 1-1

1、              Provider:就是為指定IOS裝置應用程式提供Push的伺服器,(如果IOS裝置的應用程式是用戶端的話,那麼Provider可以理解為服務端[訊息的發起者]);

2、              APNS:Apple Push Notification Service[蘋果訊息推送伺服器];

3、              iPhone:用來接收APNS下發下來的訊息;

4、              Client App:IOS裝置上的應用程式,用來接收iphone傳遞APNS下發的訊息到制定的一個用戶端 app[訊息的最終響應者];

可以分為三個階段:

階段一:Provider[服務端]把要發送的訊息,目的IOS裝置標識打包,發送給APNS;

階段二:APNS在自身的登入Push服務的IOS裝置列表中,尋找有相應標識的IOS裝置,並將訊息發送到IOS裝置;

階段三:IOS裝置把發送的訊息傳遞給對應的應用程式,並且按照設定彈出Push通知。

具體過程,如1-2:

 

 1-2

1、              [Client App]註冊訊息推送;

2、              [Client App]跟[APNS Service]要deviceToken, Client App接收deviceToken;

3、              [Client App]將deviceToken發送給[Provider]Push服務端程式;

4、              當Push服務端程式滿足發送訊息條件了,[Provider]向[APNS Service]發送訊息;

5、              [APNS Service]將訊息發送給[Client App].

 

 

訊息推送實現:

1、             產生*.certSigningRequest檔案,步驟如下:

[MacBookà應用程式à工具 + 生產力à鑰匙串訪問à認證助手à從認證機構求認證?à認證資訊(使用者電子郵箱地址{填寫您的郵箱,如:[email protected]},常用名稱{任意,如:PushDemo},請求是:{單選,選擇‘儲存到磁碟’})à繼續à儲存],這時會在您指定的地方產生你指定的檔案,預設為CertificateSigningRequest.certSigningRequest檔案,這裡命名為:PushDemo.certSigningRequest.在此*.certSigningRequest已經產生,具體操作步驟2-1、2-2所示。

 

 2-1

 

 2-2

如果產生成功,則會在[鑰匙串訪問|登入|密鑰]欄目中列出與*.certSigningRequest關聯的密鑰,這裡是PushDemo,2-3所示:

 

 2-3

2、             建立一個App ID(在蘋果開發人員帳號中配置)

(1) 登入iOS Dev Center,登入成功後,點擊(iOS Provisioning Portal對應連結),2-4所示:

 

 2-4

(2) 建立New App ID[App IDsàManageàNew App ID]( Description{填寫您對此App ID 的描述,如:iShop},Bundle Seed ID(App ID Prefix){選擇綁定App ID首碼,如:預設選擇Generate New},Bundle Identifier(App ID Suffix){填寫綁定App ID尾碼,如:com.yourcorp.iShop}),如2-5所示:

 

 2-5

       這樣就會產生下面這條記錄,2-6所示:

 

 2-6

(3) 配置上一步中產生的App ID,讓其支援訊息推送[點擊2-6中的Configureà選中Enable for Apple Push Notification serviceà點擊Configure],2-7所示:

 

 2-7

       (4) Generate a Certificate Signing Request(產生部署請求認證)[點擊2-7中的2ConfigureàContinueà步驟1產生的*certSigningRequest檔案(這裡是iShop.certSigningRequest)à Generateà產生完成後將其下載下來,命名為:aps_developer_identity.cer],雙擊aps_developer_identity.cer認證{將認證與密鑰關聯,並將認證匯入到MacBook中},如2-8所示:

 

 2-8

(5) 建立Development Provisioning Profiles[開發許可設定檔](Provisioning| Development|New Profile),具體操作流程如2-9所示:

 

 

 2-9

       點擊圖2-9中Submit,產生Development Provisioning Profiles[開發許可設定檔],這裡是:iShopDevprofile.mobileprovision如2-10所示:

 

 2-10

下載此開發許可認證(用於聯機調試)。

總結,到現在為止,我們已經產生:A*.certSigningRequest檔案(在步驟(4)中使用,用於產生認證B)B: aps_developer_identity.cer認證(在Provider[Push伺服器]服務端應用使用)、C:*..mobileprovision開發許可設定檔(在Client App用戶端應用聯機調試使用)。

 

至此,訊息推送的配置已經全部完成,接下來的工作就是編寫Provider[Push伺服器]服務端應用和Client App用戶端應用的程式,本來自己是想一步一步詳細的寫下去,但是對於這一部分,互連網上已經很多,在此就不在贅述,但還是給出相應串連,供大家參考,如下:

(1)iphone push notification 訊息推送

(2)iphone 推播通知 伺服器端java 實現

(3)iPhone訊息推送機制實現及通過.net應用程式發送消

註:原文轉載處http://mmz06.blog.163.com/blog/static/121416962011111710934946/

IOS 訊息推送原理及實現總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.