极光笔记 | 如何为 iOS 16 创建一个实时活动

news2025/2/28 18:02:24

01、iOS 16 中的 Live Activity (实时活动)是什么?


根据 Apple 官方描述,“实时活动是一项新功能,可帮助用户直接从锁定屏幕实时获知各种事情的进展,例如体育比赛、锻炼、拼车或送餐订单进度等等” 。

例如,您从美团或者饿了么点了份外卖,然后将手机放在一边开始工作;一段时间后,当您想要检查订单状态时,实时活动使您可以从锁定屏幕或灵动岛上执行此操作,您无需解锁 iPhone 即可查看订单进度,您的时间和精力都得到了节省。

Apple 提供了 Live Activities 的 API,开发者可以借助这些 API 在自己的应用程序中快速实现类似送餐订单进度、出租车的到达时间、计时器进度、球赛最新比分等场景的功能。

在 iPhone 14 Pro 上,如果解锁设备,“实时活动”信息还会出现在灵动岛。在锁定屏幕上,实时活动显示在屏幕底部。在支持 Dynamic Island 的设备上,Live Activity 也会出现在 Dynamic Island 中。

在应用程序中,开发者需要使用 ActivityKit 来配置、启动、更新和结束 Live Activity,并使用 SwiftUI 和 WidgetKit 的小部件扩展创建 Live Activity 的用户界面。这使得 Live Activity 的演示代码类似于小部件代码,并支持开发者在小部件和 Live Activity 之间代码共享。

但是,与小部件相比,不同于小部件使用时间轴机制更新,Live Activity 使用 ActivityKit 从应用程序接收更新的数据,或者通过远程推送通知接收更新。

问:iOS 实时活动卡片是 iOS 小组件吗?

答:不完全是;与小组件相比,Live Activity 使用的机制不同:

Live Activity 接收的更新是通过远程推送通知或通过ActivityKit 从应用程序本身接收的;而小组件使用的是TimeLine刷新机制。

除了上面提到的场景,实时活动还可以用于帮助用户跟踪或获取有关航班、实时资讯、接近的游乐场所、交通拥堵情况、包裹快递状态等的更新,让企业可以和终端用户保持连接和互动,从而快速提升 App用户活跃度,帮助提升转化。

02、通过极光实现 LiveActivity(实时活动)推送功能


苹果设计上,使用 PushToken 来一对一的更新 LiveActivity,极光增加了 LiveActivityId 的定义:开发者对于实时活动的自定义标识,可对应多个 LiveActivity PushToken,方便批量更新/结束活动。

比如上面场景举例中:对于球赛这种活动类的,开发者可以标记成同一个 LiveActivityId;对于外卖这种订单类的,可能就得每个订单一个LiveActivityId 了。

