【发布时间】:2020-10-11 13:53:55
【问题描述】:
当我设计我的 App Clip Launch 体验时,我想到该应用只能通过 QR code、NFC 或 App Clip Code 触发。这就是为什么我将应用启动链接到具有特定 ID 的特定位置。
当我的应用程序上周上线时,当我尝试扫描 NFC 标签时,应用程序每次都按预期启动。
现在,如果我点击主屏幕上的 App Clip 图标,应用程序正在启动并扫描最后一个 URL 我进行了一些谷歌搜索,我发现 App Clip 正在缓存最后扫描的 URL 并模拟通用链接启动点击图标!
这对我不起作用!所以我正在寻找一种方法来检查应用程序是通过扫描还是点击启动的?我试图记录应用程序的启动,但它总是通过扫描 (NFC) 或点击图标按顺序运行:
AppDelegate.didFinishLaunchingWithOptions()
SceneDelegate.willConnectTo() // It's here where I am handling the Universal Link
如何检查用户是否通过点击或扫描启动了应用程序?知道点击图标时应用程序总是在模拟通用启动链接!
或者我如何查找保存的 URL?我试图获取所有UserDefaults 和一些Keychain 数据,但我什么也没找到!
【问题讨论】:
-
App Clip Code触发是什么意思? -
您是否考虑将查询参数添加到 QR 和 NFC URL,以指示哪个 URL 来自哪个调用?我想不出别的办法
-
@LiazKamper
App Clip Code是 Apple 创建并在 WWDC 2020 期间展示的新二维码 atadistance.net/2020/08/29/… -
@LiazKamper 这正是我正在做的,每个二维码或 NFC 标签都有其唯一的 Id,当用户扫描二维码或 NFC 标签时它工作正常。问题是一旦安装了 App Clip,用户就可以手动启动它,因此缓存了最后一个 QR 码/NFC 标签,从开发人员的角度来看,应用程序启动就像用户扫描了 QR 码/NFC 标签一样: (
-
感谢@LiazKamper,但这也不行,因为App启动体验总是一样的,App总是会以同样的方式进入SceneDelegate.willConnectTo。我们如何检查 N 启动是否不是缓存的 N-1?
标签: ios ios14 apple-appclips