你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS技巧綜合 >> IOS 基於APNS消息推送原理與實現(JAVA後台)(1)

IOS 基於APNS消息推送原理與實現(JAVA後台)(1)

編輯:IOS技巧綜合
[摘要]本文是對IOS 基於APNS消息推送原理與實現(JAVA後台)的講解,對學習IOS蘋果軟件開發有所幫助,與大家分享。

Push的原理:

Push的工作機制可以簡單的概括為下圖

圖中,Provider是指某個iPhone軟件的Push服務器,這篇文章我將使用.net作為Provider。

APNS是ApplePushNotificationService(ApplePush服務器)的縮寫,是蘋果的服務器。

上圖可以分為三個階段。

第一階段:Push服務器應用程序把要發送的消息、目的iPhone的標識打包,發給APNS。

第二階段:APNS在自身的已注冊Push服務的iPhone列表中,查找有相應標識的iPhone,並把消息發到iPhone。

第三階段:iPhone把發來的消息傳遞給相應的應用程序,並且按照設定彈出Push通知。

從上圖我們可以看到。

1、首先是應用程序注冊消息推送。

2、IOS跟APNSServer要deviceToken。應用程序接受deviceToken。

3、應用程序將deviceToken發送給PUSH服務端程序。

4、服務端程序向APNS服務發送消息。

5、APNS服務將消息發送給iPhone應用程序。

無論是iPhone客戶端跟APNS,還是Provider和APNS都需要通過證書進行連接的。下面介紹一下所用到證書的制作。

一、CSR文件

1、生成CertificateSigningRequest(CSR)

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

點擊繼續:

這樣就在本地生成了一個PushTest.certSigningRequest文件。

二、SSLcertificate文件

1、用你付過費的帳號登錄到iOSProvisioningPortal,並創建Certificates(已創建可省略),如下圖:

點擊Submit 創建Certificate完畢。

2、新建一個App ID 點擊New App ID 輸入Description,Bundle Identifier,點擊Submit,新建App ID完畢。

找到新建的App ID 點擊右側的Configure:

Development Push SSL Certificate ,與Production Push SSL Certificate 區別在於一個是用於開發的推送證書,一個是用於發布產品的推送證書。兩個證書獲取到的終端deviceToken是不一樣的,用兩個證書生成的P12證書用於JAVA後台連接APNS的服務器地址也是不同的,Development Push SSL Certificate 對應連接的服務器地址是:gateway.sandbox.push.apple.com。Production Push SSL Certificate 對應連接的服務器地址是:gateway.push.apple.com。

點擊DevelopmentPushSSLCertificate一行後的Configure: 點擊Continue:

選擇前面生成好的PushTest.certSigningRequest文件,點擊Generate,出現如下所示的頁面:

點擊Continue:

點擊Download,下載生成的支持推送服務的證書(命名為:aps_development-6.cer)。

點擊Done,你會發現狀態變成了Enabled:

到現在為止,我們已經生成了兩個文件:

1、PushTest.certSigningRequest

2、aps_development-6.cer(下載生成的支持推送服務的證書。)

雙擊aps_development-6.cer注冊到你的鑰匙串中,這樣你的鑰匙串中就會有

三、准備profile證書,因為推送消息只能在真機上測試,所以要建一個profile證書 點擊"newprofile"為上面新建的APPID建個profile,成功之後下載pushtestdescDevprofile.mobileprovision 雙擊將其加入到xcode的ProvisioningProfiles中。

四、生成JAVA後台用於連接APNS的證書:

打開鑰匙串 選中Apple Development IOS Push Services:com.easecom.zhwgpushtestdesc,右鍵將其導出。 導出用於JAVA後台連接APNS的P12證書。 輸入p12 證書的密碼,本文中我用的是123456。記住這個密碼,JAVA後台使用p12證書的時候要用到。 輸入訪問鑰匙串的密碼:系統登陸密碼。

導出PushTest.p12證書完畢。

到現在為止,我們已經生成了四個文件:

1、PushTest.certSigningRequest

2、aps_development-6.cer(下載生成的支持推送服務的證書。)

3、pushtestdescDevprofile.mobileprovision 4、PushTest.p12

至此IOS消息推送(JAVA後台)證書全部制作完畢。

下面開始上代碼:

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved