1

在视频中配置和链接您的应用剪辑Apple 展示了 Siri 可以根据用户的位置建议您的 AppClip。

我在文档中找不到这个https://developer.apple.com/documentation/app_clips

这纯粹是基于其他用户使用这个应用程序的位置,还是开发人员可以配置的东西(可能基于地理编码区域)?

iOS 14 - Siri Nearby 建议中的 AppClip

4

3 回答 3

8

据我在 WWDC 采访过的一位 Apple App Clips 工程师说,为了将您的 App Clip 发布到 Apple Maps 上,您需要在 Apple 注册一家注册公司。这可以从 iOS 10 开始,通过Apple Maps Connect并注册为小型企业。

Nearby Siri 建议基于位置数据,仅当您的 App Clip 与 Apple 地图上的位置卡相关联时才会出现,因此您无法对此进行控制。下载 App Clips 后绝对可以获取用户位置,如下面的演示所示,但根据您的问题,我推测您想在下载之前提出 App Clip 建议(不在开发人员的控制范围内)。

如果您想将 App Clip 注册到某个位置,您需要等到 App Clip 完全可用并可在 App Store 上发布。当今年晚些时候 TestFlight 和 App Store Connect 获得对应用程序剪辑的支持时,您将能够从 NFC、二维码、地图等调用应用程序剪辑。因此,您需要在 Apple 注册您的业务,在 Apple Maps 中注册您的位置卡,然后启用 App Clips 以获取建议。

于 2020-07-06T20:36:03.110 回答
0

该文档尚未详细说明,但您可以在此处阅读: https ://developer.apple.com/documentation/app_clips

在这里https://developer.apple.com/documentation/app_clips/configuring_your_app_clip_s_launch_experience

在“查看高级应用剪辑体验”下

您应该能够将您的 App Clip 与 AppStore Connect 中提供的物理位置相关联

于 2020-07-02T04:36:08.587 回答
0

代码中有一个示例代码文档页面,其中包含 Widgets 和 App Clip:https ://developer.apple.com/documentation/swiftui/fruta_building_a_feature-rich_app_with_swiftui

在 App Clip 代码部分的上述链接中,有一个有效载荷,其纬度和经度可配置。Siri 应该会根据您在纬度和经度中输入的位置自动推荐 App Clip。

#if APPCLIP
func handleUserActivity(_ userActivity: NSUserActivity) {
    guard let incomingURL = userActivity.webpageURL,
          let components = NSURLComponents(url: incomingURL, resolvingAgainstBaseURL: true),
          let queryItems = components.queryItems else {
        return
    }
    if let smoothieID = queryItems.first(where: { $0.name == "smoothie" })?.value {
        model.selectSmoothie(id: smoothieID)
    }
    guard let payload = userActivity.appClipActivationPayload,
          let latitudeValue = queryItems.first(where: { $0.name == "latitude" })?.value,
          let longitudeValue = queryItems.first(where: { $0.name == "longitude" })?.value,
          let latitude = Double(latitudeValue), let longitude = Double(longitudeValue) else {
        return
    }
    let region = CLCircularRegion(center: CLLocationCoordinate2D(latitude: latitude,
                        longitude: longitude), radius: 100, identifier: "smoothie_location")
    payload.confirmAcquired(in: region) { inRegion, error in
        if let error = error {
            print(error.localizedDescription)
            return
        }
        DispatchQueue.main.async {
            model.applePayAllowed = inRegion
        }
    }
}
#endif

代码片段来自上面链接的文档。

于 2020-07-04T20:24:31.107 回答