我是否应该为高级帐户创建消耗品或不可续订的订阅?

viv*_*241 5 in-app-purchase ios

我有一个iOS应用程序(和一个网站).应该有高级用户选项,即如果用户是高级用户,则用户可以访问特殊内容.用户可以每月或每年成为高级用户.

第一个问题 - Apple是否允许设施在网站上以及通过InAppPurchase提供相同的产品(遵循Apple的规则 - 应用程序中不会有任何链接或指示可以在网站).因此,如果用户通过InAppPurchase购买高级帐户,他/她可以登录网站以及高级用户,反之亦然.

如果允许,使用可消费类型的产品实现高级用户功能并让服务器管理所有内容或使用不可更新的订阅更好吗?

耗材方法执行InAppPurchase,然后向服务器发送请求,说当前用户是一个月/年的高级用户,然后每次应用启动/用户登录时,调用API检查当前用户是否为高级用户用户与否.

要处理的棘手案例是1.当用户正在使用应用程序时,他/她的高级用户状态到期.2.如果在InAppPurchase完成后网络中断,并且对服务器的请求不完整.

不可更新的订阅方式我不确定这是如何工作的,但我猜它会与消费类似.

这两种方法中的哪一种更适合恢复以前的交易?

and*_*tto 5

  1. 是的,只要你在应用程序中提供高级功能(在我们连接到iOS的Facebook应用程序中,我们就相同的功能实现了Facebook功能)
  2. 我们的应用程序(使用消费类应用程序启用高级功能)已被拒绝了几次,直到我们切换到不可续订的订阅.高级功能有一个时间限制,并且Apple拒绝它的原因是,如果高级功能涉及除添加功能之外的时间,则必须使用不可更新的订阅,因为这是其目的

棘手的案件实际上并不那么棘手.对于第一个,请让应用程序从服务器检索到期时间(您在购买订阅后确实保存了吗?;-))并且当用户尝试使用高级功能时执行检查以确保他仍然被允许.第二步,将购买保存在手机中,然后将收据发送到服务器进行验证.只有当服务器可以访问并且收据有效时,才从电话中删除它.否则,您可以在启动时检查手机中是否有未发送的收据,您应该重新发送到服务器进行验证.

  • 最后一个问题 - 如果用户使用一个帐户进行InAppPurchase并注销并使用应用程序中的其他帐户登录(相同的Apple ID),则会显示一条消息"您已购买此产品,是否愿意?再买一次还是更新?" 有没有办法不为其他用户显示该消息? (3认同)