应用内购买:用户绑定购买上的“恢复购买”按钮

2023-12-31

我目前正在我的 Swift 应用程序中实现应用内购买。该产品是一种非消耗性产品,可为用户激活一种高级版本。通常,对于非消耗品购买,您必须在应用程序中放置“恢复购买”按钮(强制)。然而,我的问题是:该应用程序以及因此的购买是受用户约束的。因此,该应用程序的每个用户都必须向我们注册一个帐户。一旦用户购买了 IAP,用户帐户就会在我们的服务器内部被标记为高级帐户。例如,一旦他注销并登录到另一个帐户,购买就会“停用”,因为在登录过程中,应用程序会从服务器获取信息,无论用户是否是高级用户。

所以基本上,如果我在我的应用程序中放置一个“恢复购买”按钮,那么它要么是毫无用处的,因为一旦用户登录,购买就会被激活,要么该按钮将使某人可以购买高级版本一次,然后也可以在无限数量的其他帐户上激活它,只需登录这些帐户并“恢复购买”即可。

所以,问题是:这个按钮在我的情况下是强制性的吗?我见过其他应用程序,尤其是基于订阅的应用程序也这样做。


如果您没有为应用内购买实现恢复按钮,Apple 将拒绝您的应用。

他们的想法是,如果任何 iTunes 用户已经为某些内容付费,他应该能够在任何设备上访问该内容。 您如何使用收据并允许用户由您决定。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

应用内购买:用户绑定购买上的“恢复购买”按钮 的相关文章

  • 更改iOS11中的UISearchBar背景图片

    我想更改我的 UISearchBar 背景图像 当将它添加为我的 UITableView 中的标题视图时 它工作得很好 但是 当我想更改它以将 SearchBar 设置为 navigationItem 的 searchController
  • 图像高斯模糊 - iOS 8

    我有一个移动的背景图像 我想模糊它的底部 我would只用 Photoshop 就能做到 但由于图像会移动 效果不太好 这就是我的意思 看图片底部 基本上就像底座对 iPhone 的影响一样 我使用的是 iOS 8 但不是 Swift 我根
  • 使用 iOS 7 检索设备 WiFi MAC 地址

    我们的应用程序使用设备 WiFi MAC 地址来唯一标识设备 根据苹果文档 https developer apple com news id 8222013a我们将开始使用 UIDevice 的identifierForVendor 属性
  • UITableView 最后一个单元格被 UITabBarController 隐藏

    我面临一个奇怪的问题 我有一个UITableView在最初的UIViewController of the UITabBarController 起初一切都很好 但是当我更改选项卡并返回到第一个选项卡时 最后一个单元格UITableView
  • 错误域=NSURLErrorDomain代码=-1017“该操作无法

    我刚刚开始 ios 开发 我正在尝试与我的 api 交换数据 当我执行 POST 请求时 一切正常 但当我尝试执行 GET 请求时 出现以下错误 错误域 NSURLErrorDomain代码 1017 该操作无法 完全的 NSURLErro
  • 在横向模式下向 UIScrollView 添加子视图

    我有一个以横向模式启动的视图控制器 其中有一个 UIScrollView 我尝试创建子视图并将它们添加到 UIScrollView 但视图的框架大小都是纵向大小 这是我的代码 void viewDidLoad super viewDidLo
  • 如何将 UIPopoverPresentationController 的高度设置为与 UITableView 相同

    我在我的应用程序上使用 UIPopoverPresentationController 在我的 iPhone 上显示弹出窗口 使用 UIModalPresentationNone 我希望尺寸随着 UITableView 的高度而动态变化 但
  • 在 Flurry 中记录比错误 ID 更多信息的方法?

    我目前使用 iOS 版 Flurry 5 4 0 我担心在方法方面是否能够记录更多信息 而不仅仅是错误 ID void logError NSString errorID message NSString message error NSE
  • 在 iOS 中擦除绘图

    我正在开发一个绘图应用程序 我有一个UIBezierPath 我用它在touchesMoved中绘制 并将其转换为CGPath 然后在tCGplayer上绘制 这是我的代码 void touchesMoved NSSet touches w
  • 如何从 GMSPlace 地址组件中提取街道、城市等

    我正在使用适用于 iOS 的 Google Places API 可以成功检索附近的地点并将地址显示为字符串 我想做的是提取地址组件 例如城市 以存储在数据库中 文档表明 GMSPlace 有一个 addressComponents 属性
  • ios 使用 HTTP POST 上传图像和文本

    谢谢阅读 我是 iOS 新手 我正在尝试使用上传图像和文本multi part form encoding在 iOS 中 The curl等价的是这样的 curl F param1 value1 F email protected cdn
  • 有什么方法可以让dispatch_queue_t在单线程中工作吗?

    这是我的代码 interface MyObject property nonatomic dispatch queue t queue end implementation MyObject NSThread check id init s
  • iPad 2 检测

    由于我没有 iPad 2 因此我需要知道调用 UIDevice currentDevice model 时它返回什么 我以为它只返回 iPad 但看来我错了 有人可以告诉我吗 Thanks 检查是否有带摄像头的 iPad BOOL isIP
  • 我如何在 viewDidLoad 中执行 UIView animateWithDuration ? IOS 7

    我在 viewDidAppear 中尝试这个 但我有一秒钟的延迟 我能做什么 在 viewDidLoad 中工作 void viewDidAppear BOOL animated fullRotation CABasicAnimation
  • 只有根级导航目的地对于具有同质路径的导航堆栈有效

    我正在尝试整合NavigationStack在我的 SwiftUI 应用程序中 我有四个看法 CealUIApp OnBoardingView UserTypeView and RegisterView 我想从OnBoardingView
  • 使用 UItableviewCell 实现 Google 地图

    我正在尝试在 UItableviewCell 组件内实现谷歌地图 我这样做的方法是在原型单元中定义 GMSMapView 然后使用 dequeueReusableCell 方法配置地图单元 但是 我尝试应用的任何更改都会失败 例如添加标记
  • Flutter - 选择 TextFormField 时键盘不显示

    我目前遇到一个问题 当我选择任何一个时 键盘不会出现TextFormFielda 内的小部件Form小部件 这是表单的代码 位于我的内部CreateAccountForm有状态的小部件 import package flutter mate
  • UILocalNotification 在后台 10 分钟后不提示

    In didFinishLaunchingWithOptions调用函数的定时器循环httpRequest每 1 分钟间隔一次 BOOL application UIApplication application didFinishLaun
  • iOS Safari Mobile 禁用上一个和下一个选择输入

    上周五我发现了关于此问题的类似问题 但似乎无法再次找到它 如果有人能指出我正确的方向 那就太好了 本质上我在一个页面上有多个选择菜单 第一个在加载时填充 第二个在第一个选择时填充 够简单的 但是 在 iOS 设备中 当您点击选择元素时 它会
  • 如何正确创建迦太基 cartfile?

    我正在研究购物车文件 迫不及待地想 简单地创建一个购物车文件 就像所有说明所说的那样 只是 如何 简单地 创建一个 Cartfile 我创建了一个纯文本文档 将其命名为 cartfile 并在其中复制了一些依赖项 Ran carthage

随机推荐

  • C# 中附加到鼠标的工具提示

    如何使用 C 获取附加到鼠标光标的工具提示 我试图实现如下所示的效果 一个小工具提示显示 Ctrl Shift Alt 键的状态 我目前正在使用Tooltip但除非有大约 2 行文本 否则它拒绝显示 tt new ToolTip tt Au
  • 如何解决加载模型以获得新预测的问题?

    我训练了一个模型并将其另存为import os model save 我想使用我的模型对新测试集进行预测 因此我通过以下方式加载它model tf keras models load model 它向我展示了这种警告 警告 tensorfl
  • C# 的 HttpListener 问题

    我使用一个 Windows 服务编写了HttpListener异步处理来自点的请求 它工作正常 但有时会遇到问题 需要重新启动服务或服务器才能修复 最初我声明了侦听器对象 public HttpListener PointsListener
  • 从 Moq 调用操作

    我有一个服务 其方法需要两个Actions 一为成功 一为失败 每个Action采用包含附加信息的 Result 参数 void AuthoriseUser AuthDetails loginDetails Action
  • Android 中的 Firebase 本地数据库有多安全?

    我计划改用 Firebase 作为我的 Android 应用程序的本地和在线数据库 根据文档 Firebase 首先将更改存储到本地数据库 然后在网络可用时将其推送到在线数据库 在我的应用程序中 我会将一些有关用户的非常敏感的数据放入数据库
  • TypeScript 接口是否应该在 *.d.ts 文件中定义

    TypeScript 新手问题 在我们的项目中 我们使用一些外部 JavaScript 库 需要在其中添加 d ts 文件 我了解这个用例以及我们需要这样做的原因 但是 对于我们自己定义的接口 我的一位开发人员建议我们在 d ts 文件中定
  • 如何使用 gmock MOCK_METHOD 进行重载运算符?

    我是 googlemock 和 StackOverflow 的新手 我在使用时遇到问题MOCK METHODn在googlemock中 我相信这个功能被广泛使用 这就是我所做的 我有一个抽象类Foo虚拟重载operator class Fo
  • 无法在 Azure DevOps 构建管道中使用 .NET SDK 代理

    我有一个 ASP NET Core 2 1 并添加了 Microsoft WindowsAzure Storage 的 nuget 包 但是将代码推送到存储库后 构建管道在运行构建代理时发生包错误 是否有必要在构建中添加任何其他代理除 BU
  • 将 ImageView 设置为 Android 后台

    我发现了许多类似的问题和答案 但我没有成功地解决这些问题 我想将 ImageView 设置为背景 以便我所做的其他所有事情都在它前面 我不想使用 xml 背景选项 因为我将在活动中更改我的背景 并且我不知道如何防止它拉伸 Thanks bg
  • Laravel 5 + Eloquent toJson/toArray 导致奇怪的分段错误

    我讨厌回答我自己的问题 所以也许你可以帮助我找到解决这个问题的方法 我有一些属于彼此的雄辩模型 我通过像这样的关联来设置它们 这都是正常的事情 不幸的是 这个过程会导致 device 工作不稳定 下面您可以看到单个值是可以访问的 但任何形式
  • void_t“可以实现概念”?

    我在看第二部分 期间他讨论了他的小说的用途void t lt gt 建造 在他的演讲中 Peter Sommerlad 问了他一个我不太明白的问题 链接直接指向问题 所讨论的代码就发生在该问题之前 萨默拉德问道 沃尔特 这是否意味着我们现在
  • 向 numpy 数组中的所有奇数或偶数索引元素添加一个数字,无需循环

    假设你的 numpy 数组是 A 1 1 2 3 4 您可以简单地执行以下操作 A 1 向 numpy 数组的每个元素添加一个数字 我正在寻找一种将数字添加到奇数或偶数索引数字的方法A 2 1同时保持整个阵列完好无损 是否可以在没有任何循环
  • 使用 IntelliJ IDEA 运行 Maven 项目

    我是 IntelliJ IDEA 的新手 我想使用它运行一个简单的 Maven 快速入门项目 我按照所有说明进行操作 该项目已成功构建 但是当我尝试编译并运行它时 Run按钮未激活 看来 IntelliJ IDEA 无法弄清楚主类在哪里 这
  • CGDataProviderCopyData() 实际上复制字节吗?或者只是指针?

    我正在尽可能快地连续运行该方法 并且越快越好 所以显然如果CGDataProviderCopyData 实际上是逐字节复制数据 那么我认为必须有一种更快的方法来直接访问该数据 它只是内存中的字节 任何人都知道如果CGDataProvider
  • 2D 弹性球碰撞物理

    我正在制作一个涉及弹性球物理学的程序 我已经计算出了与墙壁和静止物体碰撞的所有数学公式 但我无法弄清楚当两个移动的球碰撞时会发生什么 我有质量和速度 确切地说是 x 和 y 速度 但每个球的速度及其方向都可以 并且想要这些的公式 请记住 这
  • 为什么自动向下转换不应用于模板函数?

    有人问这个问题 https stackoverflow com questions 45505477关于字符串附加 它是string s s s 2 不编译 人们给出的答案是operator 被定义为模板函数 而operator 不是 所以
  • 更改 Azure AD B2C 注销 URL(将 AzureADB2C/Account/SignedOut 更改为自定义 URL)

    我目前正在构建一个 C Net Core 2 2 应用程序 该应用程序使用 Azure B2C OIDC 进行登录 身份验证 我已经自定义了登录页面 并且知道如何使用自定义页面布局使用我的网站上托管的 CSS 和代码来自定义编辑 忘记密码屏
  • 使用委托作为 LINQ 的 Distinct() 的相等比较器

    我有一个 LINQ Distinct 语句 它使用我自己的自定义比较器 如下所示 class MyComparer
  • 在 Win7 中,某些字体无法像在 Win2K/XP 中那样工作

    我的问题是如何更改字体处理才能在 Windows 7 下正常工作 我确信我已经对以前有效但不再有效的内容做出了假设 但我什至不知道从哪里开始寻找 我祈祷有人可以帮忙 以下是我理解的详细信息 我还在 Microsoft Windows 开发人
  • 应用内购买:用户绑定购买上的“恢复购买”按钮

    我目前正在我的 Swift 应用程序中实现应用内购买 该产品是一种非消耗性产品 可为用户激活一种高级版本 通常 对于非消耗品购买 您必须在应用程序中放置 恢复购买 按钮 强制 然而 我的问题是 该应用程序以及因此的购买是受用户约束的 因此