问题标签 [iap-hosted-content]

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 投票
2 回答
1930 浏览

ios - iOS:如何将 Apple 托管的内容上传到 itunesconnect 中的应用内购买

我有非消耗性购买,并希望通过 Apple 托管它。

它就像一本书,包含图像并使用 JSON 进行管理。我怎样才能上传它?

0 投票
1 回答
502 浏览

ios - 上传托管的应用内购买内容 Xcode 7

我的理解是,使用 Xcode 6,您无法从 Xcode 中上传托管内容包。所以,你必须使用我下载的这个应用程序加载程序。

但是我现在已经升级到 Xcode 7 并且期待这个 bug 已经修复。我的问题是,“有没有办法从 Xcode 7 中上传托管内容,还是仍然需要使用 Application Loader?”

我问,因为在这一点上,当我尝试上传我得到的内容时:

由于下面列出的问题,存档验证失败。发生错误。存档项目不与任何已知的 iTunes Connect 平台相关联。

感谢您提供任何进一步的信息。

0 投票
1 回答
264 浏览

ios - iOS iAP 托管内容下载不起作用

我的应用程序有几个非消耗性 iAP。该应用程序的第一个版本在应用程序包中包含适当的内容,因此 iAP 只是解锁可以访问内容的区域。我正在开发该应用程序的第二个版本,这次内容将在用户购买时下载。我创建了新版本的 iAP(重要提示:相同 iAP 的新版本,但这次添加“托管内容”,它们不是全新的 iAP),托管内容已成功上传,并且 iAP 状态为“准备提交” ”。一切正常,内容已下载到设备,直到 1 周前,当我出于某种原因进行测试时,购买成功但内容未下载。创建时使用断点SKPayment对象,我可以看到它有可下载的内容:

甚至版本与 iTunes Connect 中的相同:

但是在处理内部事务时-paymentQueue:updatedTransactions:,它没有SKDownload对象:

我正在使用 TestFlight Sandbox 用户,它在执行购买时显示 [Environment: Sandbox],所以我知道我不在生产环境中。

到底是怎么回事?为什么它突然停止工作?苹果最近改变了什么吗?这真让我抓狂。谢谢,任何帮助表示赞赏。

0 投票
1 回答
190 浏览

swift - InAppPurchase:从 AppDelegate 下载托管内容

我正在尝试使用 Apple 服务器中的托管内容来实施 In App Purchase。我正在使用 SwiftyStoreKit 框架。

通常,根据其他教程,我们需要实现下载调用: func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {

所以我在这个函数中实现了以下代码:

它正在工作,现在我正在尝试在 AppDelegate 中检查先前交易的状态是否是“已购买”但未“完成”。这意味着用户已经购买了产品,但下载出现问题。

这是我的代码。

检查正常,但下载有问题:

PaymentTransaction 类型的值没有会员下载。

问题是:当我不在时,我如何正确启动内容的下载?paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction])

任何帮助将不胜感激。

0 投票
0 回答
130 浏览

swift - `startDownloads` 不适用于恢复的事务。`updatedDownloads` 未调用

我在恢复托管的应用内购买内容时遇到问题。有时它起作用,有时它根本不起作用。我的用户也报告了这个问题。

我很难尝试复制它,但是当它发生时我设法遇到了一种情况。

现在,每当我从 Xcode 在我的 Mac 上运行该应用程序时,我的商店代表都会在启动后不久收到队列中两个待处理的恢复事务的通知。并且正在调用以下函数:

我看到了日志消息[STORE] starting download,所以我知道这段代码被执行了。然后什么也没有发生。updatedDownloads不叫。我已经验证了finishTransaction它也没有被调用,所以这不可能中断正常执行。

我基本上不知道是什么导致了这个问题。我知道这种情况有两个待处理的恢复事务,但我看不出它为什么会导致这样的失败。它对应于我在一些用户的日志中看到的内容。因为他们SKPaymentQueue.default().start(transaction.downloads)被调用,然后什么也没发生。

如果你能帮助我调试这个问题,我将不胜感激,至少提出一些你认为可能导致这种奇怪行为的想法。

0 投票
1 回答
429 浏览

xcode - 无法将应用内购买的托管内容上传到 iTunesConnect

我正在尝试上传托管内容以进行应用内购买,但到目前为止我一直无法成功。

