繁体   English   中英

测试从 App Clip 到完整 App 的转换

[英]Testing the transition from app clip to full app

我的应用程序已经在应用程序商店中有一段时间了。 我现在想添加一个应用剪辑,它有一个按钮,可以让用户从应用商店下载完整的应用(使用SKOverlay )。 另外,我想让app clip给完整的app传递参数(这一步很关键)。 例如,用户名将传递给完整的应用程序并显示在主活动中。 这是通过将此信息放入 App Clip 的shared user defaults中,并从完整应用程序的shared user defaults中提取此信息来完成的。

我创建了具有这些功能的 App Clip,现在想测试从 App Clip 到完整应用程序的转换。

我尝试了 3 种不同的方法,但没有一种能够让我模拟完整的 app-clip-to-full-app 体验:

  1. 在 Xcode 中运行 App Clip 并使用_XCAppClipURL环境变量进行测试。 SKOverlay 弹出,但它实际上并不能使我打开应用程序商店。
  2. 在我的测试设备上设置本地体验(如此所述)也显示了 SKOverlay,但并没有让我真正打开应用商店。
  3. 测试飞行:为了使用测试飞行,我将构建上传到应用商店,并在内部和外部测试中添加了一个应用剪辑调用 URL。 使用 Test Flight 打开 App Clip 时,“获取完整应用”按钮实际上将我转到了应用商店,但转到了旧版本的应用。 不用说,旧版本的应用程序与测试无关,因为它没有从shared user defaults中提取用户名所需的代码。

有没有办法让我在不向应用商店发布最新版本的情况下测试这个转换?

编辑:我将 UserDefaults 与应用程序组一起使用。 我在完整应用程序和应用程序剪辑的“签名和功能”部分定义了一个同名的应用程序组。 并添加了以下代码:

在 App Clip 的场景委托中:


let username = "Oded"
guard let sharedUserDefaults = UserDefaults(suiteName: "group.fruitapp.appClipToFullApp") else {
            return true
        }
        

        if sharedUserDefaults.string(forKey: "username") == nil {
            sharedUserDefaults.set(username, forKey: "username")
        }
        
        return true

在完整应用程序的应用程序委托中:

guard let sharedUserDefaults = UserDefaults(suiteName: "group.fruitapp.appClipToFullApp"),
          let username = sharedUserDefaults.url(forKey: "username")
                else {
                    print("Could not find the App Group or the usename from the app clip")
                    return
                }
            print("username is \(username)")

            //Do more stuff

我也在努力测试这种转变,并认为它在某一时刻是不可能的。 测试不仅可能,而且实际上非常重要,这样升级体验才会顺畅。

几点:

  • 您不需要 App Store 就可以使用任何东西。 那是一个单独的系统。 在您的设备本地构建 App Clip(使用_XCAppClipURL ),然后通过在同一设备上构建您的完整应用来模拟升级。
  • 如前所述,您需要设置应用程序组并正确使用UserDefaults API。 注意:设置部分很棘手,如果您在构建完整的应用程序后没有看到预期的数据,则说明设置不正确。

要检查的一些事项:

  1. App Clip 和完整应用程序的配置文件都需要具有 App Group 授权。 您可能有用于调试和发布配置的 PP,因此请记住这一点。
  2. App Clip 和完整 App 的 Capabilities 选项卡都需要启用 App Groups。

这两件事可能很明显,但我弄错了。

SKOverlay是一个令人满意的 App Store 链接。

不可能模拟那个确切的流程(因为在调试时SKOverlay什么都不做),但我也不认为这是必要的。

你可以做的测试你的流量是通过Xcode安装你的App Clip,go通过体验,然后通过Xcode安装完整的应用程序。

更新:

如果您希望您的 Clip 和您的 App 通过 User Defaults 共享数据,您将不得不使用App Groups

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM