本教學課程會示範如何設定 Azure 通知中樞,以及如何透過 Apple Push Notification Service (APNS) 設定認證,以將通知推送至 iOS 裝置。
本教學課程是後續 Objective C 和 Swift iOS 教學課程的必要條件,並涵蓋下列步驟:
- 產生憑證簽署要求檔案。
- 為您的應用程式要求推播通知。
- 建立應用程式的佈建設定檔。
- 建立通知中樞。
- 使用 APNS 資訊設定您的通知中樞。
先決條件
若要完成此教學課程,您必須具備有效的 Azure 帳戶。 如果您沒有帳戶,只需要幾分鐘的時間就可以建立免費試用帳戶。 如需詳細資料,請參閱 Azure 免費試用。
您也需要下列項目:
- 作用中的 Apple 開發人員帳戶。
- 執行 Xcode 的 Mac,以及安裝在您 Keychain 中的有效開發人員憑證。
- 執行 iOS 10 或更新版本的 iPhone 或 iPad。
- 在 Apple 入口網站中註冊且與您憑證相關聯的實體裝置。
如果您不熟悉此服務,則請務必閱讀 Azure 通知中樞概觀。
附註
通知中樞已設定為只使用沙箱驗證模式。 您不應該將此驗證模式用於生產工作負載。
產生憑證簽署要求檔案
Apple Push Notification Service (APNS) 使用憑證來驗證您的通知服務。 遵循下列指示來建立必要的推播憑證,以便傳送和接收通知。 如需這些概念的詳細資訊,請參閱 Apple Push Notification Service 官方文件。
產生憑證簽署要求 (CSR) 檔案,Apple 會用此檔案來產生簽署的推播憑證:
在您的 Mac 上,執行「鑰匙圈存取」工具。 此工具可從啟動控制板上的 [公用程式] 資料夾或 [其他] 資料夾開啟。
選取 [金鑰鏈存取],並展開 [憑證助理],然後選取 [從憑證授權單位要求憑證]。
附註
依預設,Keychain 存取會選取清單中的第一個項目。 如果您位於 [憑證] 類別中,而 Apple Worldwide Developer Relations 憑證授權單位不是清單中的第一個項目,則可能因此而產生問題。 在產生 CSR (憑證簽署要求) 之前,請確定您擁有非金鑰項目,或已選取 Apple Worldwide Developer Relations 憑證授權單位金鑰。
選取您的使用者電子郵件地址,輸入一般名稱值,並確定您已指定 [儲存至磁碟],然後選取 [繼續]。 請將 [CA 電子郵件地址] 留空,因為這不是必要資訊。
在 [另存新檔] 中輸入 CSR 檔案的名稱,在 [位置] 中選取位置,然後選取 [儲存]。
此動作會在選取的位置儲存 CSR 檔案。 預設位置是桌面。 請記住為檔案選擇的位置。
接著,向 Apple 註冊您的應用程式,並啟用推播通知,然後上傳這個匯出的 CSR 建立推播憑證。
針對推播通知註冊應用程式
若要將推播通知傳送至 iOS 應用程式,請向 Apple 註冊您的應用程式,並註冊進行推播通知。
如果您尚未註冊應用程式,請流覽至 Apple 開發人員中心的 iOS 佈建入口網站 。 使用您的 Apple ID 登入入口網站,然後選取 [識別碼]。 然後選取 + 以註冊新的應用程式。
在 [註冊新識別碼] 畫面上,選取 [應用程式識別碼] 選項按鈕。 然後選取 [繼續]。
將新應用程式的下列三個值予以更新,然後選取 [繼續]:
描述:輸入您應用程式的描述性名稱。
套件組合識別碼:以應用程式分發指南中所提及的 Organization Identifier.Product Name 形式輸入套件組合識別碼。 [組織識別碼] 和 [產品名稱] 值必須符合當您建立 Xcode 專案時使用的組織識別碼和產品名稱。 在下列螢幕擷取畫面中,NotificationHubs 值會作為組織識別碼,GetStarted 值會作為產品名稱。 請確定套件組合識別碼值符合您 Xcode 專案中的值,好讓 Xcode 使用正確的發行設定檔。
推播通知:核取 [功能] 區段中的 [推播通知] 選項。
此動作會產生您的應用程式識別碼,並要求您確定此資訊。 選取 [繼續],然後選取 [註冊] 以確認新的應用程式識別碼。
選取註冊之後,您會在 [憑證、識別碼與設定檔] 頁面中看到作為明細項目的新應用程式識別碼。
在 [憑證、識別碼與設定檔] 頁面的 [識別碼] 底下,找出您剛才建立的應用程式識別碼明細項目,然後選取其資料列以顯示 [編輯您的應用程式識別碼設定] 畫面。
建立通知中樞的憑證
附註
隨著 iOS 13 的發行,您只能使用權杖型驗證來接收無訊息通知。 如果您要將憑證型驗證用於 APNS 認證,則必須切換成使用權杖型驗證。
需要憑證才能搭配使用通知中樞與 APNS。 完成此步驟的方式有兩種:
建立可直接上傳至通知中樞的 .p12 檔案。
建立 .p8 檔案,其可用於權杖型驗證 (較新的方法)。
相較於使用憑證,第二個選項有許多優點,如 APNS的令牌型驗證 (HTTP/2) 驗證中所述。 不過,這兩種方法的步驟皆有提供。
選項 1:建立可直接上傳至通知中樞的 .p12 推送憑證
向下瀏覽至已核取的 [推播通知] 選項,然後選取 [設定] 來建立憑證。
[Apple 推播通知服務 SSL 憑證] 視窗隨即出現。 在 [開發 SSL 憑證] 區段中選取 [建立憑證] 按鈕。
[建立新憑證] 畫面會隨即顯示。
附註
本教學課程使用開發憑證。 註冊生產憑證時,將使用同一個程序。 確定在傳送通知時使用相同的憑證類型。
選取 [選擇檔案],瀏覽到您在第一個工作中儲存 CSR 檔案的位置,然後按兩下憑證名稱來將其下載。 然後選取 [繼續]。
在入口網站建立憑證之後,請選取 [下載] 按鈕。 儲存憑證,並記住其儲存位置。
憑證會下載並儲存至 [下載] 資料夾:
依預設,下載的開發憑證會名為 aps_development.cer。
按兩下下載的推播憑證 aps_development.cer。 此動作會在 Keychain 中安裝新的憑證。
在 Keychain Access 中,以滑鼠右鍵按一下您在 [憑證] 類別中建立的新推播憑證。 選取 [匯出]、為檔案命名、選取 [.p12] 格式,然後選取 [儲存]。
您可以選擇使用密碼來保護憑證,但這是選擇性的。 如果您想要略過密碼建立,請按一下 [確定]。 記下匯出的 .p12 憑證的檔案名稱和位置。 其可用來啟用 APNS 驗證功能。
附註
您的 .p12 檔案名稱和位置可能與本教學課程中所顯示的不同。
選項 2:建立可用於權杖型驗證的 .p8 憑證
記下下列詳細資料:
- 應用程式識別碼首碼 (這是小組識別碼)
- 套件組合識別碼
回到 [憑證、識別碼與設定檔] 中,按一下 [金鑰]。 如果您已為 APNS 設定金鑰,則可重複使用在建立之後所下載的 .p8 憑證。 若是如此,您可以忽略 3 到 5 的步驟。
按一下 [+] 按鈕 (或 [建立金鑰] 按鈕) 以建立新的金鑰。
提供適當的金鑰名稱值,勾選 [Apple Push Notifications Service (APNS)] 選項,接著在下一個畫面上,依序按一下 [繼續]、[註冊]。
按一下 [下載],並將 .p8 檔案 (前置為
AuthKey_) 移至安全的本機目錄,然後按一下 [完成]。重要事項
請務必將您的 .p8 檔案保留在安全的位置 (並儲存備份檔案)。 下載完您的金鑰之後,就無法再重新下載,因為伺服器複本已移除。
在 [ 金鑰] 上,按下您剛才建立的金鑰(或選擇改用現有的密鑰)。
請記下金鑰識別碼的值。
在所選擇的適當應用程式中開啟您的 .p8 憑證,例如 Visual Studio Code,然後記下金鑰值。 這是 -----BEGIN PRIVATE KEY----- 和 -----END PRIVATE KEY----- 之間的值。
-----BEGIN PRIVATE KEY----- <key_value> -----END PRIVATE KEY-----這是稍後用來設定通知中樞的令牌值。
在這些步驟的最後,您應該具有下列資訊,以便稍後在使用 APNS 資訊設定通知中樞中使用:
- 小組識別碼 (請參閱步驟 1)
- 套件組合識別碼 (請參閱步驟 1)
- 金鑰識別碼 (請參閱步驟 7)
- 權杖值 (.p8 金鑰值,請參閱步驟 8)
建立佈建設定檔
返回 iOS 佈建入口網站、選取 [憑證、識別碼與設定檔]、從左側功能表中選取 [設定檔],然後選取 [+] 以建立新的設定檔。 [註冊新佈建設定檔] 的畫面會隨即出現。
在 [開發] 下,選取 [iOS 應用程式開發] 作為佈建設定檔類型,然後選取 [繼續]。
接著,從 [應用程式識別碼] 下拉式清單選取您建立的應用程式識別碼,然後選取 [繼續]。
在 [選取憑證] 視窗中,選取用於程式碼簽署的開發憑證,然後選取 [繼續]。 此憑證不是您建立的推播憑證。 如果沒有憑證存在,您必須加以建立。 如果憑證存在,請跳到下一個步驟。 若要建立開發憑證 (憑證不存在的話):
- 如果您看到 [沒有可用憑證],請選取 [建立憑證]。
- 在 [軟體] 區段中,選取 [Apple 開發]。 然後選取 [繼續]。
- 在 [建立新憑證] 畫面中,選取 [選擇檔案]。
- 瀏覽至您稍早建立的憑證簽署要求憑證並加以選取,然後選取 [開啟]。
- 選取 [繼續]。
- 下載開發憑證,並記住其儲存位置。
返回 [憑證、識別碼與設定檔] 頁面,並從左側功能表中選取 [設定檔],然後選取 [+] 以建立新的設定檔。 [註冊新佈建設定檔] 的畫面會隨即出現。
在 [選取憑證] 視窗中,選取您剛才建立的開發憑證。 然後選取 [繼續]。
接下來,選取要用來測試的裝置,然後選取 [繼續]。
最後,在 [佈建設定檔名稱] 中為設定檔選擇名稱,然後選取 [產生]。
建立新的佈建設定檔後,請選取 [下載]。 記住其儲存位置。
瀏覽至佈建設定檔的位置,然後按兩下來將其安裝在您的 Xcode 開發機器上。
建立通知中樞
在本節中,您會建立一個通知中樞,並透過 .p12 推播憑證或權杖型驗證,使用 APNS 來設定驗證。 如果您想要使用您已建立的通知中樞,您可以跳至步驟 5。
登入 Azure 入口網站。
選取左功能表上的 [所有服務],然後選取 [行動] 區段中的 [通知中樞]。 選取服務名稱旁邊的星號圖示,將服務加到左功能表上的 [我的最愛] 區段。 將 [通知中樞] 新增至 [我的最愛] 之後,請加以選取。
在 [通知中樞] 頁面上,選取工具列上的 [新增]。
在 [通知中樞] 頁面上,執行下列步驟:
- 在 [通知中樞] 中輸入名稱。
- 在 [建立新的命名空間] 中輸入名稱。 命名空間包含一或多個通知中樞。
- 從 [位置] 下拉式清單中選取值。 此值會指定您要在其中建立通知中樞的位置。
- 在 [資源群組] 中選取現有的資源群組,或建立新的資源群組。
- 選取 [建立]。
選取 [通知] \(鈴鐺圖示),然後選取 [前往資源]。 您也可以重新整理 [通知中樞] 頁面中的清單,然後選取您的中樞。
從清單中選取 [存取原則]。 請記下您可使用的兩個連接字串。 您稍後需要用到這些連接字串來處理推播通知。
重要事項
請勿在應用程式中使用 DefaultFullSharedAccessSignature 原則。 這只能在後端使用。
使用 APNS 資訊設定您的通知中樞
在 [Notification Services] 下,選取 [Apple (APNS)],然後遵循先前在<建立通知中樞的憑證>一節中選擇的方法進行適當的步驟。
附註
只有在您想傳送推播通知給從市集購買應用程式的使用者時,才可使用 [生產] 的 [應用程式模式]。
選項 1:使用 .p12 推送憑證
選取 [憑證] 。
選取 [檔案] 圖示。
選取您先前匯出的 .p12 檔案,然後選取 [開啟]。
若有需要,請指定正確的密碼。
選取 [沙箱] 模式。
選取 [儲存]。
選項 2:使用權杖型驗證
選取權杖。
輸入您稍早取得的下列值:
- 金鑰識別碼
- 套件組合識別碼
- 小組識別碼
- 權杖
選取 [沙箱]。
選取 [儲存]。
您現在已使用 APNS 來設定通知中樞。 您也擁有註冊應用程式和傳送推播通知所需的連接字串。
後續步驟
在本教學課程中,您已在 Azure 中建立並設定通知中樞,並將其設定為允許透過 Apple Push Notification Service (APNS) 將通知傳送至您的應用程式。 接下來,我們會建立範例 iOS 應用程式,並整合 Azure 通知中樞 SDK,以便接收透過 Azure 入口網站傳送的推播通知。 根據您選擇的語言,前往下列教學課程: