iOS推送介紹

2022-05-07 01:54:08 字數 1964 閱讀 8601

ios訊息推送的工作機制可以簡單的用下圖來概括:

上圖可以分為三個階段:

第一階段:應用程式把要傳送的訊息、目的iphone的標識打包,發給apns。 

第二階段:apns在自身的已註冊push服務的iphone列表中,查詢有相應標識的iphone,並把訊息傳送到iphone。 

第三階段:iphone把發來的訊息傳遞給相應的應用程式,並且按照設定彈出push通知。

從上圖我們可以看到:

1、應用程式註冊訊息推送。

2、ios從apns server獲取device token,應用程式接收device token。

3、應用程式將device token傳送給push服務端程式。

4、服務端程式向apns服務傳送訊息。

5、apns服務將訊息傳送給iphone應用程式。

無論是iphone客戶端和apns,還是provider和apns,都需要通過證書進行連線。

下面我介紹一下幾種用到的證書。

一、csr檔案

1、生成certificate signing request(csr)

2、填寫你的郵箱和常用名稱,並選擇儲存到硬碟。

點選繼續:

這樣就在本地生成了乙個push.certsigningrequest檔案。

二、p12檔案

1、匯出金鑰。

2、輸入你的密碼。

這樣就生成了乙個push.p12檔案。

三、ssl certificate檔案

2、點選右側的configure:

3、點選development push ssl certificate一行後的configure:

4、點選continue:

5、選擇前面生成好的push.certsigningrequest檔案,點選generate,出現如下所示的頁面:

6、點選continue:

7、點選download,並將檔案命名為aps_developer_identity.cer。

8、點選done,你會發現狀態變成了enabled:

到現在為止,我們已經生成了三個檔案:

1、push.certsigningrequest

2、push.p12

3、aps_developer_identity.cer

通過registerforremotenotificationtypes方法,告訴應用程式,能接受push來的通知。

nsstring *token = [nsstring stringwithformat:@"%@", devicetoken];  

nslog(@"my token is:%@", token);  

}  nsstring *error_str = [nsstring stringwithformat: @"%@", error];  

nslog(@"failed to get token, error:%@", error_str);  

}  獲取到的devicetoken,我們可以提交給後台應用程式,傳送通知的後台應用程式除了需要知道devicetoken之外,還需要乙個與apns連線的證書。

這個證書可以通過我們前面生成的兩個檔案中得到。

個人覺得推送的一些第三方還是可以嘗試使用的

iOS推送 實現本地推送

第一步 建立本地推送 建立乙個本地推送 uilocalnotification notification uilocalnotification alloc init autorelease 設定 10秒之後 nsdate pushdate nsdate datewithtimeintervalsi...

iOS推送 實現本地推送

第一步 建立本地推送 建立乙個本地推送 uilocalnotification notification uilocalnotification alloc init autorelease 設定10秒之後 nsdate pushdate nsdate datewithtimeintervalsin...

ios本地推送

第一步 建立本地推送 建立乙個本地推送 uilocalnotification notification uilocalnotification alloc init autorelease 設定10秒之後 nsdate pushdate nsdate datewithtimeintervalsin...