快速订阅概述
快速订阅可减少在Fire设备以及应用零售网页上购买订阅时所需的点击次数。借助快速订阅,客户在下载应用、购买订阅和使用一键账户信息共享功能时,可享受简化的体验。
在Fire TV的典型账户创建过程中,客户必须使用遥控器键入其账户信息。借助快速订阅,客户只需一次点击即可与您的应用共享其名字、姓氏、邮政编码和电子邮件地址,这样可以减少客户在创建账户和登录时遇到的阻碍。
订阅要求
要使用快速订阅,您的应用必须遵守以下要求。
- 在亚马逊应用商店向客户提供报价,客户购买并确认交易后,无论客户实际是否有资格享有优惠,您都必须遵守优惠条款。
- 快速订阅中提供的任何订阅都必须可通过应用获取。
- 客户购买订阅后,不应允许他们在应用中再次购买订阅。
用户流程比较
下图展示了在不使用快速订阅的情况下,在Fire TV上注册订阅时的典型客户体验。
通过快速订阅,客户在第一步就可以直接从应用详情页面订阅。下图显示了使用快速订阅在Fire TV上注册订阅时的流程。
通过一键账户信息共享功能,亚马逊应用商店会向客户显示同意屏幕,他们可以同意与您的应用共享个人详细信息。如果客户表示同意,则在应用下载并启动后,应用可以从亚马逊检索客户的详细信息并创建账户。然后,您的应用可以绕过输入凭证的步骤,让客户自动登录。
客户体验
下图显示了Fire TV、Fire平板电脑和亚马逊零售网站上的快速订阅客户体验。
快速订阅如何运行?
以下步骤描述了如何在Fire设备上使用快速订阅。
步骤1: 客户从Fire设备上的应用详情页面发起订阅购买。
步骤2: 亚马逊显示同意屏幕,请求客户允许与您的应用共享他们的姓名、邮政编码和电子邮件地址。
步骤3: 亚马逊通知客户其购买已完成。
步骤4: 应用自动下载并在客户的设备上打开。
步骤5: 启动时,应用判定客户是否已登录应用。如果客户尚未登录,则应用从亚马逊应用内购买 (IAP) 调用getUserData()
方法,亚马逊返回客户的同意状态。
如果同意状态为CONSENTED
,则应用将执行步骤5a。如果同意状态为UNAVAILABLE
,则应用将执行步骤5b。
步骤5a - 同意状态为CONSENTED
:
-
应用调用Login with Amazon SDK的
authorize()
方法来检索访问令牌。 -
在您的服务器上,使用访问令牌获取客户的详细信息,包括姓名、邮政编码和电子邮件地址。有关详细信息,请参阅为您的服务器获取客户信息。
-
应用使用客户的详细信息来创建新账户或映射到现有账户,然后让客户自动登录。
步骤5b - 同意状态为UNAVAILABLE
: 应用显示默认的账户登录和账户创建体验。
步骤6: 客户登录后,应用在onResume()
方法中调用来自亚马逊IAP的getPurchaseUpdates()
方法来检索购买收据。
步骤7: 应用使用购买数据更新您的服务器,并通过调用verifyReceiptId
REST API,使用适用于Appstore SDK IAP的收据验证服务对购买数据进行验证。
步骤8: 应用调用来自IAP的notifyFulfillment()
方法,确认购买收据并确认客户有权访问相应内容*。
* 如果之前已经集成了确认收据API而非notifyFulfillment()
,则应用在步骤中会调用acknowledgeReceipt
REST API来确认客户已访问相应内容。
步骤9: 应用允许客户访问相应内容。
步骤10: 应用使用实时通知 (RTN) 来接收有关用户应用内购买状态的通知。
快速订阅常见问题解答
以下是有关快速订阅的常见问题解答 (FAQ)。
- 问: 如果我集成了快速订阅,是否需要添加对账户信息共享的支持?
-
是,为了帮助您进行账户创建和登录,亚马逊会将客户详细信息(电子邮件地址、名字、姓氏和邮政编码)传递给您。
- 问: 如果我还提供免费试用版,我可以提供快速订阅吗?
- 可以,您可以针对同一订阅产品同时提供快速订阅和免费试用。但是,快速订阅不支持60天免费试用。
- 问: 如果我的客户之前使用过免费试用,会怎么样?
-
快速订阅可以检测到之前在亚马逊应用商店上创建的免费试用,并且不会允许客户享受额外的试用期。不过,如果客户在亚马逊之外开始试用,快速订阅将无法检测到此信息,因此客户可能会进入额外的免费试用期。
- 问: 如果客户通过快速订阅购买订阅,并希望在第二台设备上下载该应用,会发生什么情况?
-
客户通过快速订阅进行订阅后,订阅会添加到客户的账户中。客户可以使用“仅应用”选项在其他设备上下载应用。然后,客户可以在这些设备上访问其订阅。
- 问: 如果提供促销定价,还可以提供快速订阅吗?
-
可以,您可以针对同一订阅产品同时提供快速订阅和促销定价。但是,快速订阅不支持周期为每周或每两周的促销定价。
- 问: 哪个版本的亚马逊应用商店支持快速订阅?
- 要正确测试快速订阅,必须使用亚马逊应用商店版本8.5026或更高版本。如果您在
getPurchaseUpdates()
上发现间歇性同步问题,请确认您使用的是受支持的亚马逊应用商店版本。 - 问: 哪些市场提供快速订阅?
- 除印度外,所有市场均提供快速订阅。
一键账户信息共享功能常见问题解答 (FAQ)
- 问: 我是否需要将我的服务器与Login with Amazon (LWA) 集成?
- 是,要读取用户个人资料数据,必须将LWA与您的服务器集成。使用您的应用检索的数据来创建客户账户。使用您的账户管理系统来管理未来客户登录。
- 问: 确认收据API和
notifyFulfillment()
方法之间有什么区别? 我是否需要集成这两者? notifyFulfillment()
方法包含在客户端的Appstore SDK中,并通过向亚马逊发送履行结果来确认商品的履行。确认收据API可实现相同的目标,但会利用acknowledgeReceipt
操作通过服务器之间的调用来实现。-
您必须在应用中使用这些方法中的至少一种将履行结果传达给亚马逊。如果您已经集成了确认收据API,则可以继续使用它,但是使用
notifyFulfillment()
是首选方法。您也可以选择在应用中同时使用确认收据API和notifyFulfillment()
。 - 问: 如果客户仅通过手机号码使用Login with Amazon (LWA),他们会获得什么样的体验?
- 如果客户仅通过手机号码使用LWA,则LWA会返回一封空白电子邮件,并且应用必须回退到默认登录体验。
- 问: 如果创建账户需要除电子邮件、姓名和邮政编码之外的其他信息,该怎么办?
- 如果需要其他信息,则您的应用必须请求客户提供所需的信息。
- 问: 旧版SDK支持一键账户信息共享功能吗?
- 不支持。必须与Appstore SDK集成才能使用一键账户信息共享功能。如果应用使用的是采用IAP SDK v2.0的快速订阅,则必须升级为Appstore SDK。Appstore SDK v3.0.5及更高版本支持一键账户信息共享功能。
- 问: 我可以使用动态应用测试 (LAT) 对一键账户信息共享功能进行测试吗? 我可以重置LAT测试者的同意以重新开始测试吗?
- 可以,您可以使用LAT测试一键账户信息共享功能。要重置同意,LAT测试者必须转到Manage Login with Amazon(管理Login with Amazon),然后在Manage Connection(管理连接)列中单击Remove(移除)。没有批量撤销同意状态的选项。
- 问: 我可以使用App Tester对一键账户信息共享功能进行测试吗?
- 可以使用App Tester来模拟
getUserData()
方法的同意状态属性。要对集成进行测试,请将对同意状态的响应设置为CONSENTED
或UNAVAILABLE
(不可用)。如果返回的状态为CONSENTED
,则应用应调用Login with Amazon API以获取客户数据并自动让客户登录。如果返回的状态为UNAVAILABLE
,则应用应回退到默认登录体验。
后续步骤
要开始使用快速订阅,请参阅设置快速订阅。
Last updated: 2024年9月3日