教學課程:設定 iOS 應用程式以使用 Azure 通知中樞

本教學課程說明如何設定 Azure 通知中樞,並設定認證,以透過 Apple 推播通知服務 (APNS) 將通知推播至 iOS 裝置。

執行本教學課程是後續 Objective C 和 Swift iOS 教學課程的必要條件,並涵蓋下列步驟:

  • 產生憑證簽署要求檔案。
  • 要求您的應用程式以取得推播通知。
  • 建立應用程式的布建配置檔。
  • 建立通知中樞。
  • 使用APNS資訊設定通知中樞。

必要條件

若要完成本教學課程,您必須擁有作用中的 Azure 帳戶。 如果您沒有帳戶,只要幾分鐘就能建立免費試用帳戶。 如需詳細資料,請參閱 Azure 免費試用

您也需要下列項目:

  • 作用中的 Apple開發人員 帳戶。
  • 執行 Xcode 的 Mac,以及安裝到 Keychain 的有效開發人員憑證。
  • 執行 iOS 10 版或更新版本的 i 電話 或 iPad。
  • 您在Apple入口網站註冊並與您的憑證相關聯的實體裝置。

如果您不熟悉服務,請務必閱讀 Azure 通知中樞概觀

注意

通知中樞將設定為僅使用沙箱驗證模式。 您不應該將此驗證模式用於生產工作負載。

產生憑證簽署要求檔案

Apple Push Notification Service (APNS) 會使用憑證來驗證您的推播通知。 請遵循這些指示來建立必要的推播憑證來傳送和接收通知。 如需這些概念的詳細資訊,請參閱 官方Apple推播通知服務 檔。

產生憑證簽署要求 (CSR) 檔案,Apple 用來產生已簽署的推播憑證:

  1. 在您的 Mac 上,執行 Keychain 存取工具。 您可以從 [公用程式] 資料夾或 Launchpad 上的 [其他] 資料夾開啟它。

  2. 選取 [金鑰鏈存取],展開 [憑證助理],然後選取 [向證書頒發機構單位要求憑證]。

    Screenshot that highlights the Request a Certificate from a Certificate Authority menu option.

    注意

    根據預設,Keychain Access 會選取清單中的第一個專案。 如果您位於 [憑證] 類別,Apple Worldwide Developer Relations 證書頒發機構單位不是清單中的第一個專案,則這可能會是個問題。 在產生 CSR(憑證簽署要求)之前,請確定您有非密鑰專案,或 已選取 Apple 全球開發人員關係證書頒發機構單位 金鑰。

  3. 選取您的 [使用者電子郵件位址],輸入您的 [一般名稱] 值,確定您指定 [ 儲存到磁碟],然後選取 [ 繼續]。 將 CA 電子郵件位址保留空白,因為不需要。

    Required certificate information

  4. 在 [另存新檔] 中輸入 CSR 檔案的名稱,選取 [位置] 中的位置,然後選取 [儲存]。

    Choose file name

    此動作會將 CSR 檔案儲存在選取的位置。 默認位置為 Desktop。 請記住為檔案選擇的位置。

接下來,向Apple註冊您的應用程式、啟用推播通知,並上傳導出的 CSR 以建立推播憑證。

註冊應用程式以便使用推播通知

若要將推播通知傳送至 iOS 應用程式,請向 Apple 註冊您的應用程式,並註冊推播通知。

  1. 如果您尚未註冊應用程式,請流覽至 Apple 開發人員中心的 iOS 佈建入口網站 。 使用您的 Apple ID 登入入口網站,然後選取 [ 標識符]。 然後選取 + 以註冊新的應用程式。

    App IDs page

  2. 在 [ 註冊新的標識符 ] 畫面上,選取 [ 應用程式標識符 ] 單選按鈕。 然後選取 [繼續]

    Register new ID page

  3. 更新新應用程式的下列三個值,然後選取 [ 繼續]:

    • 描述:輸入應用程式的描述性名稱。

    • 套件組合標識碼:輸入組織標識符.產品名稱套件組合標識碼,如應用程式散發指南中所述。 [組織標識符] 和 [產品名稱] 值必須符合您在建立 Xcode 專案時所使用的組織識別碼和產品名稱。 在下列螢幕快照中 ,NotificationHubs 值會當做組織標識碼使用,而 GetStarted 值會當做產品名稱使用。 請確定套件 組合識別碼 值符合 Xcode 專案中的值,讓 Xcode 使用正確的發佈配置檔。

      Register app ID

    • 推播通知:檢查 [功能] 區段中的 [推播通知] 選項。

      Register new app ID

      此動作會產生您的應用程式識別碼和您確認資訊的要求。 選取 [ 繼續],然後選取 [ 註冊 ] 以確認新的應用程式標識符。

      Confirm new App ID

      選取 [ 註冊] 之後,您會在 [憑證、標識符和配置檔 ] 頁面上看到新的應用程式識別碼作為明細專案。

  4. 在 [憑證]、[標識符和配置檔] 頁面的 [標識符] 下,找出您剛才建立的應用程式標識碼明細專案,然後選取其數據列以顯示 [編輯您的應用程式標識符組態] 畫面。

