Shop Online with AR Quick Look

Stella981
• 阅读 860

作者: Chafferer,iOS 开发者,目前就职于手百 iOS 基础研发组。

Sessions: https://developer.apple.com/videos/play/wwdc2020/10604/

前言

从 iOS 12 开始,苹果引入了 AR Quick Look,这是 3D 内容的内置全系统的 AR 查看器,它可以在不下载 APP 的情况下,预览 USDZ 格式的文件以及现实世界中的 Reality File 场景。

在 iOS 13 中,苹果对于 AR Quick Look 增加了一些新功能:在任何应用软件或者网站中,轻点 3D 模型直接打开 AR、直接分享产品的链接而不是 3D 模型以、对是垂直平面还是水平平面的检测提供支持以及支持查看脸部饰品。

去年除了 AR Quick Look,还提供了 AR 家族的两款产品:Reality Converter 以及 Reality Composer,因此 AR Quick Look 可以作为查看和分享 3D 构图的很好的可视化工具。在 iOS 14 中,苹果对于 AR Quick Look 增加了更多的功能:在  AR Quick Look 中展示产品的横幅、结合 Apple Pay 或做更多自定义的操作。

Overview

Shop Online with AR Quick Look

  • 物品可以直接在现实世界中呈现

  • 可以从平整的地板表面锚定到任何位置(包括像沙发这样的的弯曲表面)

  • AR 物品(比如家具)可以放置在现实环境的物品(家具)之间或者之后

横幅样式

Shop Online with AR Quick Look

  • Apple Pay 样式:点击可以直接呼起 Apple Pay 进行商品购买

  • 自定义操作样式:自定义用户行为

  • 完全自定义样式:可以使用 HTML 彻底自定义横幅的样式

横幅的工作模式:

Shop Online with AR Quick Look

假设我们经营着一家出售复古闹钟的在线商店,在我们的网页上,可以给我们的 USDZ 模型添加一个链接,这样顾客可以使用 AR Quick Look 预览闹钟放在他们床头柜的样子。当用户轻点链接时,自定义的选项将会传递给 AR Quick LookAR Quick Look 会解析片段标识符,然后创建合适的横幅样式,最后我们需要在我们的页面上添加事件监听器,这样当顾客准备好购买的时候,轻点横幅会取消 AR Quick Look 并通知网站上的时间监听器,然后网站会出现相应的提示。

如何将 AR Quick Look 与网站相结合

<a rel=&quot;ar&quot; href=&quot;alarm-clock.usdz#canonicalWebPageURL=https://developer.apple.com/alarm-clock-product-page/&amp;allowsContentScaling=0&quot;>     <img src=&quot;alarm-clock-thumbnail.jpg&quot;> </a>

  • 将一个 a 标签添加到商品的 USDZ 模型上

  • img 标签展示商品的缩略图

  • rel=&quot;ar&quot; 告诉 Safari 浏览器这是 AR 体验,这样 Safari 会标上 AR 标记,直接呈现 AR Quick Look

  • # 之后的内容:通过网页的 URL 片段标志符传递自定义的选项来自定 AR 体验

  • 指定 canonicalWebPageURL 会覆盖默认的 URL,在例子中,用户可以直接分享这个虚拟商品的链接

  • allowsContentScaling 参数可以禁用内容缩放(设置值为0),以便客户可以浏览商品的实际大小

AR Quick Look & Apple Pay(Apple Pay 横幅样式)

现在可以结合 Apple Pay,用户直接在 AR Quick Look 中进行下单购买。这让 AR 技术与零售商的商务实现更加紧密的融合,并且让融合的方式真正简单易操作。

目前诸如家得宝、1800Flowers、Wayfair等优秀的公司已经采用这个技术,并且将 AR Quick Look 融合到它们的购物体验中,得到了非常好的反响,商品的交易量也得到了提升。

AR Quick Look 结合 Apple Pay,不仅为消费者提供了更加丰富和更加沉浸式的体验,同时也利于商家在 AR 的帮助下卖出产品。AR 体验极大地增加了这些公司产品的销售量。

AR Quick Look 视图底部增加了一条横幅,顾客看到了 AR 呈现的产品后,只需要轻点下横幅就可以直接使用 Apple Pay 购买相关产品。

Shop Online with AR Quick Look

Apple Pay 横幅的样式非常简洁,产品信息以文字的形式在左边呈现,Apple Pay 按钮则放置在右边:

Shop Online with AR Quick Look

使用 Apple Pay,使得支付更加快捷并且安全有保障,AR Quick Look 不会收集或者储存任何支付信息,因为这是消费者在取消 AR 预览前往零售网页后再进行支付。

Apple Pay 横幅提供多种按钮类型(7种样式)供零售商选择以便使样式和零售商网页完美契合:

Shop Online with AR Quick Look

每一个按钮样式都对应了一个 applePayButtonType 选项值:

Shop Online with AR Quick Look

