大多数浏览器和
Developer App 均支持流媒体播放。
-
认识推送通知控制台
推送通知控制台是你在 App 中快速测试用户通知的理想方式。了解如何通过从控制台直接发送通知来多次发送新想法,以及如何分析交付日志以了解更多有关你的推送的信息。我们还会向你展示如何生成和验证令牌,以成功通过 Apple 推送通知服务 (APNs) 的身份验证。想要尽可能从本次讲座中获取更大的收获,你需要具备 Apple 推送通知服务 (APNs) 和用户通知的基本知识。
章节
- 0:00 - Intro
- 2:26 - Send notifications
- 5:00 - Examine delivery logs
- 7:53 - Debug with tools
- 11:01 - Wrap-up
资源
- Establishing a certificate-based connection to APNs
- Establishing a token-based connection to APNs
- Sending notification requests to APNs
相关视频
WWDC20
-
下载
♪ ♪
Artem:大家好 我是 Artem 一名 Apple Push Notifications 团队的工程师 我很高兴向你介绍推送通知控制台 这是一个全新的工具 融入了一些 可以帮助你将推送通知 集成到 App 的功能 首先 我会从控制台发送一些通知 帮助我们进行端到端测试 接着 我会使用传递日志功能来 分析一些常见问题 最后 我会再向你介绍一些 用于处理身份验证和 设备令牌的工具 接下来 我从介绍推送通知的 基础知识开始 推送通知是 App 或网站向用户设备 发送的短消息 该工具的功能十分强大 并且能够对 App 的功能进行扩展 每秒钟有数百万条推送通知 发送到 Apple 设备 从而为用户带来了更加丰富的体验 这些实时发送的通知 旨在为用户提供及时且相关的信息 因此在你更新 App 时 使用该工具将会为你 带来更加动态的体验 推送通知不仅可以提高用户参与度 同时还能让他们了解 你的 App 的最新消息 在这里 我来简单介绍一下 推送通知的工作原理 实现推送通知传递的后端称为 Apple 推送通知服务 简称 APNs 当你提示用户 允许来自 App 的通知时 通知的流程便开始了 如果用户允许 APNs 生成的设备令牌便会 发送到其设备上 令牌可以在该用户设备上 唯一识别你的 App 通常 令牌随后会转发到 你的 App 服务器中 进行存储以备后用 如果服务器想要发送推送通知 便可以利用存储的设备令牌 通过 APNs 进行发送
接着 APNs 就会用相应的令牌 将通知传递给设备上的 App 请注意 设备令牌可能会发生变化 因此 服务器端保持最新状态对于 传递的准确性及可靠性尤为重要 作为一个全新的工具 推送通知控制台 还提供了多种 用于与 APNs 进行交互的工具 如果你需要向正在开发的 App 添加推送通知 那么你可能还会希望对其 进行快速的端到端测试 在这里 发送功能便可以派上用场 当前 我正在开发 Backyard Birds App 春天到了 鸟儿从越冬地返回了 所以 我也想让用户知道这件事 我会创建一个新通知 对其进行命名 提供手机 App 上的设备令牌 并填写一些有效负载属性 我将 App 的名称作为标题
副标题为“重要更新”
正文就是“知更鸟回来了”
现在一切准备就绪 点击发送
一旦设备接收到推送 便会显示通知
为了方便起见 该页面中 通知的历史记录 都被保存在了左侧侧边栏中 如果我想再次使用刚刚的通知 但只是稍微修改一下消息内容 我就可以复制刚刚发送的消息 并创建一个新通知
在这里 对其进行命名
切换这个开关 然后我就可以以原始 JSON 格式 输入有效负载 我将刚刚复制的消息 插入到有效负载中 只修改正文
提供相同的设备令牌 然后发送出去
接着 设备就会收到更新后的通知
在该控制台上 你可以测试多种通知类型 以及各种属性 你可以指定环境……
尝试不同的推送类型……
设置具体的到期时间……
尝试不同的优先级……
以及发送各种类型的有效负载
接下来 我来介绍一下传递日志功能 有时你会遇到 发送的通知未被接收的情况 但是你却不清楚发生了什么 使用该工具便可以 帮助你对这种情况进行分析 当通知在 APNs 堆栈中传递时 传递过程中的事件便会被记录下来 接着 你就可以使用发送通知时 APNs 返回的新标头 对该信息进行检索 下面我来详细介绍一下 通过启用低电量模式 设备便可以模拟出 通知未被接收的情况
接着 我来到发送标签页 重新发送其中一个通知
对其进行命名 粘贴有效负载 提供设备令牌 然后将到期日期 设置为未来某个时间
但这一次点击“发送”之后 通知不会在设备上显示
为了弄清楚发生了什么 我会复制 APNs 在 HTTP 响应中 返回的新 ID 类型“apns-unique-id”
切换到“传递日志”标签页 我就可看到 一个搜索栏 用于粘贴刚刚复制的 ID 运行搜索后 我便可以看到通知在 APNs 堆栈中 传递的历史记录 在这里 我们看到最后一个事件是 “出于设备电量考虑进行存储” 这就解释了消息未得到传递的原因 在该情况中 由于手机处于低电量模式 为了节省电量 便会推迟部分通知的接收
关闭低电量模式 设备便可以 接收并显示通知
在通知成功传递后 传递日志也会显示 相应的更新
使用该工具 你可以对各种情况进行分析 历史事件会在相应工具提示中 描述发生的事情及发生的原因 例如 设备离线时 通知会进入 APNs 存储 而当 App 从设备上删除时 通知会被移除 你在使用工具过程当中 也会发现更多的例子 此外 该功能也适用于 通过常规 APNs API 发送通知 你只需要记录 APNs 响应中的 “apns-unique-id” 便可以查询该类信息 而对于从控制台发送的通知 你则无需切换到 “传递日志”标签页 因为发送页面 便可以查看到同样的信息
只要将 App 与 APNs 进行集成 你便可以使用多种用于身份验证及 通知发送的令牌 同时 控制台也会为你提供多种 使用该令牌的实用工具
首先 我们来介绍一下身份验证 APNs 身份验证共有两种类型: 基于证书的和基于令牌的
基于证书的身份验证依赖于 SSL 证书 在你的服务器和 APNs 之间 建立的受信任连接 你需要在 Apple 开发者门户中 为所有的 App 和环境 创建和管理证书 但请记住 证书会过期 所以你需要定期更新证书
基于令牌的身份验证则使用 JSON Web Token 对 你的提供商服务器和 APNs 进行安全高效的身份验证 该身份验证需要使用一个 与你的 Apple 开发者账户 关联的私钥所生成的令牌 与证书不同 私钥不会过期 推送通知控制台便可以为你提供 生成身份验证令牌的工具 而你所要做的就是提供 从 Apple 开发者门户中 获取的私钥……
以及关联的密钥 ID 提供这些信息后 新的令牌便会生成 接着 你便可以使用该令牌 对 APNs 请求身份验证 请记住 这些令牌的有效期 不超过 1 小时 因此你需要定期更换令牌 在生成令牌时 你的密钥不会被上传 它只会在你的浏览器中使用 所以你的私人信息处于保护之中 如果你已经有了一个令牌 但它好像没有正常启用 那么你便可以使用另一个工具 身份验证令牌验证器 复制刚刚生成的令牌 粘贴到验证工具中
在这里 我便得到了验证结果 验证结果可以是确认令牌有效 就像本例一样 或者为你提供令牌无效的原因 例如 如果我提供刚刚使用过的令牌 验证结果就会显示 “发布时间太旧了” 也就是说令牌已经过期了 最后 该控制台还提供了设备令牌验证器 你可能还记得 该类令牌在用于发送通知时 会指定接收者 并且与具体的环境和推送类型 紧密相关 当你输入令牌 响应便会告知你 该令牌适用于哪种环境和推送类型 前提是如果你有的话 例如 当我提供之前演示时所使用的 令牌 我们可以看到该令牌适用于 警告和后台推送类型以及开发环境 希望你会喜欢这些功能 并能够更加轻松地 将推送通知集成到你的 App 中 从而为用户提供更棒的功能 今天就开始试试吧 发送推送通知 来进行端到端的集成测试 检查传递日志 更好地了解推送过程 在控制台上实现令牌的验证 和新令牌的生成 想要了解更多有关 在客户端上实现推送通知的信息 欢迎观看 WWDC20 中的 “推送通知入门”视频 感谢你的观看 ♪ ♪
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。