开发者控制台

亚马逊应用商店计费兼容性SDK最佳实践

亚马逊应用商店计费兼容性SDK最佳实践

将您的应用与亚马逊应用商店计费兼容性SDK集成时,请遵循以下最佳实践。

缩短应用启动时间

在应用启动时调用亚马逊应用商店计费兼容性API可能会增加应用启动所需的时间,从而导致客户体验不佳。亚马逊应用商店建议的最佳实践是在后台进行这些服务器端调用,以避免应用加载时出现延迟。

避免阻止用户界面加载

获取购买集成指南中,指示您在onResume()方法中调用queryPurchasesAsync()来查询客户的购买情况。此API需要对亚马逊服务器进行服务器端调用。与Google Play Billing中的queryPurchasesAsync()方法不同,亚马逊应用商店计费兼容性SDK中的queryPurchasesAsync()方法进行网络调用,这会影响侦听器回调所用的时间。

为了防止启动延迟,在应用等待亚马逊服务器的响应时,不要阻止用户界面加载。相反,亚马逊应用商店建议您使用缓存在后端服务器或应用中的上次购买状态。

收到queryPurchasesAsync()的响应后,异步更新应用的用户界面,以反映客户购买数据中的任何更改。

利用下图直观地显示了在加载应用时进行亚马逊应用商店计费兼容性API调用时发生的情况。

典型流程: 亚马逊应用商店计费兼容性API调用阻止用户界面加载

此图显示了当亚马逊应用商店计费兼容性API调用阻止用户界面加载时,从应用启动到应用用户界面加载的步骤。

以下步骤描述了流程
  1. 用户单击应用以将其启动。
  2. 加载应用用户界面时会显示黑屏。
  3. 应用开始启动。在onResume()中,应用在用户界面线程上调用queryPurchasesAsync()。进行网络调用以获取购买详细信息。在此期间,用户会继续看到黑屏。
  4. 该应用授予客户对所购商品的访问权限。
  5. 应用通过显示启动画面继续加载用户界面。

在这个典型的流程中,当进行亚马逊应用商店计费兼容性API调用时,客户会看到几秒钟的黑屏,这让人觉得应用启动速度很慢。

此图显示了当在后台进行亚马逊应用商店计费兼容性API调用时,从应用启动到应用用户界面加载的步骤。

以下步骤描述了流程
  1. 该应用将过去的购买数据存储在后端服务器或缓存中。
  2. 用户单击应用以将其启动。
  3. 应用显示启动画面,并根据过去的数据加载用户界面。应用不检查来自服务器的购买数据。
  4. 在后台,应用调用queryPurchasesAsync()。用户界面的加载不会受到阻止。

    queryPurchasesAsync() API将PurchasesResponseListener对象用作参数。您可以在PurchasesResponseListener对象的onQueryPurchasesResponse()方法中添加逻辑以更新应用用户界面。

  5. 将您的缓存(或后端)与新数据同步。
  6. 如果需要,请更新或切换用户界面以阻止或取消阻止用户访问内容。

Last updated: 2023年10月27日