Sun*_*day 5 in-app-purchase ios
我已经实施了IAP,其中有一次购买解锁了应用程序中的某些功能.由于每个用户只购买一次,我可以询问Apple的IAP服务,如果该用户已购买.如果是,则解锁该功能.如果没有,则显示IAP提示.我可能还在用户默认值中保留了一些"userDidMakePurchase"标志,作为使用没有网络连接的app的不完美解决方案.
现在我想实现一个IAP,用户可以反复进行.每次向用户提供十个令牌以使用应用内货币.如何确定特定用户启动应用时的令牌数量?
到目前为止,我已经考虑过在用户默认值中保留令牌计数.这有一些主要的缺点,如删除和重新安装应用程序消除了用户的令牌余额.此外,令牌也不会转移到其他设备.
当然,我可以将令牌计数保留在我自己的服务器上或使用AWS.但是,如果可能的话,我想避免这种情况.我只熟悉IAP的基础知识,所以也许Apple会跟踪所有的购买情况,我可以从那里弄清楚.
从"一次购买,永远使用"切换到"多次购买,一次使用",使您的购买成为Apple的术语中的消费品.由于Apple不会为您存储消耗品购买状态,因此跟踪消耗资源的任务完全取决于您的应用程序.
通常,您可以使用四个地方来存储剩余的计数:
------------------------------------------------------------------
| Storage | Offline? | Reinstall? | Encrypted? | Large? |
------------------------------------------------------------------
| Documents Folder | YES | NO | NO | YES |
| iCloud | NO | YES | NO | YES |
| User Defaults | YES | NO | NO | NO |
| Keychain | YES | YES | YES | NO |
------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
由于您需要存储少量数据,因此您的理想候选者是Keychain:它可以脱机工作,可以重新安装,并且作为额外的奖励,它也是加密的.
尽管NSKeychain CFAPI 周围没有内置的包装器,但Apple已经为它发布了一个很好的包装器(滚动到页面底部查看代码).将安全框架添加到您的解决方案中,将包装器代码复制粘贴到您的项目中(它只有两个文件).现在你可以像使用钥匙串一样使用钥匙串NSDictionary.
| 归档时间: |
|
| 查看次数: |
2651 次 |
| 最近记录: |