從 Apple 的 Push Notifications Console 測試推播功能

Apple 在 2023 推出了 Push Notifications Console,現在我們有更方便的方法測試實機是否能收到推播了。

製作能接收推播的 App

參考以下文章的說明,完成到使用模擬器測試推播

確認裝到模擬器的 App 能收到推播後,接下來我們再進一步測試, 從 Push Notifications Console 發送推播到實機上。

連到 Push Notifications Console

https://icloud.developer.apple.com/dashboard/notifications

選擇 App

點選上方的 App ID,從 App ID 選單選擇想要接收推播的 App。

上方的搜尋框可輸入文字,快速找到目標的 App ID。以下彼得潘輸入 push,找到目標 com.peter.DemoPeterPush

設定推播內容和發送推播

切換到 Send 分頁,點選編輯按鈕或 Create New Notification。

從以下畫面設定推播內容。

設定推播的名字,環境和 Device Token。

Environment 可選擇 Development 或 Production,從 Xcode 裝到實機的 App 請用 Development 測試,從 TestFlight,Ad Hoc 或 App Store 裝到實機的 App 請用 Production 測試。

Device Token 請貼上 application(_:didRegisterForRemoteNotificationsWithDeviceToken:) 印出的 deviceTokenString。

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {

let deviceTokenString = deviceToken.reduce("") {
$0 + String(format: "%02x", $1)
}
print("deviceToken", deviceTokenString)
}

ps: production device token 無法用 print 取得,可參考以下方法上傳到 server。

Request Headers 可調整推播的相關設定,以下我們採用預設的設定。

Payload 區塊是最重要的,我們在此填寫推播的內容。

最近七夕剛過,彼得潘輸入情人節快樂的推播祝福。

推播內容是 JSON 格式,如果習慣編輯 JSON,也可點選右上的 JSON View 開關切換成 JSON 格式。

點選右上的 Send 發送推播。

推播送出後,從下圖可看到推播的相關資訊和發送結果,successfully delivered to the target device 表示發送成功。

彼得潘的 iPhone 成功收到剛剛發送的推播。

推播的歷史記錄和其它工具

除了發送推播,Push Notifications Console 還提供一些方便的功能,比方從 Delivery Log 可查看過去發送的推播記錄。

從 Tools 頁面則可測試 JWT Validator,JWT Generator & Device Token Validator。

參考連結

--

--

彼得潘的 iOS App Neverland
彼得潘的 Swift iOS App 開發問題解答集

彼得潘的iOS App程式設計入門,文組生的iOS App程式設計入門講師,彼得潘的 Swift 程式設計入門,App程式設計入門作者,http://apppeterpan.strikingly.com