草庐IT

iOS 应用内购买 (IAP) 和 "external"服务建议

coder 2024-01-18 原文

我将要开发一个应用程序(适用于 iOS 和 Android),允许用户从他们的手机创建数字内容的集合(例如一些视频和图片),并将该内容发送给可以使用该集合的其他用户在同一个 iOS/Android 应用程序上。我想向用户收取发送收藏的费用,因为这个过程涉及将收藏上传和处理到云端(我为此付费),然后收件人的应用程序再次下载它(造成流量成本)。请注意,我不想向收款人收取任何费用!

在我看来,制作这样的 iOS 应用不可能是不可能的(因为 Apple 会拒绝它,参见 App store guidelinesIn App Purchase Guidelines),原因如下:

  • 为应用(“付费应用”)设置固定价格是不合理的,因为我想在用户每次发送收藏时向用户收费,所以IAP(应用内购买)会更合理
  • IAP 逻辑/流程是,用户可以在应用中免费创建收藏,然后,当他点击“发送收藏”按钮时,系统会要求他批准购买,作为返回,他会获得链接他可以发送给他的 friend 。 Android 应用中的逻辑本质上是相同的,使用 Google 的“应用内结算”
  • 这样的应用程序可能会被 Apple 拒绝,因为规则“11.3。使用 IAP 购买实体商品或在应用程序之外使用的商品和服务的应用程序将被拒绝”——因为用户实质上是为托管收藏品付费的,并且集合可以在应用程序外部使用(例如,由 Android 应用程序用户使用)
  • OTOH 也不可能使用外部支付方式。例如,我正在考虑强制用户首先在我的网站上创建一个帐户,他们可以在其中支付凭证(例如使用 Paypal),使用户能够发送收藏。他们首先需要在 iOS 应用程序中登录他们的帐户,然后他们可能会看到一条警告,提示他们尚未购买(或不再拥有)用于发送收藏的任何积分。 IAP 指南禁止我直接链接到我的网站,并附上一条说明用户可以通过其他方式支付额外积分的注释。当 Apple 工程师在审查期间看到该消息时(假设他们没有让非常聪明的人负责),该应用程序也可能会被拒绝。即使不是,这种工作流程对用户来说也很不舒服,我更喜欢 IAP,因为这也使会计(我公司的税收和收入)变得容易得多。

我想听听您对此的看法。请注意,我可能对自己“太苛刻”了。事实上,我确实知道已获准进入商店的应用程序确实可以做到这一点,例如,请参阅herehere .也许他们已经获得批准,因为第 11.3 段实际上只是禁止购买上传功能(将集合转换为链接)然后在其他地方使用此功能的能力 - 实际上这意味着“为外部服务购买积分”机制。我的应用程序不会这样做。您必须进行购买,并且上传/转换为链接功能仅适用于您进行购买的设备。

有什么想法吗?

最佳答案

我在开发的一款应用中也有类似的经历。这是一个 GPS 设备,在应用程序中显示跟踪数据。该设备使用蜂窝数据发送跟踪信息,我们需要向 SIM 卡提供商收取费用,这是一项外部服务。我们使用 Stripe 支付来做到这一点,但 Apple 拒绝了该应用并要求实现应用内购买。因为我们阻止了用户并要求在应用中付款,所以看起来我们是在要求为应用数字内容付款。

根据我的经验,回答你的问题:

  1. 是的,您必须使用应用内购买,它可以是消耗品类型。当用户尝试发送收藏时,显示消耗品购买类型。使用购买收据、收藏 ID 等在服务器中跟踪购买。

  2. 即使收集的金额用于托管和网络流量,您也可以将其称为管理/发送集合的服务费。在看到的背后,您可以使用这笔费用支付您的托管服务提供商或其他任何人,这取决于您。 Apple 不会因此拒绝该应用程序。因为您要为应用程序中提供的数字服务收取费用。在apple guidelines中,外部实体服务是指,例如Uber的打车费用,amazon的购物商品价格等。

关于iOS 应用内购买 (IAP) 和 "external"服务建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32284070/

有关iOS 应用内购买 (IAP) 和 "external"服务建议的更多相关文章

  1. ruby - 使用 ruby​​ 和 savon 的 SOAP 服务 - 2

    我正在尝试使用ruby​​和Savon来使用网络服务。测试服务为http://www.webservicex.net/WS/WSDetails.aspx?WSID=9&CATID=2require'rubygems'require'savon'client=Savon::Client.new"http://www.webservicex.net/stockquote.asmx?WSDL"client.get_quotedo|soap|soap.body={:symbol=>"AAPL"}end返回SOAP异常。检查soap信封,在我看来soap请求没有正确的命名空间。任何人都可以建议我

  2. ruby-on-rails - rails : "missing partial" when calling 'render' in RSpec test - 2

    我正在尝试测试是否存在表单。我是Rails新手。我的new.html.erb_spec.rb文件的内容是:require'spec_helper'describe"messages/new.html.erb"doit"shouldrendertheform"dorender'/messages/new.html.erb'reponse.shouldhave_form_putting_to(@message)with_submit_buttonendendView本身,new.html.erb,有代码:当我运行rspec时,它失败了:1)messages/new.html.erbshou

  3. ruby-on-rails - 由于 "wkhtmltopdf",PDFKIT 显然无法正常工作 - 2

    我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-

  4. ruby - 具有身份验证的私有(private) Ruby Gem 服务器 - 2

    我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..

  5. ruby - 将差异补丁应用于字符串/文件 - 2

    对于具有离线功能的智能手机应用程序,我正在为Xml文件创建单向文本同步。我希望我的服务器将增量/差异(例如GNU差异补丁)发送到目标设备。这是计划:Time=0Server:hasversion_1ofXmlfile(~800kiB)Client:hasversion_1ofXmlfile(~800kiB)Time=1Server:hasversion_1andversion_2ofXmlfile(each~800kiB)computesdeltaoftheseversions(=patch)(~10kiB)sendspatchtoClient(~10kiBtransferred)Cl

  6. ruby - 检查 "command"的输出应该包含 NilClass 的意外崩溃 - 2

    为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar

  7. ruby-on-rails - Rails 应用程序之间的通信 - 2

    我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此

  8. ruby - 无法运行 Rails 2.x 应用程序 - 2

    我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby​​:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r

  9. ruby-on-rails - Rails 应用程序中的 Rails : How are you using application_controller. rb 是新手吗? - 2

    刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr

  10. ruby-on-rails - 启动 Rails 服务器时 ImageMagick 的警告 - 2

    最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru

随机推荐