我之前使用 Application Loader 为我的应用上传了大约 100 个应用内购买包。我以前可以毫无问题地上传这些包。现在我注意到最新版本的应用程序加载器(3.0 版)甚至没有让我选择上传托管内容(见附件)?

在此处输入图像描述

因此,我花时间改用 iTMSTransporter bash 脚本。但是,当我尝试使用以下方式上传内容包时:

iTMSTransporter -m 上传

我收到以下错误:

包装摘要:

1 个软件包未验证,因为它们有问题:/Users/Cortana/Documents/iOS/Clients/AccentKit/InAppContent/854413379.itmsp - 错误消息:错误 ITMS-90320:“应用程序内购买的存档”com .accentkit.AustraliaFemale1' 无效。ContentInfo.plist 中的 'IAPProductIdentifier' 必须与应用内购买产品 ID 匹配。” [2018-04-14 07:12:45 MYT] DBG-X:返回 1

我仔细检查了 ContentInfo.plist 上 IAPProductIdentifier 的值与 iTunesConnect 上的应用内购买产品 ID 上的设置完全匹配。(见附件截图)这个错误对我来说毫无意义。

在此处输入图像描述

在此处输入图像描述

有任何想法吗?

0 投票
0 回答
83 浏览

ios - 应用程序进入后台后的SKDownload问题

在我的应用程序中,如果应用程序处于活动状态,则可以顺利下载由 Apple 托管的内容。但是,如果它进入后台并且经过足够的时间,当它再次变为活动状态时,SKDownload仍然有一个active状态,但没有报告任何进展。我已验证交易尚未完成。

有谁知道为什么会这样?我的设备在 Wi-Fi 上,我可以验证下载状态,因为我保存SKDownload到了一个实例变量。因此,如果只是在后台没有收到下载进度的问题,我仍然可以从myDownload.progress. 但是,进度与以前完全相同,并且没有更新。

这对我来说是一个大问题,因为如上所述我确实存储SKDownload到一个变量。我这样做是为了防止重复下载开始。我的资产大于 150MB,因此用户很可能不明白下载资产可能需要多长时间,并会尝试通过再次恢复/“购买”项目来启动第二次下载。因此,我将正在运行的下载存储到一个变量中,当新事务完成时,我检查下载是否已经在运行。这是一个很棒的设计,因为它可以确保在最短的时间内完成下载。如果应用程序在后台运行了很长时间,然后我得到这个状态,就会出现唯一的问题:

  1. 下载报告处于活动状态
  2. 对应的交易尚未完成
  3. 由于某种原因,下载没有进一步进展

鉴于上述保护措施,问题很明显,因为下载未运行,并且由于应用程序看到重复的活动下载而无法启动新的下载。

我尝试恢复下载,但它什么也没做(我猜是因为状态没有暂停)。

更新 1

我找到了解决这个问题的方法,但对我来说它看起来像一个黑客:

  1. 当应用程序进入后台时暂停下载
  2. applicationWillEnterForeground.
  3. 继续暂停下载

2是最有趣的部分。我有一个单身人士负责处理所有与商店相关的通知。我将其添加为事务观察者,didFinishLaunchingWithOptions仅在willTerminate. 我验证了应用程序进入前台状态后单例是相同的。然而,除非我再次将其添加为商店观察者,否则我看不到下载恢复。超级有趣。

0 投票
1 回答
83 浏览

swift - 通过苹果应用商店应用内购买访问托管内容的问题:““内容”文件夹不存在。

我一直在使用托管的应用内可购买内容,但遇到了问题。我已经能够下载内容等,但有时会遇到错误。这是我用来访问下载的代码:

此代码是 StoreKit 提供的 SKDownload 对象扩展的一部分。我有 FileManager 的扩展名:

getLibraryPath只需返回应用程序库目录中的应用程序内下载路径。但有时我会收到错误消息:'文件夹“目录”不存在'。但是,下载已经完成。以前有人处理过这个问题吗?我处理错了吗?

非常感谢,

布伦丁

编辑:当 SKDownload 的下载状态失败时,我经常会收到此错误:'“mzafbenc.16634573027684271354”无法移动到“StoreKit”,因为已经存在同名项目'。有谁知道这是相关的还是我可以解决的问题?