建立通知中樞的憑證

注意

使用 iOS 13 版本,您只能使用令牌型驗證來接收無訊息通知。 如果您使用憑證式驗證進行APNS認證,則必須切換至使用 令牌型驗證

需要憑證,才能讓通知中樞使用 APNS。 完成此步驟的方式有兩種:

  • 建立 可直接上傳至通知中樞的 .p12 檔案。

  • 建立可用於令牌型驗證的 .p8 檔案(較新的方法)。

相較於使用憑證,第二個選項有一些優點,如APNS的令牌型 (HTTP/2) 驗證中所述。 不過,這兩種方法都會提供步驟。

選項 1:建立可直接上傳至通知中樞的 .p12 推播憑證

  1. 向下卷動至核取的 [推播通知 ] 選項,然後選取 [ 設定 ] 以建立憑證。

    App ID

  2. [ Apple 推播通知服務 SSL 憑證 ] 視窗隨即出現。 選取 [開發 SSL 憑證] 區段中的 [建立憑證] 按鈕。

    Create certificate

    [ 建立新的憑證 ] 畫面隨即顯示。

    注意

    本教學課程使用開發憑證。 註冊生產憑證時會使用相同的程式。 請確定您在傳送通知時使用相同的憑證類型。

  3. 選取 [ 選擇檔案],流覽至您從第一個工作儲存 CSR 檔案的位置,然後按兩下憑證名稱以載入它。 然後選取 [繼續]

  4. 在入口網站建立憑證之後,選取 [ 下載] 按鈕。 儲存憑證,並記住儲存憑證的位置。

    Download certificate

    憑證會下載並儲存在 [ 下載] 資料夾中。

    Locate certificate file

    根據預設,下載的開發憑證會命名為 aps_development.cer

  5. 按兩下下載的推送憑證 aps_development.cer。 此動作會在 Keychain 中安裝新的憑證,如下圖所示:

    Keychain access

    雖然憑證中的名稱可能不同,但名稱前面會加上 Apple Development iOS Push Services

  6. 在 [金鑰鏈存取] 中,以滑鼠右鍵按下您在 [憑證] 類別中建立的新推播憑證。 依序選取 [匯出]、命名檔案、選取 .p12 格式,然後選取 [ 儲存]。

    Export certificate

    您可以選擇使用密碼保護憑證,但這是選擇性的。 如果您想要略過密碼建立,請按兩下 [ 確定 ]。 記下匯出之 .p12 憑證的檔名和位置。 它們可用來啟用APNS的驗證。

    注意

    您的 .p12 檔名和位置可能與本教學課程中所描繪的內容不同。