开发者使用方式如下:

  1. 开发者客户端 SDK 需升级到极光支持 iOS 16实时活动推送的功能版本:JPush iOS SDK v4.9.0 (需搭配 JCore iOS SDK v4.1.0 版本使用版本;

‍参考:https://docs.jiguang.cn/jpush/jpush_changelog/updates_iOS

  1. 调用客户端 SDK API 来上报 liveActivity 的 PushToken 并设置 liveActivity 标识:liveActivityId;

‍参考:https://docs.jiguang.cn/jpush/client/iOS/ios_api#liveactivity

  1. 通过极光 webPortal 创建推送>实时活动消息 ,指定 liveActivityId 发起推送(入口如下图):
    或者通过 Push API v3 接口发起推送,

‍参考:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push#live_activity:实时活动消息

  1. 推送完成,可以通过极光 webPortal 推送管理 > 推送记录 > 实时活动消息 查看推送历史。

03、常见问题


Q: 从锁定屏幕中删除实时活动是否会结束原始活动?

A: 不会。如果用户从锁定屏幕中删除实时活动,它不会结束原始活动。例如,假设用户删除了显示比萨送达剩余时间的实时活动;它不会取消订单。

Q: 实时活动可以在锁定屏幕上保留多长时间?

A: 实时活动可以在锁定屏幕上保留总共12 小时,除非应用程序或用户主动结束它,否则Live Activity 最多可以运行八小时,它可以在结束状态下在锁定屏幕上再保持4 小时(锁定屏幕上的保持时间也可以自定义,参考如下图),之后系统会将其从锁定屏幕中移除。

结语

通过实时活动推送,不仅帮助提升用户体验,同时也增加了 App 用户的活跃度和粘性;期望这一特性功能成为您的运营秘籍,帮助您快速实现转化!

关于极光

极光(Aurora Mobile,纳斯达克股票代码:JG)成立于2011年,是中国领先的客户互动和营销科技服务商。成立之初,极光专注于为企业提供稳定高效的消息推送服务,凭借先发优势,已经成长为市场份额遥遥领先的移动消息推送服务商。随着企业对客户触达和营销增长需求的不断加强,极光前瞻性地推出了消息云和营销云等解决方案,帮助企业实现多渠道的客户触达和互动需求,以及人工智能和大数据驱动的营销科技应用,助力企业数字化转型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/155474.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Revit中基线的作用和【类型可见性】功能

一、Revit中基线的作用 Revit中基线是一个重要但又容易被忽视的内容,本文就简单介绍一下基线的一些常用功能,基线的作用: 1、参照底图 基线调整为其他层时,可以在当前视图中半色调显示,方便参照。 2、定位 3、基线还可…

【UE4 第一人称射击游戏】35-击中目标时添加准心提示

上一篇:【UE4 第一人称射击游戏】34-制作一个简易计时器本篇效果:可以看到击中目标后有了一个红色准心的提示效果步骤:新建一个控件蓝图,命名为“Hitmarker”双击打开“Hitmarker”,拖入一个图像控件,锚点设…

前端性能优化(七):前沿优化解决方案

目录 一:拯救移动端图标 - SVG 1.1.从 PNG 到 IconFont 1.2.从 IconFont 到 SVG 二:使用 Flexbox 优化布局 三:优化资源的加载顺序 3.1.Preload 3.2.Prefetch 四:预渲染页面 五:Windowing(窗口化&…

Tomcat集群应用同步 —— 源码分析

文章目录前言一、应用同步的配置与实现原理二、应用同步源码分析三、如何获取集群的节点列表四、通讯模块Tribe五、集群的Session同步六、集群的Session共享总结前言 相信大家对Tomcat的集群部署都不陌生,以往,我们手动搭建一个Tomcat的集群环境&#x…

2023年运动耳机最新排行榜公布、公认最好用的五款运动耳机推荐

建议大家不要轻易尝试那些低价运动耳机,因为这些耳机大多数,只能满足基本听个响,舒适度和蓝牙稳定性都有代提高。通勤使用还勉强,运动强度一大,耳机容易掉落不说,蓝牙连接也很容易掉线,体验感受…

【自学Python】Python算术运算符

Python算术运算符 Python算术运算符教程 Python 中算术运算符是对 数值类型 的 变量 进行运算的,比如:加、减、乘、除、取模、整除和乘方运算等。 Python算数运算符语法 运算符说明实例结果加12.34 43.2155.55-减43.21 - 12.3430.87*乘2 * 3.141596…

springdata个人学习笔记

​ 入门 初始化springboot 依赖引入 <!-- springdata--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId&g…

node与node-sass版本对应

node&#xff1a;14.0.0 npm install sass-loader7.3.1 node-sass4.14.1 --savenode-sass对应node https://github.com/sass/node-sass/releases node-sass 和 sass-loader 的对应关系一般的情况下4.XX.YY&#xff0c;XX就是对应Node XX 版本 参考

Java常用工具类方法(下)

8. IOUtilsIO流在我们日常工作中也用得比较多&#xff0c;尽管java已经给我们提供了丰富的API。但我们不得不每次读取文件&#xff0c;或者写入文件之后&#xff0c;写一些重复的的代码。手动在finally代码块中关闭流&#xff0c;不然可能会造成内存溢出。有个好消息是&#xf…

一文搞懂Linux 环境变量

一文搞懂Linux 环境变量1.环境变量分类2.读取环境变量3.环境变量修改在 Linux 系统中&#xff0c;环境变量是用来定义系统运行环境的一些参数&#xff0c;比如每个用户不同的主目录&#xff08;HOME&#xff09;。 1.环境变量分类 按照作用域来分&#xff0c;环境变量可以简单…

【阶段三】Python机器学习13篇:机器学习项目实战:支持向量机分类的算法原理

本篇的思维导图: 支持向量机分类的算法原理 支持向量机分类算法的基本思路 1.最大间隔 支持向量机说到底就是一种“线性分类器”,它以“间隔”作为损失的度量,目标通过不断调整多维的“直线”——超平面,使得间隔最大化。所谓“支持向量”,就是所有数据点中直接参…

Lichee_RV学习系列---移植dhrystone

系列文章目录 Lichee_RV学习系列—认识Lichee_RV、环境搭建和编译第一个程序 文章目录系列文章目录一、dhrystone简介二、dhrystone源码下载三、dhrystone移植1、移植官方源码2、移植GitHub开源代码a&#xff1a;修改Makefile文件b&#xff1a;编译3、执行dhrstone代码总结一、…

Flink源码解析一之RPC原理解析

在阅读 Flink 源码过程中,如果你见到有这种类型的代码,其实就是在发送 RPC 请求 // resourceManagerGateway 就可以理解成: 当前节点中,对于 ResourceManager 代理对象的封 装 resourceManagerGateway.requestSlot(); // 代码跳转到:resourceManager.requestSlot()…

C++20标准下的左值与右值

C20标准下的左值与右值一、什么是左值与右值二、左值引用三、右值引用四、值类别五、标准库 move 函数5.1 用 static_cast将左值转换为右值5.2 使用 std::move 将左值转换为右值一、什么是左值与右值 左值&#xff1a;左值可以出现在赋值语句的左边或者右边右值&#xff1a;右…

Java设计模式-装饰者模式Decorator

介绍 装饰者模式的核心思想是通过创建一个装饰对象&#xff08;即装饰者&#xff09;&#xff0c;动态扩展目标对象的功能&#xff0c;并且不会改变目标对象的结构&#xff0c;提供了一种比继承更灵活的替代方案。需要注意的是&#xff0c;装饰对象要与目标对象实现相同的接口&…

VisualBox解决CentOS中yum安装失败的问题

怎么说呢&#xff0c;花了一个下午一个上午的时间&#xff0c;总算把这条命令运行成功了&#xff1a; yum install wget -y 打怪兽途中遇到了几个问题&#xff0c;总结一下&#xff1a; 1.ping 啥ip都是unkown&#xff0c;还有一种情况&#xff0c;就是ping之后就一直卡在那…

C++计算机课程设计 学生成绩管理系统 研究报告

课程设计内容 2.1 学生成绩管理系统 2.1.1 内容 主菜单模块 该模块主要用来实现整个系统的流程。主界面提供用户选择并调用各个子模块。 输入模块 当初次使用系统时&#xff0c;学生信息需要从键盘逐个输入。学生信息由学生的学号、姓名、性别、高等数学、英语、计算机和平均…

Qt基于CTK Plugin Framework搭建插件框架--CTK服务工厂

一、前言 注册服务的时候能够用服务工厂来注册&#xff1b; 访问服务getServeice中的plugin参数是执行ctkPluginContext::getService(const ctkServiceReference&)的插件&#xff0c;从而工厂根据执行的不同插件名称返回不同的服务实现 服务工厂的作用 在服务中可以知道…

达摩院2023十大科技趋势发布,生成式AI将进入应用爆发期

1月11日&#xff0c;达摩院2023十大科技趋势发布&#xff0c;生成式AI、Chiplet模块化设计封装、全新云计算体系架构等技术入选。达摩院认为&#xff0c;全球科技日趋显现出交叉融合发展的新态势&#xff0c;尤其在信息与通信技术&#xff08;ICT&#xff09;领域酝酿的新裂变&…

【关于Linux中----进程间通信方式之管道】

文章目录一、什么是管道二、匿名管道三、命名管道一、什么是管道 进程间通信主要目的为以下几点 数据传输&#xff1a;一个进程需要将它的数据发送给另一个进程 资源共享&#xff1a;多个进程之间共享同样的资源。 通知事件&#xff1a;一个进程需要向另一个或一组进程发送消息…