苹果apple id找不到订阅阅管理

1179人阅读
平台对接(11)
来源:http://blog.csdn.net/xyxjn/article/details/
&由于网上有关自动订阅的信息较少,自己姑且整理一下目前接触到的信息,希望能够对一些朋友有所帮助,如有疑问欢迎随时留言交流。
相关内容可参见苹果官方文档:
&&&&&&&&&& 自动订阅商品在订阅过程及订阅完成后的有效期内,均可理解为非消费品,其支付过程及恢复流程(这里特指苹果自身的恢复流程)均和非消费品相同。
&&&&&&&&&& 目前主要有如下几个问题需要注意:
& & & & & &1、订阅到期的处理
&&&&&&&&&&&&&&&&&&&& 目前网上并没有对于订阅到期的明确处理方式,目前据说有如下几种做法:
a、订阅到期或者用户手动取消订阅之后,再次进入客户端,会收到苹果发来的回调,就是在之前的购买成功/失败/恢复流程接收回调的observer里,客户端根据该回调进行相关处理。
这其实是最合理的处理方式,但是经过自测,发现客户端并未收到任何消息,至少在测试环境下没有收到任何消息,网上有朋友说是测试环境收不到,但是正式环境可以收到,由于测试难度较大,所以一直没有拿线上产品这么尝试过。
b、客户端自行连服务器判断是否订阅过期,过期之后执行恢复流程。
执行恢复流程确实可以达到目的,可以通过恢复回来的receipt向苹果验证,从而得到用户在苹果当前的订阅信息。但是恢复流程的一个致命缺陷就是需要输入密码,而且用户可以选择不输入,这样的话用户体检就大打折扣了。
c、客户端在订阅成功后将苹果返回的receipt记录本地,每次程序启动后(防止客户端时间被篡改的情况)向苹果验证一次订阅是否有效,然后执行后续逻辑。
这样处理也可以达到目的,但是与其如此做,还不如把记录和验证receipt的工作放在服务器,过期时间也由服务器判断,这样可以保证稳定性,同时也可以优化流程。
& & &因此可考虑如下操作:
&&&&&&&&&&&&&&&&&&&& 当客户端订阅成功之后,苹果会返回当前订阅的有效期及其相应的receipt,服务器记录这些参数。
&&&&&&&&&&&&&&&&&&&& 在订阅到期时(可先由客户端判断订阅是否到期,未到期则不做处理,客户端判断到期则先向服务器验证是否真的订阅到期,若服务器也判断为订阅到期,则说明确实到期),服务器用之前记录的receipt向苹果再次验证,通过苹果返回的错误码来判断用户已经自动续订还是手动取消订阅。
&&&&&&&&&&&&&&&&&&&& 在这个过程中,客户端不需要做任何处理,只需要走check订阅有效期的流程即可。(当客户端判断出用户已经不在有效期后,会向服务器请求,服务器会将新的有效期下发给客户端)
& & & & & &2、用户手动篡改时间的预防机制
&&&&&&&&&&&&&&&&&&&& 可考虑如下操作:
& & &在客户端订阅成功之后,苹果会返回当前订阅的有效期间(起始时间+中止时间,是两个时间点),客户端记录该时间。
&&&&&&&&&&&&&&&&&&&& 每当程序切换到前台之后,获取系统当前时间。用该时间对上述已记录的订阅有效期进行验证。若当前时间仍在订阅有效期内,则更新起始时间为当前时间;若不在有效期内,则向服务器发送请求,服务器将当前时间及有效期等相关信息回传给客户端,客户端再次检测当前是否在有效期之内,然后执行后续流程。
&&&&&&&&&&&&&&&&&&&& 这样处理可以不停的缩短用户的订阅有效期,并在很大程度上避免客户端修改本地时间的作弊行为。
& & & & & &3、订阅模块的返回结果
& & & & & & & & & & &由于每套订阅流程对应的业务逻辑不同,因此目前暂定为订阅模块可返回一个BOOL标志当前是否在有效期之内,和两个时间戳,标识订阅起始时间和终止时间,由外部接到返回数据之后进行自身业务逻辑的处理。
& & & & & &4、订阅商品的family
&&&&&&&&&&&&&&&&&&&& 由于本支付模块包含多处订阅+普通购买,因此每一处订阅可使用一个family标签,其中可包含多个期间档。不同的订阅使用不同的family。
&&&&&&&&&&&&&&&&&&&& 一个family下可以包含多个订阅商品,但最多6个(7天,1个月,2个月,3个月,6个月,1年)。同一个family下的多个商品,当已有商品被订阅且当前仍在有效期时(如7天),其他商品(如1个月)不可被订阅。不同family没有此限制。
& & & & & &5、过度订阅
&&&&&&&&&& &&&&&&&&&& 需要确定订阅到期之后,是否所有订阅过程中获取到的信息全部清零,如有需要延续的物品,则需要考虑过度订阅的问题。如在某些应用中,在订阅期内把所有的商品都购买了,然后取消订阅。这里需要考虑清楚预防机制。
& & & & & &6、恢复流程相关
&&&&&&&&&&&&&&&&&&&& 该恢复流程是指广义上的恢复,即通过服务器的同步操作,可将用户的相关信息跨设备共享,操作对象为已登陆用户和获取openUDID后的未注册用户。
&&&&&&&&&&&&&&&&&&&& 可优先选择使用服务器的同步操作,同步完成之后,可提示用户是否需要执行苹果的恢复操作,并以此来决定是否执行苹果的恢复流程(狭义上的恢复流程)。如需执行苹果的IAP恢复操作,则需要注意从苹果拿到数据后的处理,有些数据可能在服务器同步的过程中已经被恢复过了,这里要注意兼容。
&&&&&&&&&&&7、管理已订阅内容
在设备的主屏幕上,轻按&App Store。轻按屏幕底部的精品推荐。滚动到页面底部。轻按左下角的&Apple ID&按钮。(如果未登录,可轻按登录按钮并通过您的 Apple ID 登录。然后滚动回页面底部,轻按Apple ID&按钮。)轻按查看 Apple ID&按钮。输入您的密码,然后点按“好”。在帐户主页面上,向下滚动并轻按管理 App 订阅。如果您没有 app 订阅,此按钮将不显示。从 iPhone、iPad 或 iPod 上的“管理 App 订阅”页面中,轻按您要管理的 app。根据不同的 app,您可以选择管理不同的订阅类别。
————————————————————————————————————————————
目前的订阅商品包括:自动续订的订阅(Auto-RenewableSubscriptions),非自动续订的订阅(Non-RenewingSubscription),免费订阅(Free Subscription)。
&&&&&&&&&& 这里暂时只描述自动续订的订阅。
& & & & & &自动订阅商品在订阅过程及订阅完成后的有效期内,均可理解为非消费品,其支付过程及恢复流程(这里特指苹果自身的恢复流程)均和非消费品相同。
&&&&&&&&&& 目前主要有如下几个问题需要注意:
&&&&&&&&&& 3.1、客户端修改时间的预防
&&&&&&&&&&&&&&&&&&&& 可考虑如下操作:
在客户端订阅成功之后,苹果会返回当前订阅的有效期间(起始时间+中止时间,是两个时间点),客户端记录该时间。
&&&&&&&&&&&&&&&&&&&& 每当程序切换到前台之后,获取系统当前时间。用该时间对上述已记录的订阅有效&&&&&&&& 期进行验证。若当前时间仍在订阅有效期内,则更新起始时间为当前时间;若不在有效&&&&&& 期内,则向服务器发送请求,服务器将当前时间及有效期等相关信息回传给客户端,客户端再次检测当前是否在有效期之内,然后执行后续流程。
&&&&&&&&&&&&&&&&&&&& 这样处理可以不停的缩短用户的订阅有效期,并在很大程度上避免客户端修改本地&&&&&&&& 时间的作弊行为。
&&&&&&&&&& 3.2、订阅到期的处理
&&&&&&&&&&&&&&&&&&&& 目前网上并没有对于订阅到期的明确处理方式,可考虑如下操作:
&&&&&&&&&&&&&&&&&&&& 当客户端订阅成功之后,苹果会返回当前订阅的有效期及其相应的receipt,服务&&& 器记录这些参数。
&&&&&&&&&&&&&&&&&&&& 在订阅到期时,服务器用之前记录的receipt向苹果再次验证,通过苹果返回的错&& 误码来判断用户已经自动续订还是手动取消订阅。
&&&&&&&&&&&&&&&&&&&& 在这个过程中,客户端不需要做任何处理,只需要走check订阅有效期的流程即可。&&&&& (当客户端判断出用户已经不在有效期后,会向服务器请求,服务器会将新的有效期下&&&&&& 发给客户端)
&&&&&&&&&& 3.3、订阅模块的返回结果
&&&&&&&&&&&&&&&&&&&& 由于每套订阅流程对应的业务逻辑不同,因此目前暂定为订阅模块只返回一个&&&&&&&& BOOL标志当前是否在有效期之内,由外部接到返回数据之后进行自身业务逻辑的处理。
&&&&&&&&&& 3.4、订阅商品的family
&&&&&&&&&&&&&&&&&&&& 由于本支付模块包含多处订阅+普通购买,因此每一处订阅可使用一个family标&&& 签,其中可包含多个期间档。不同的订阅使用不同的family。
&&&&&&&&&&&&&&&&&&&& 一个family下可以包含多个订阅商品,但最多6个(7天,1个月,2个月,3个月,&&&&& 6个月,1年)。同一个family下的多个商品,当已有商品被订阅且当前仍在有效期时(如& 7天),其他商品(如1个月)不可被订阅。不同family没有此限制。
&&&&&&&&&& 3.5、过度订阅
&&&&&&&&&& &&&&&&&&&& 需要确定订阅到期之后,是否所有订阅过程中获取到的信息全部清零,如有需要延&&&&&&&& 续的物品,则需要考虑过度订阅的问题。如在大德符咒中,在订阅期内把所有的符都请&&&&&& 了,然后取消订阅。
&&&&&&&&&& 3.6、恢复流程相关
&&&&&&&&&&&&&&&&&&&& 该恢复流程是指广义上的恢复,即通过服务器的同步操作,可将用户的相关信息跨&&&&&&&& 设备共享,操作对象为已登陆用户和获取openUDID后的未注册用户。
&&&&&&&&&&&&&&&&&&&& 可优先选择使用服务器的同步操作,同步完成之后,可提示用户是否需要执行苹果&&&&&&&& 的恢复操作,并以此来决定是否执行苹果的恢复流程(狭义上的恢复流程)。如需执&&&&& 行苹果的IAP恢复操作,则需要注意从苹果拿到数据后的处理,有些数据可能在服务器&&&&&&&&&& 同步的过程中已经被恢复过了,这里要注意兼容。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:276583次
积分:3296
积分:3296
排名:第10431名
原创:54篇
转载:97篇
评论:15条
(1)(9)(1)(1)(2)(4)(20)(1)(1)(2)(6)(2)(2)(8)(5)(7)(4)(9)(5)(9)(9)(3)(6)(4)(6)(22)(1)(1)

我要回帖

更多关于 iphone订阅管理在哪里 的文章

 

随机推荐