<a rel=&quot;ar&quot; id=&quot;ar-link&quot; href=&quot;alarm-clock.usdz#applePayButtonType=plain&amp;checkoutTitle=Retro+Alarm+Clock&amp;checkoutSubtitle=Charming+old-school+look+with+built-in+FM+tuner&amp;price=$92.50&quot;>     <img src=&quot;alarm-clock-thumbnail.jpg&quot;> </a>

上述是一段在 AR Quick Look 中呈现 Apple Pay 按钮的样例代码

  • id=&quot;ar-link&quot; 为这个链接指定唯一的标志符,在后面监听 tab 事件的时候会使用到

  • 4个必选参数

  • applePayButtonType :指定 Apple Pay 按钮样式

  • checkoutTitle:标题

  • checkoutSubtitle:副标题

  • price:商品的价格

自定义操作横幅

Shop Online with AR Quick Look

自定义操作横幅的样式和 Apple Pay 横幅样式一样,都非常直观,但是你可以在其上面自定义操作(比如添加到购物车或者预定)。用户在回应跟进式问题时,能传递出用户的购买意向。在 AR Quick Look 被取消的时候,你的网站就可以响应自定义的操作逻辑,这样的操作更加灵活,除了实现购买功能外还能适应其他的零售情景,让更多方式与 AR 进行融合。

<a rel=&quot;ar&quot; id=&quot;ar-link&quot; href=&quot;kids-slide.usdz#callToAction=Preorder&amp;checkoutTitle=Kids+Slide&amp;checkoutSubtitle=Enjoy+the+playground,+right+from+your+home&amp;price=$145&quot;>     <img src=&quot;kids-slide-thumbnail.jpg&quot;> </a>

上述是一段在 AR Quick Look 中呈现自定义操作横幅的样例代码,这段代码和之前的 Apple Pay 横幅样式代码相似,但是我们需要指定自定义操作。

  • callToAction :指定自定义操作

  • checkoutTitle:标题

  • checkoutSubtitle:副标题

  • price:商品的价格,在 iOS 14 中可以省略,其他不能省略

完全自定义横幅

Shop Online with AR Quick Look

这种横幅的自定义程度最高,你可以根据你自己的使用场景提供自定义的 HTML 代码。

你可以自定义整个视图,包括使用自定义的字体、板式和图形。

完全自定义横幅支持 3 种预定高度。

允许自定义网页逻辑:比如重定向到唯一的 Business Chat URL,来开启 Business Chat 对话。

HTML 资源只支持通过 HTTPS 发送,否则横幅将无法显示,请求也会被忽略。

<a rel=&quot;ar&quot; id=&quot;ar-link&quot; href=&quot;solar-panels.usdz#custom=https://developer.apple.com/solar_panels_banner.html&amp;customHeight=small&quot;>     <img src=&quot;solar-panels-thumbnail.jpg&quot;> </a>

上述是一段在 AR Quick Look 中呈现完全自定义横幅的样例代码,为了显示完全自定义 HTML 横幅,只需要指定一个自定义参数 custom,并指明 HTML 资源的绝对 URL。

  • custom: 自定义样式的 HTML 资源的绝对 URL

  • customHeight: 自定义样式横幅的高度

  • small:横幅的高度为 81 磅

  • medium:横幅的高度为 121 磅

  • large:横幅的高度为 161 磅

  • 默认高度为 small

总结

Shop Online with AR Quick Look

  • Apple Pay 横幅样式可以直接使用 Apple Pay 购买你的商品。

  • 自定义操作横幅样式可以让你自定义用户点击横幅后的响应逻辑。

  • 完全自定义横幅样式可以让你自己通过 HTML 指定横幅的样式以及点击操作,提供了三种高度 small medium 以及 large,默认高度为 small

推荐阅读

RealityKit 的新变化:让构建的场景更逼真、趣味

探索 ARKit 4

The Artist‘s AR Toolkit

关注我们

我们是「老司机技术周报」,每周会发布一份关于 iOS 的周报,也会定期分享一些和 iOS 相关的技术。欢迎关注。

Shop Online with AR Quick Look

关注有礼,关注【老司机技术周报】,回复「2020」,领取学习大礼包。

支持作者

这篇文章的内容来自于 《WWDC20 内参》。在这里给大家推荐一下这个专栏,专栏目前已经创作了 108 篇文章,只需要 29.9 元。点击【阅读原文】,就可以购买继续阅读 ~

WWDC 内参 系列是由老司机周报、知识小集合以及 SwiftGG 几个技术组织发起的。已经做了几年了,口碑一直不错。 主要是针对每年的 WWDC 的内容,做一次精选,并号召一群一线互联网的 iOS 开发者,结合自己的实际开发经验、苹果文档和视频内容做二次创作。

本文分享自微信公众号 - 老司机技术周报(LSJCoding)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Easter79 Easter79
3年前
The Artist‘s AR Toolkit
作者:Chafferer,iOS开发者,目前就职于手百iOS基础研发组。Sessions:https://developer.apple.com/videos/play/wwdc2020/10601/前言RealityConverter和RealityComposer可以更加容易地为你的iO
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这