****Client**-iOS 应用 DS-开发者服务器 AppleS-Apple 服务器**
与 DS 和 AppleS 的客户沟通
当客户端与 AppleS 通信时,您有几个优点(如下所述),而不是耗时的一个缺点。
当您向 AppleS 发送一组应用内产品时,它匹配
一个有效并发送有效产品 ID 的数组列表(SKProduct
大批)。这完全消除了展示产品的风险
尚未注册,批准和批准出售
反对你的应用程序。
本地化 - 以价格为例。假设我在销售产品
在美国和英国。该产品的价格将以美元计
在 DS 中。因此,您最终会向英国的用户显示以美元为单位的价格。 (在
为了克服这个只是在某种程度上 DS应该有
一种根据用户所在国家/地区本地化货币的机制。
客户仅与 DS 通信
回答你的问题;是的,你可以使用 DS 来获取产品的价格。您可以通过向产品对象添加另一个属性(价格)来实现这一点(来自您服务器上可用的应用内购买产品列表)。需要在 DS 中实施。
例如。
Product1 - 应用内产品 ID、价格、名称、示例图片等
.
.
产品 n - 应用内产品 ID、价格、名称、示例图片等。
好的,现在我们如何尝试结合客户端与 DS 和 AppleS 通信的几个优势,同时仅使用 DS 进行客户端通信?
1 Adv - 通过在 DS 端手动检查或通过某些定义的流程,可以确保仅显示有效产品。
2 Adv - 要在某种程度上合并这一点,请执行以下@ DS
第 1 步 - 在 DS 端创建一个带有 App Store pricing Matrix 的数据库表。
第 2 步 - 当您从客户端向 DS 发出请求时,您的 DS 可以从服务请求命中中获取 IP。根据此 DS 服务可以找到用户的当前国家/地区。
第 3 步——基于用户当前所在的国家/地区,以第 1 步中的本地化货币映射价格。如果当前用户所在国家/地区不是App Store pricing Matrix 的一部分,则使用美元价格。(这有点接近苹果的价格确实如此,尽管它使用与用户的 Apple ID 相关联的国家/地区)。
IAP Confirmation Dialog 中显示的最终结果本地化价格将与您显示的价格相同(避免您指出的不匹配 - 再次出现 :-))。
当属于一个国家的用户拥有属于另一个国家的 AppleID 时,整个实现将失败。它失败了,因为 DS 根据用户的位置映射价格,但 IAP Confirmation Dialog 显示用户 AppleID 的基于价格的国家/地区(不匹配!!!)。
你不能determine Country associated with Apple ID logged into the iOS device。检查此问答。
我建议您实施“与 DS 和 AppleS 的客户端通信”模型,但是为了减少当客户端与 DS 和 AppleS 通信时相关的延迟,有多个产品请求(例如一组 10 个产品)时间或取决于您在您的 UI 中一次显示多少产品)。
只有在您觉得或更准确地说有分析表明您一定会因为“延迟”而失去收入或用户时,才继续使用“仅使用 DS 的客户通信”模型。