無論iPhone還是安卓,我們用到的所有應用基本都有推送通知服務,因為這是應用很好的推廣方式,有新產品了、有新更新了通知下用戶及時查看。但Apple有點特殊,它的推送需要發到蘋果服務器上中轉一下,這就是蘋果的推送通知服務APNs(Apple Push Notification service),例如友盟,極光之類的推送服務都是向APNs推送消息,APNs再將消息推送給設備的,並不像安卓那樣直接找到設備發送消息;蘋果需要驗證是否含有證書,有證書才能發送;現在我們就看看推送證書如何創建:
注:首先說明我們創建推送證書建立在已有APP ID的情況下,一般APP ID創建是一個項目開發首要的,最基本的,如不清楚的自行百度
1、首先登錄自己的開發賬號,進入iOS Certificates證書中心,點擊Certificates 下的All,這時點擊右上角的“+”號增加證書,如下圖:


2、進入選擇證書類型頁面,這里有創建開發證書、發布證書、推送開發證書、推送生產證書,筆者賬號開發證書和發布證書都已建滿,所以呈灰色,但推送證書(帶Push)正常,一般推送的開發和生產證書都需要,開發證書供開發時候用,生產證書發布時用,兩種后面的步驟一致,所有在這就不重復介紹,只選擇一種,選擇好證書類型,點擊下面的Continue按鈕:


3、選擇你需要創建推送證書的應用的APP ID,點擊Continue:


4、進入Create a CSR file 頁面,直接Continue:


5、這時會讓你選擇CSR file,但是CSR file我們暫時還未創建,所以我們得先創建CSR file,再進行下一步:


6、在Mac電腦上打開鑰匙串訪問:


7、點擊菜單中的鑰匙串訪問—>證書助理—>從證書頒發機構請求證書...


8、進入證書助理頁面,選擇存儲到磁盤,電子郵件地址隨便填,點擊繼續:


9、這時就創建好了CSR file文件了,桌面出現如下圖標:


10、接下來我們回到第5步,選擇好剛創建的CSR file,點擊Continue:


11、這時證書已經創建好,回到iOS Certificates證書中心頁面,我們就可以看到我們創建的兩個證書(開發與生產),后面還有到期時間:




12、我們已經創建好證書了,接下來就是安裝證書了,點擊Download下載,雙擊證書,注意一定要雙擊,開發、生產證書都是一樣的,這樣推送證書就安裝好了,可以去鑰匙串看到:


13、我們已經創建了證書也已經安裝好了證書,但是我們集成的一些第三方平台,如極光推送,還需要我們上傳證書到它們平台,但它們要的證書並不是我們之前創建的,而是需要
.p12
文件的證書,這就需要我們從鑰匙串導出
.p12
格式,生產、開發都需要,操作如下:


14、把上面導出的證書上傳到第三方平台就可以,上傳成功會提示已驗證,這時就可以集成SDK,發送推送了:


有人注意到推送證書有時間期限的,是的,是有有效期,有時我們應用突然接不到消息了,有可能就是證書過期了,有效期一般為1年左右,那有效期快過了怎么處理呢?
解決方案:
1、刪除MAC上鑰匙串訪問中對應的推送證書
2、去開發者中心刪掉過期推送證書,重新按着上面的步驟重新來一遍
3、在第三方平台上重新上傳新的.p12證書
已上線的應用也是一樣,刪掉證書不會影響推送,只要對應的APP ID是一樣的!