在不影响先前用户的情况下添加iAds

3
我想知道是否有一个好的方法将广告嵌入到我的应用中,而不影响已经下载了该应用的用户。在我的下一个更新中,我想添加iAds并提供IAP选项以删除它们。问题是,我不希望广告出现在已经使用该应用的用户身上。
我考虑使用BOOL存储在NSUserDefaults中来跟踪是否显示广告。我希望新用户下载应用程序时将此标记设置为显示广告,但是更新的用户将此标记设置为已购买此新IAP。如何以及什么样的方法是处理这个问题的好方法?
谢谢!

你在现有版本中存储了任何 NSUserDefaults 吗? - Rok Jarc
4
请注意,NSUserDefaults在应用程序被卸载后不会存在,而KeyChain中的记录会一直保留。 - magma
2
我是在问这个,因为如果是这种情况的话,你就可以轻松找出之前的版本是否已经安装了。你可以尝试发布中间版本(没有iAds),将BOOL写为NO,然后再发布“真正”的新版本。但这需要时间。而且Magma那里有一个很好的观点。 - Rok Jarc
好的,我想我会研究一下KeyChain或iCloud来存储这个BOOL值。感谢你提供的这个想法。 - James Kuang
1个回答

2
没有确切的方法。
假设您没有使用UDID并将其发送到某个服务器进行检查(这也无法解决多个设备的问题)。
您应该立即发布一个新版本,不带iAds,在首选项中保存(或更好的是,iCloud)这些用户可以在没有iAds的情况下使用,并在一段时间后发布您的iAd版本,检查该偏好设置。
当然,如果用户删除了应用程序或在新设备上安装了它- 您的偏好设置就会丢失,他会得到iAds。
这就是iCloud派上用场的地方,但您可能希望以不同的方式使用iCloud,因此没有清洁的解决方案。
还要注意,没有升级的用户仍然会收到iAds- 就像NSPostWhenIdle所说的那样。

3
需要考虑的另一个条件是用户是否跳过第一个更新并下载第二个更新。 - Mick MacCallum

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接