Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 从付费到免费w/IAP:防止双重收费_Iphone_Ios_App Store_In App Purchase - Fatal编程技术网

Iphone 从付费到免费w/IAP:防止双重收费

Iphone 从付费到免费w/IAP:防止双重收费,iphone,ios,app-store,in-app-purchase,Iphone,Ios,App Store,In App Purchase,这是一个概念工作流问题。我正在将一个现有用户群的应用程序从付费转为免费,通过应用内购买(FWIAP)来删除广告。我试图避免的问题是,现有付费客户更新应用程序,现在突然看到广告,并被侮辱/攻击,选择再次付费以删除他们一开始从未购买过的广告 幸运的是,我确实有一些持久数据形式的面包屑(pData),用于指示应用程序是否已经安装。因此,我的想法是在决定是否继续显示广告之前,让新版本检查现有安装 我预见到的一个问题是以后的更新,然后考虑到所有第一代用户现在都有资格再次使用广告,因此我必须添加另一个持久标

这是一个概念工作流问题。我正在将一个现有用户群的应用程序从付费转为免费,通过应用内购买(FWIAP)来删除广告。我试图避免的问题是,现有付费客户更新应用程序,现在突然看到广告,并被侮辱/攻击,选择再次付费以删除他们一开始从未购买过的广告

幸运的是,我确实有一些持久数据形式的面包屑(
pData
),用于指示应用程序是否已经安装。因此,我的想法是在决定是否继续显示广告之前,让新版本检查现有安装

我预见到的一个问题是以后的更新,然后考虑到所有第一代用户现在都有资格再次使用广告,因此我必须添加另一个持久标志(
pFlag
)来识别这两组用户,然后希望记住更晚的更新(即第三代等)检查
pFlag
而不是
pData
,因为那时
pData
值早已改变


这似乎是一个合理的方法,还是有另一个众所周知的解决方案?

面包屑方案的问题在于用户升级,或者需要更换设备,并且没有备份可供恢复。当他们重新下载你的应用程序时,将没有面包屑。

我认为你永远无法支持有人购买了付费版本并直接从应用程序商店将其安装到新设备或应用程序已被删除的设备上的情况

我们最近遇到了相反的问题。我们有一个FWIAP应用程序,客户希望能够通过批量购买计划购买,这不适用于IAP。因此,我们建立了一个付费版本,并将其作为一个单独的应用程序进行销售,它产生的销售额与FWIAP版本一样多,基本上是收入的两倍(到目前为止)

我认为最简单的方法就是发布一个单独的应用程序。如果你转换现有的应用程序,最大的风险是负面评论,这可能会降低你的星级,从而导致下载。因此,如果你真的这样做,我会尽可能慷慨地制定一项客户支持政策——给声称购买了付费版本的任何人一个代码,让他们解锁FWIAP版本


但这在将来可能会是一个令人头痛的问题,根据我有限的经验,您可以通过在商店中同时使用两个版本来赚取更多的钱。

支持inapp的免费付费购买工作流;它被称为“支付给fremium”,并在2013年WWDC视频中讨论:


使用收据保护您的数字销售

@David:现有的永久存储在应用程序的本地目录中。如果有必要,我可以在本地或服务器端实现任何新标志。如果它们重新下载,苹果是否向它们提供最新的二进制文件?