在 WatchKit 中使用应用内购买功能来获得一目了然的功能和复杂功能

Using in-app purchases for glances and complications in WatchKit

我正在制作原生 Apple Watch 应用程序,想知道是否可以只为已付费应用程序内购买的用户提供 glances 和 complications。

另外,如果他们还没有升级到应用内购买,那么当他们进入 glance 或点击(禁用的)复杂功能时,视图会显示:"Please Upgrade to Pro for Complications and Glances"。并且会有一个按钮显示 "Go to App",这将在他们的 phone 上打开应用程序,应用程序内购买按钮将位于该位置。

目前可以吗?

从开发者的角度来看:

作为开发者可以吗?是的。关于并发症控制器,您只能 return 基于有效收据存在的时间线条目。

由于 StoreKit 显然在手表上不可用,phone 必须验证收据,然后将这些详细信息提供给手表。

您需要处理任何边缘情况,例如当复杂控制器的应用内购买状态最初是不确定的(因为它在手表应用首次启动之前在后台启动)。

复杂控制器实际上并不是设计用来异步获取任何东西(从 phone 或网络)。预计他们的数据在手,他们立即 return 数据源请求的结果。

让并发症控制器尝试获取(收据验证)数据是不切实际的。充其量,您通常所能做的就是为一次更新请求数据,然后在 手表扩展程序知道将来提供 Pro 数据后第二次手动更新并发症。

Apple 推荐的一种更加模块化的方法是将功能分为一个会话管理器,它向数据管理器提供数据,以及一个复杂的控制器,它从该数据管理器检索数据。

但在您花时间设计具有这些条件功能的手表应用程序之前,您真的应该让 Apple 回答以下问题。

Apple会批准吗?

您提出的建议只会显示占位符信息,一目了然或复杂化。

虽然商店中的某些应用程序可以为 其他 并发症提供应用程序内购买,但这些应用程序至少支持一种并发症。

您的应用程序能否通过审核流程,因为它实际上没有提供启动的复杂性(数据)。

这是一个题外话,这里没有人可以帮助您。

您的 "Also" 特征的简单答案:

无法从手表应用程序中打开 iOS 应用程序(在前台)。您的用户必须自己打开 phone 应用,然后导航到提供应用内购买的控制器。