大多数浏览器和
Developer App 均支持流媒体播放。
-
让日记 App 提供更出色的建议
了解如何利用系统中更丰富的内容,让你的日记 App 显示日记建议。探索新的可选内容类型,例如心理状态数据、反思方面的提示,以及支持的第三方媒体内容和基于动作的活动。
章节
- 0:00 - Introduction
- 1:56 - Landscape support
- 2:34 - Suggestion updates
- 13:54 - Best practices
资源
- Forum: App & System Services
- Journaling Suggestions
- Presenting the suggestions picker and processing a selection
相关视频
WWDC24
Tech Talks
-
下载
大家好!我叫 Rene 是 Sensing And Connectivity 团队的一员 今天 我将向大家介绍 iOS 18 发布的 更新版 Journaling Suggestions API Journaling Suggestions API 可帮助人们反思自己的生活 写手记有着悠久的历史 有研究表明花点时间来思考和写作 甚至还能改善 身心健康 但有时 人们可能感觉无从下笔 这正是 Journaling Suggestions 的用途所在 iOS 能检测用户生活中 有意义的事件 并为用户开始下笔写手记 提供相应建议 这类建议包含 用户拍摄的照片、 体能训练、去过的地方等内容 短短几个月内 采用这个 API 的 App 数量便达到数十个之多 这里只显示了其中少数几个 App 借助 iOS 18 的新增功能 我们进一步丰富了这个 API 的功能 在本次讲座中 我将向大家介绍这些功能 但是 如果你刚刚 开始使用 Journaling Suggestions 或者只想更全面地复习一下 请参考我们去年的 技术讲座 标题为 “探索 Journaling Suggestions API”
本次讲座介绍了开始使用 这个 API 所需了解的一切信息 例如 它的架构是怎样的 如何利用这个 API 为 App 提供的 不同类型的建议和素材 以及我们在这个 API 中 嵌入的隐私考虑因素 和用户控制措施 首先将介绍对横向模式的全面支持 这非常适合那些 需要此类体验的用户
接着将介绍 我们对建议做出了哪些更新 其中涵盖全新的及更新后的素材类型 然后 我们将深入了解一些 最佳做法和经验 以便回顾这个 API 的首批采用者 是如何使用它的 首先 我们来介绍横向支持 在 iOS 17.2 中 Journaling Suggestions 选择器 被锁定在纵向模式下 但从 iOS 18 开始 它将遵循 App 方向设置 前提是 App 支持横向模式
在间隙屏幕上 用户可查看 要与 App 分享的内容 同时这个屏幕还可 充分利用更宽的空间 来展示更大尺寸的素材 请注意 你无需执行任何操作 便可使用这个功能 只要你的应用程序 支持横向模式 选择器就会根据 App 的 当前操作进行相应调整 现在 我们来深入了解一下 iOS 18 提供的建议更新
Journaling Suggestions 附带多种素材类型 可让手记条目 既美观又富有意义 在本次讲座中 我们将 更深入地探究其中四种素材类型 “心理状态”是去年推出的 一项健康功能 你的 App 现在可接收 与这项功能对应的某一素材类型 以作为自身建议的一部分 对于那些热爱运动 但没有 Apple Watch 的用户来说 “运动活动”建议 现在支持新的活动类型
借助我们的“通用媒体”建议 用户可在非 Apple 应用程序中 记录他们听到的 音乐和播客 最后 我还会介绍“反思提示” 这种建议最初 仅用于“手记”App 但现在可供你使用
首先 我们来了解一下 “心理状态”整合功能
在 iOS 17 中 我们在“健康”App 内 推出了一个方法 供用户记录心理状态 多项研究表明 情感写作 尤其是表达性写作 有助于改善 身心健康 以写作的方式直面 令人沮丧的经历和情绪 有助于降低负面影响 而细细品味正面情绪 则有助于增强这类感受 因此“心理状态”功能成了 Journaling Suggestions 体验的必备功能
可供记录的 “心理状态”样本 主要分为两类 用于描述某个特定时刻的 感受的“瞬时情绪”以及 用于描述当天整体感受的 “每日心情” 此外 每个“心理状态”样本 还附带了有助于提供心理状态相关内容的相应信息:
-“效价”可提供关于 相应心理状态的 积极或消极程度的信息 -“标签”可用于描述 相应心理状态 带给用户的具体感受 比如 标签可能会报告用户感到平静、 平和、满意等等 - 最后 “关联”有助于描述 产生相应感受的因素有哪些 例如家人、 工作、健康等 当然 所有的心理状态 都可以进行记录 无论它们的效价、 类型或用户 所附加的关联是什么 “心理状态”这项功能 还有更多妙用有待发掘 相关更新也将在 iOS 18 中推出 要想了解更多相关信息 请参考 “探索 HealthKit 中的 身心健康 API”讲座 其中介绍了如何通过 App 来记录心理状态样本 现在 我们来看看 “心理状态”是如何 与 Journaling Suggestions 整合的 “心理状态”建议 既可能是独立的建议 也可能与外出、活动 或居家时间等现有建议捆绑在一起 在 iOS 18 之前就开始使用 Journaling Suggestions 的用户 会在建议表中收到一则提示 以便帮助他们启用“心理状态”内容 而对于新用户 这个功能可在用户引导期间启用 因此 对于手记 应用程序开发者来说 当用户选择将这个新内容 发送到你的应用程序时 这个内容便会作为 一种新的素材类型
与其他类型的素材一样 “心理状态”也有自己 独立的素材类型 即 JournalingSuggestion.StateOfMind 这个素材附带 HKStateOfMind 样本表示 其中包括“效价”、“标签” 和“关联” 此外 它还包含图像 URL、 关联的浅色和深色 以及时间戳
要添加 “心理状态”素材内容 首先需检索某个建议中 JournalingSuggestion.StateOfMind 类型的所有内容
然后 可使用项目图标 直接在 AsyncImage 中转换这个素材
在这个示例中 我们还将通过一个自定函数 来添加这一素材的表情符号表示
在本例中 getEmotionEmoji 函数的作用非常简单
检查效价是正、 是负 还是介于二者之间
当然 你也可以将 所有“心理状态”属性 用于你的应用程序 接下来 我们来看看 这个示例的结果
在本例中 所选建议提供了 某个已记录的“每日心情”的 “心理状态”内容 此外 还可使用附带的“标签” 与“关联”元素值 来创造一个表达性 情绪手记写作体验 以上便是有关 “心理状态”建议的介绍 下面 我们来继续了解 我们对“运动活动”建议 做出的改进 在 iOS 17.2 中 我们之前为参与长距离步行 但并未将这项运动作为体能训练 进行跟踪的人群推出了 “运动活动”建议 这类建议 仅基于电话 并且用于跟踪步数 在 iOS 18 中 我们推出了 跑步与走跑结合的活动 这类建议仍可通过 Journaling Suggestions 设置中的 “活动”开关来访问 与先前一样 这类建议可与 用户拍摄的照片 或他们聆听的音乐结合使用
除了步数、 图标 URL 和时间戳 “运动活动”素材现在还有一个 针对运动类型的附加字段 它旨在告知你的应用程序 检测到的活动是步行、 跑步还是走跑结合 当然 每种运动类型 都有自己的图像
要添加 “心理状态”素材内容 首先需要在建议中检索 JournalingSuggestion.MotionActivity 类型的所有内容 然后 你可以使用项目图标 直接在 AsyncImage 中转换这个素材
在这个示例中 我们还将通过自定函数 添加“运动活动” 的文本表示
getMotionActivityLabel 函数 的作用非常简单: 检查运动类型 以及为跑步、 步行或走跑结合 进行特殊用例设置 以上便是利用新的“运动活动”内容 所需了解的全部信息 现在 我们来看看 这个示例的结果
这个简单示例展示了 用户选择的某个素材 它的运动类型为 新的“跑步”运动活动 这便是 “运动活动”建议的更新 接下来 我们将了解一种 名为“通用媒体”的 全新建议类型 在 iOS 17.2 中 我们推出了“歌曲”和“播客”素材 这类素材主要以 你在 Apple Music 和 Apple 播客中 聆听的音乐和播客为主
在 iOS 18 中 我们还支持其他可为用户提供 音乐或播客内容的媒体应用程序 例如 如果你的 App 用户 是 Melody123 或 EnlightningTalks App 的粉丝 那么他们聆听的内容 便可显示为 手记建议的一部分 当然 有时应用程序还可 同时提供音乐和播客 因此 我们将这类建议 称为“通用媒体” 并使用播放媒体所用的 应用程序的对应图标 来表示这类建议
这可通过 “媒体”Journaling Suggestions 设置进行控制 另外请注意 提供媒体内容的应用程序 可以选择 不参与使用 Journaling Suggestions 如需了解更多信息 请参考 Now Playing API
这一全新的“通用媒体”素材类型 附带媒体标题、 艺人姓名、专辑名称、 App 图标和时间戳
要添加 “通用媒体”素材内容 首先需要在建议中检索 JournalingSuggestion.GenericMedia 类型的所有内容
然后 可通过用于播放相应媒体 的 App 的 App 图标 直接在 AsyncImage 中 转换这个素材
在这个示例中 我们会在标题、艺人和专辑名称 可用的情况下显示这些内容
请记住 我们无法保证这些字段一定存在 具体取决于提供相应数据的 App 所提供的内容 因此 请务必在使用这些字段前 确认它们是否存在 现在 我们来看看 这个示例的结果
我们现在来运行这个示例 在本例中 我们从 Melody123 示例 App 中选择了一个包含 “通用媒体”内容的建议 如这个 App 的图标所示 这个 App 还收到了一首歌的 播放详情 包括歌曲标题、 艺人和专辑名称 这就是你从用户喜爱的 App 中 为媒体内容提供支持的方式 现在 我们来看看 这个版本的最后一项新增功能 即“反思”建议
“反思”建议是一种普遍适用的提示 可帮助你对感恩、 善意、目的等对象进行反思 这类提示具有鼓励意味 通常会为某一主题设定框架 并向你询问与之相关的问题 感知型建议取决于 你与世界开展互动的方式 与感知型建议不同 反思提示是广泛适用的 且不受时间限制 换言之 你可以随时 通过这些提示进行反思 甚至还能以某种节奏返回到这些提示 这类建议默认为启用状态 但可通过 Journaling Suggestions 设置下全新的“反思提示”开关 进行控制 另外还要注意 建议表会在“推荐”标签页中 显示这种类型的某些建议 为了方便用户选择 最适合自己的建议 每条建议均附带一个按钮 用于循环显示不同的提示
当用户选择某个反思提示时 你的应用程序便会收到一个 JournalingSuggestion.Reflection 素材 处理这个素材非常简单 因为它只包含用户选取的 提示字符串 此外 你还能看到在这个表上 用于显示这一提示的颜色 这样 你就能在应用程序中 匹配这个体验
要添加 反思提示素材内容 首先需检索建议中 JournalingSuggestion.Reflection 类型的 所有内容
然后 针对每条内容 可利用 prompt 属性 并通过 Text 元素来显示相关内容
在本例中 我还使用了系统提供的背景颜色 并通过 getForegroundColor 函数 相应选择了前景色
同样 getForegroundColor 的逻辑 也非常简单 那就是检查背景色的亮度 是高于还是低于 平均值
我们现在来运行这个示例
在本例中 选取的建议 包含“反思”内容 且显示为深色 而提示文本则以 对比鲜明的白色前景色来显示
用户可将 反思提示字符串 作为一个起点 来帮助实现 表达性手记写作体验
至此 你已了解关于如何处理 新反思建议的全部内容 现在 我敢肯定 你想在 iOS 18 正式发布时 让你的应用程序蓄势待发 下面我们将继续了解相关最佳做法 借助这个 API 的新增功能 你的应用程序 可以利用新的内容 而用户可选择以全分辨率 将这些内容发送到你的应用程序 你可充分利用 我们提供的每个字段 并以符合你的应用程序的方式 来量身定制相应体验 如果你的应用程序 未采用新的 API 你的 App 可能会忽略 从完成块返回的 某些内容 而这可能会影响用户体验 但是 通过支持 UIImage 和 Image 等后备素材类型 你也能让你的 App 在升级后具备更强大的功能 这样 即使你未立即处理 所有可用字段 你的 App 也能 提供一定水平的支持 另外请牢记 用户可以控制 与你的应用程序共享的内容 - 他们可以选择在用户引导期间 或隐私设置中 在他们的建议内 包含哪些内容 - 他们可以选择要向你的应用程序 发送哪些建议 - 他们可以选择在发送到 你的应用程序之前 要包含或排除 哪些素材 虽然这个操作 由用户进行控制 但它会 影响你的应用程序所接收的内容 Journaling Suggestions 更新 可总结如下 现在 你已准备好 使用“心理状态” “通用媒体” “运动活动”和“反思提示” 来升级用户体验 这会让用户体验更上一层楼
此外 如果你的应用程序 支持横向模式 则可立即试用这个功能 而无需更改你的应用程序 当然 请务必与我们分享你的反馈 我们非常期待能见证 大家借助这个新版 API 打造各种精彩体验
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。