问题标签 [in-app-purchase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
20 回答
49136 浏览

ios - iPhone In-App Purchase Store Kit 错误 -1003“无法连接到 iTunes Store”

我一直致力于添加应用内购买,并且能够使用 Store Kit 创建和测试应用内购买(耶!)。在测试期间,我以一种导致应用程序在购买过程中崩溃的方式锻炼了我的应用程序(所以我猜想接收 paymentQueue:updatedTransactions 和调用 finishTransaction 的正常周期被中断了)。

现在我无法成功完成任何交易,而是在调用 paymentQueue:updatedTransactions 时只获得带有 transactionState SKPaymentTransactionStateFailed 的交易。

transaction.error.code 为 -1003,transaction.error.localizedDescription 为“无法连接到 iTunes Store”!

我尝试从 iTunesConnect 中删除所有产品,并使用不同的标识符重新构建它们,但这并没有帮助。我还尝试使用 App Store 应用程序真正连接到真正的 App Store 并下载一些应用程序,这样我就可以连接。最后,我访问了 Settings:Store 应用程序,以确保我已退出正常的应用程序商店帐户。

0 投票
3 回答
3309 浏览

iphone - SKPayementQueue:恢复交易完成而不在发布配置中调用“updatedTransactions”但不是调试配置

我正在调试恢复事务,并且在我的调试配置中一切正常:

IE 我叫:

稍后的 queueCalls:

之后的某个时候,它会调用:

每个人都很高兴。

但是在我的发布配置中,我从来没有看到对 updatedTransactions 的调用,所以我从来没有真正恢复购买。

可能相关,在我尝试还原后它不起作用。我重新启动应用程序,发现当我向商店索取产品列表时没有得到响应。

0 投票
1 回答
2908 浏览

in-app-purchase - 应用内购买超时错误 (-1001)

尝试进行应用内购买时出现超时错误 (-1001)。在应用内购买运行良好一段时间后,这种情况突然开始发生。现在发生的事情是我看到了我的库存,其中包含从苹果检索的价格,但是在我尝试购买并执行以下代码之后:

我得到的只是一个超时错误。

我创建了一个测试项目,除了由可靠的第三方(城市飞艇)提供的店面外,我一直在成功地使用它并在我的应用程序中进行了一些更改。我在应用程序购买超时错误中遇到了同样的问题,这强烈表明苹果端存在某种问题(似乎我的设备或我的应用程序 ID 以某种方式被黑了 - 也许在我多次卸载应用程序之后重置其状态——至少使用沙箱服务器)。所以现在的问题是如何处理它。任何帮助,将不胜感激。

0 投票
2 回答
1830 浏览

iphone - 如何为应用内购买创建产品 ID

我正在尝试为我的 iPhone 应用程序购买应用程序并了解如何设置测试用户,但我不确定如何创建可以使用的产品 ID。我不想在未经测试的情况下将我的应用提交到应用商店,但似乎您必须提交才能管理应用内购买?我究竟做错了什么?

0 投票
3 回答
20384 浏览

iphone - 何时使用 restoreCompletedTransactions 进行应用内购买?

对于具有非消耗性应用内购买的基本应用,有没有人想出使用 SKPaymentQueue 的最佳实践restoreCompletedTransactions

观察

我知道建议始终注册事务观察器以接收返回应用程序的待处理事务,但这是一个不同的问题。看起来restoreCompletedTransactions应用程序必须主动决定何时调用以轮询客户已经进行的所有购买。

据我所知,该方法旨在检索可能丢失的购买。例如,客户可能会以这种方式安装应用程序或将应用程序移动到新设备上,从而导致应用程序的本地先前付款记录丢失或重置。

关注点

我不清楚的是如何以可靠的方式自动检测这种情况(即如何决定何时轮询丢失的购买)。我不想把这件事搞砸并冒着拒绝客户访问他们已经付费的功能的风险。

同时,为了安全起见,我不想restoreCompletedTransactions每次应用程序启动时都打电话,并且基本上可以取回我大约 99.9% 的时间已经知道的交易。(除了应用内购买,我的应用实际上不需要任何网络连接。)

笔记

Apple 文档明确指出,客户已进行的任何非消耗性购买都不会再次向他们收费。如果他们尝试重新购买,支付交易仍然应该发送到应用程序。

最坏的情况是,客户可以通过这种方式恢复购买,但我仍然希望避免让他们走上类似于重新购买他们已经支付过的东西的路径。

0 投票
1 回答
242 浏览

iphone - 在应用程序购买更新?

我需要一些建议,告诉我应该在哪条路径上为我的应用程序添加一些自我更新功能。

我在 App Store 中有一个应用程序,它使用一个充满需要定期更新的信息的数据库。到目前为止,我只有在通过商店推送新版本时才更新数据库。我们需要更快地更新数据库的能力。我正准备构建一个功能,允许应用程序在需要时获取更新的数据库。

我的问题是,可以或应该将 Store Kit 框架用于此类事情吗?我打算自己建造它,但不想重新发明轮子。任何想法Apple对此的看法是什么?数据库不提供新功能,只是更新以保持数据集最新。

感谢您的任何建议。

0 投票
4 回答
6177 浏览

iphone - 我无法进行应用购买测试

我在应用内购买方面的成功率为零。我已经提交了免费的应用程序二进制文件,然后拒绝了该二进制文件。我已经添加了测试产品。我已经批准了测试产品 TAP001。

我按照代码示例无济于事。我使用“com.companyname.appid.TAP001”和“TAP001”进行 SKProducts 请求

无论如何,我收到一个空的 response.products 和 response.invalidProductIdentifiers 以及我发送的产品字符串。

我创建了一个测试用户,但看到我无法获得任何产品信息,测试用户还没有真正发挥作用。

可以在调试或发布版本中测试应用内购买吗?还是必须是分布?

在应用程序购买测试之前,必须在应用程序商店中拥有完全接受的应用程序吗?

我只是想测试一下这个过程,我还没有一个实际的应用程序。我什至填写了所有的银行和税务信息。我已按照应用程序文档中的步骤进行操作,但显然我有一些错误或遗漏。

谢谢

0 投票
1 回答
316 浏览

iphone - 我可以绕过应用内购买吗?

我有一家在线商店,出于美观和技术原因,我想为我的客户提供一个 iPhone 应用程序。Apple 是否允许我在不使用 InApp 购买机制的情况下使用“立即购买”按钮或类似的购买方法,以便在我和客户之间进行直接交易,而不是通过 Apple?感谢您的反馈意见。

0 投票
4 回答
5797 浏览

iphone - In App Purchase 验证证书问题

我收到如下回复。

我仅使用 Base64 对收据进行编码。

我正在沙箱中测试它。

会有什么问题?谁能帮我?

0 投票
2 回答
401 浏览

iphone - 是否可以为应用内购买的内容实施每个 iTunes 帐户 DRM?

Apple 从购买中返回的收据不包括购买内容的用户的 iTunes 帐户信息,而且似乎也没有办法让 Apple 验证给定设备 UUID 是否属于 iTunes 帐户。

是否有实现一个安全的 DRM 系统,允许用户一次性购买内容并能够在与其 iTunes 帐户关联的所有设备上为所有人使用该内容?

如果有办法重放收据或欺骗信息,我不认为它是一个安全的 DRM 系统。

这个问题,以及随后我的回答和评论,引发了我对此的好奇。