選項 2:建立可用於令牌型驗證的 .p8 憑證

  1. 記下下列詳細資料:

    • 應用程式識別碼前置詞 (這是 小組識別碼
    • 套件組合標識碼
  2. 回到 [ 憑證]、[標識符和配置檔] 中,按兩下 [ 金鑰]。 如果您已經有針對APNS設定的金鑰,則可以在建立 .p8 憑證之後重新使用您下載的 .p8 憑證。 如果是,您可以忽略步驟 3 到 5。

  3. 按兩下按鈕(或[+建立金鑰] 按鈕來建立新的金鑰。

  4. 提供適當的 [金鑰名稱] 值、核取 [Apple Push Notifications 服務 ][APNS] 選項,然後按兩下 [繼續],然後在下一個畫面上單擊 [註冊]。

  5. 按兩下 [下載],然後將 .p8 檔案 (前面加上 AuthKey_) 移至安全的本機目錄,然後按兩下 [完成]。

    重要

    請務必將 .p8 檔案保留在安全的地方(並儲存備份)。 下載金鑰之後,就無法重新下載金鑰;伺服器複本已移除。

  6. 在 [金鑰] 上,按下您剛才建立的金鑰(或如果您選擇改用現有的金鑰)。

  7. 記下 [ 金鑰識別碼 ] 值。

  8. 在您選擇的適當應用程式中開啟 .p8 憑證,例如 Visual Studio Code,然後記下密鑰值。 這是 -----BEGIN PRIVATE KEY----- 和 -----END PRIVATE KEY 之間的值-----

    -----BEGIN PRIVATE KEY-----
    <key_value>
    -----END PRIVATE KEY-----
    

    這是稍後將用來設定通知中樞的令牌值。

在這些步驟結束時,您應該有下列資訊,以供稍後使用APNS資訊設定通知中樞:

  • 小組識別碼 (請參閱步驟 1)
  • 套件組合識別碼 (請參閱步驟 1)
  • 金鑰識別碼 (請參閱步驟 7)
  • 權杖值 (.p8 金鑰值,請參閱步驟 8)

建立布建配置檔

  1. 返回 iOS 佈建入口網站,選取 [憑證]、[標識符和配置檔],從左側功能表中選取 [配置檔],然後選取+以建立新的配置檔。 [ 註冊新的布建配置檔 ] 畫面隨即出現。

  2. 選取 [開發] 下的 [iOS 應用程式開發] 作為布建配置檔類型,然後選取 [繼續]。

    Provisioning profile list

  3. 接下來,從 [應用程式 標識符] 下拉式清單中選取您建立的應用程式識別碼,然後選取 [ 繼續]。

    Select App ID

  4. 在 [ 選取憑證] 視窗中,選取用於程式代碼簽署的開發憑證,然後選取 [ 繼續]。 此憑證不是您所建立的推送憑證。 如果不存在,您必須建立它。 如果憑證存在,請跳至下一個步驟。 如果開發憑證不存在,若要建立開發憑證:

    1. 如果您看到 [沒有可用的憑證],請選取 [ 建立憑證]。
    2. 在 [軟體] 區段中,選取 [Apple Development]。 然後選取 [繼續]
    3. 在 [ 建立新的憑證 ] 畫面中,選取 [ 選擇檔案]。
    4. 流覽至您稍早建立的 憑證簽署要求 憑證,加以選取,然後選取 [ 開啟]。
    5. 選取繼續
    6. 下載開發憑證,並記住其儲存位置。
  5. 返回 [憑證]、[標識符和配置檔] 頁面,從左側功能表中選取 [配置檔],然後選取+以建立新的配置檔。 [ 註冊新的布建配置檔 ] 畫面隨即出現。

  6. 在 [ 選取憑證] 視窗中,選取您剛才建立的開發憑證。 然後選取 [繼續]

  7. 接下來,選取要用於測試的裝置,然後選取 [ 繼續]。

  8. 最後,在 [布建配置檔名稱] 中選擇設定檔的名稱,然後選取 [產生]。

    Choose provisioning profile name

  9. 建立新的布建配置檔時,選取 [ 下載]。 請記住儲存位置。

  10. 流覽至布建配置檔的位置,然後按兩下它,將它安裝在 Xcode 開發電腦上。

建立通知中樞

在本節中,您會使用 .p12 推播憑證或令牌型驗證來建立通知中樞,並使用 APNS 設定驗證。 如果您想要使用已建立的通知中樞,您可以跳至步驟 5。

  1. 登入 Azure 入口網站

  2. 選取左側功能表上的 [所有服務],然後在 [行動裝置] 區段中選取 [通知中]。 選取服務名稱旁的星號圖示,將服務新增至左側功能表上的 [我的最愛] 區段。 將通知中樞新增[我的最愛] 之後,請選取它。

    Azure portal

  3. 在 [通知中 樞] 頁面上,選取 工具欄上的 [新增 ]。

    Add toolbar button

  4. 在 [通知中 樞] 頁面上,執行下列步驟:

    1. 在通知中樞輸入名稱。
    2. 在 [建立新命名空間] 中輸入名稱。 命名空間包含一或多個通知中樞。
    3. 從 [ 位置 ] 下拉式清單中選取值。 這個值會指定您要在其中建立通知中樞的位置。
    4. 在資源群組選取現有的資源群組,或建立新的資源群組。
    5. 選取 建立

    Set properties

  5. 選取 [通知 ] (鈴鐺圖示),然後選取 [移至資源]。 您也可以在 [通知中 ] 頁面上重新整理清單,然後選取您的中樞。

    Portal notifications

  6. 從清單中選取 [ 存取原則 ]。 請注意,這兩個 連接字串 可供您使用。 您稍後需要他們來處理推播通知。

    重要

    請勿在應用程式中使用 DefaultFullSharedAccessSignature 原則。 這僅供後端使用。

    Connection strings

使用APNS資訊設定通知中樞

在 [通知服務] 底下,選取 [Apple][APNS],然後根據您先前在 [建立通知中樞憑證] 區段中所選擇的方法,遵循適當的步驟。

注意

只有在您想要將推播通知傳送給從市集購買應用程式的使用者時,才使用生產模式

選項 1:使用 .p12 推播憑證

  1. 選取 [ 憑證]。

  2. 選取檔案圖示。

  3. 選取您稍早導出的 .p12 檔案,然後選取 [ 開啟]。

  4. 如有需要,請指定正確的密碼。

  5. 選取 [ 沙盒 模式]。

    Configure

  6. 選取 [儲存]。

選項 2:使用令牌型驗證

  1. 選取 [令牌]。

  2. 輸入您稍早取得的下列值:

    • 金鑰識別碼
    • 套件組合標識碼
    • 小組標識碼
    • 權杖
  3. 選擇 沙箱

  4. 選取 [儲存]。

您現在已使用APNS設定通知中樞。 您也有註冊應用程式並傳送推播通知所需的 連接字串。

下一步

在本教學課程中,您已在 Azure 中建立並設定通知中樞,並將其設定為允許透過 Apple Push Notification Service (APNS) 將通知傳送至您的應用程式。 接下來,我們將建立範例 iOS 應用程式,並整合 Azure 通知中樞 SDK,以便接收透過 Azure 入口網站 傳送的推播通知。 根據您的選擇語言前進到下列教學課程: