远程通知样本

要模拟远程通知,您需要配置iOS应用和提供商服务器。 如果您还不了解通知,则需要阅读我撰写的有关本地通知样本的文章。

以下是我在阅读有关通知的所有Apple文档之后并结合NodeJS的基本知识后制作的视频:

在应用程序上配置远程通知

要为您的iOS应用配置远程通知,您需要按顺序阅读以下Apple文章。 它描述了您需要的所有东西,除了服务器端特定编程语言的代码。

向APN注册您的应用
与APN进行通信,并接收可标识您的应用程序的唯一设备令牌。

注意 :要获取设备令牌,您还需要在设备上运行应用程序以及用户权限以显示通知(通过使用UNUserNotificationCenter对象的requestAuthorization(options:completionHandler:)方法)。

设置远程通知服务器
设置服务器以生成通知并将其推送到用户设备。

生成远程通知
使用JSON负载将通知发送到用户的设备。

向APN发送通知请求
将您的远程通知有效负载和设备令牌信息发送到APN。

建立与APN的基于证书的连接
通过在提供商服务器上安装证书来保护与APN的通信安全。

建立与APN的基于令牌的连接
使用无状态身份验证令牌,通过APN保护您的通信。

静默地将更新推送到您的应用程序
传递静默通知,并在用户设备的后台唤醒您的应用程序。

如果您停留在上述任何步骤,都可以在此处下载完整的iOS应用项目。

在服务器上配置远程通知

首先,您需要下载在NodeJS环境上运行的示例服务器项目。 该项目使用基于证书的连接,与基于令牌的连接相比,它部署起来更简单。

打开provider-server.js文件,您将看到以下内容:

您需要为该服务器的操作提供3件事:

  1. cert.pem文件的路径
  2. key.pem文件的路径
  3. 设备令牌

要获取cert.pemkey.pem文件,您需要阅读本文。

我还使用node-apn节点包来支持发送通知。 你可以在这里读到它。