问题标签 [skproduct]

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 回答
1319 浏览

ios8 - 应用购买验证中的消耗品

我们最近推出了只有消耗品应用内购买的应用。我们注意到很多虚假购买 - 购买带有无效收据和“有效”收据,但来自苹果的验证响应中的“in_app”数组是空数组。我需要知道用户如何形成这样的“有效”收据?是收到应用下载而不是应用内购买还是什么?我现在将以下检查用于验证。从 Apple 的 json 响应中提取“in_app”字段,如果它非空,则检查 product_id 是否匹配。我需要知道这张支票是否足够,或者他们是一个更好的万无一失的支票。

0 投票
1 回答
370 浏览

swift - Swift 中 SKProduct 的 NSCoding 错误

我正在尝试将 SKProduct 保存在 Realm 中,但在乞求时,我正在尝试将 SKProduct 转换为 NSData,但由于未捕获的异常“NSInvalidArgumentException”而出现此错误正在终止应用程序,原因:'-[SKProduct encodeWithCoder:]:无法识别的选择器发送到实例 0x14f5cd200' *

我的课

我尝试将其存档在另一个班级

我以不同的方式做到了,但结果是一样的。我该如何解决?

0 投票
2 回答
2841 浏览

ios - 测试本地化的应用内购买

在将 Scheme 设置为另一种语言的情况下运行应用程序不会影响在测试中从 iTunes 收到的 SKProduct。我发现影响更改的唯一方法是在 iTunes Connect 中创建一个新的 Sandbox Tester 用户,并为您可能想要测试的每种……和每种……语言创建一个 iTunes Store。

然后 - 您不应该通过设置在您的设备上使用该用户登录。运行您的应用程序并在询问时使用测试用户登录。

这成功地让我的手机默认为不同国家的 App Store。

但是,当我将每个 SKProduct 的 .localizedTitle、.localizedDescription 和 .price 打印到控制台时,只有价格被转换为不同国家的数字。标题和描述仍然是英文(我正在美国开发)。所有语言都在 iTunes Connect 中设置。

当我点击购买应用内时,系统弹出英文:“Confirm Your In-App Purchase”,然后“你想为___买一个____吗?” 和“取消”和“购买”按钮都是英文的。第一个空白由我在 iTunes Connect 中设置的显示名称填写。但它仍然使用英文版。第二个空白处填写价格,以测试用户商店的语言显示。[单独问题:日语显示日元符号和价格。西班牙显示欧元符号和价格。墨西哥以比索价格显示美元符号。]

所以只有价格转换为我的 Sandbox Tester 帐户。有人知道如何在测试期间获得不同国家语言的标题吗?我不仅要确保它对我已本地化应用程序的每个国家/地区的人来说都是正确的,我还想将 SKProducts 的标题设置为我的应用程序按钮上的标签,以启动应用程序内购买. 我可以通过 Localizable.strings 文件设置这些,但更愿意从 SKProduct 中提取它,因为我已经通过 iTunes Connect 输入了该信息。

谢谢你的帮助!

0 投票
1 回答
319 浏览

ios - 了解 TableView 中的本地化标题和本地化描述

我目前正在实施应用内购买机制,有三件事我不完全理解。

在下面的 tableView 中,我正在使用单例类从应用程序风暴中检索产品,并且有三件事我不确定它们到底做了什么......

做什么as! SKProduct

做什么localizedTitlelocalizedDescription做什么?

0 投票
0 回答
347 浏览

ios - 应用内购买初始 SKProductsRequest 失败。

目标:我想测试我至少可以在继续实施之前验证 IAP 的存在。也就是说,我不想在测试任何IAP 功能之前实现所有IAP 功能。

症状:我正在提交一个SKProductsRequest. 回调正确地传递给委托。该response.products成员是一个空数组,并且该response.invalidProductIdentifiers成员具有与我SKProductsRequest最初提交的相同的 IAP ID。

我仔细检查了身份证的拼写。有关我已采取的所有步骤,请参见下文。我包括这些只是为了防止出现诸如“你忘了做某某吗?”之类的善意建议。

问题:我是否需要审查应用程序(Beta 审查或全面审查)才能让此呼叫成功?在线意见不同——赞成、反对和模棱两可。以机智:

不需要上传:Ray Wenderlich 在https://www.raywenderlich.com/122144/in-app-purchase-tutorial的教程)明确指出 SKProductsRequest无需任何上传或审核应用程序即可成功。

需要上传:另一个stackoverflow 问题(应用内购买'SKProductsRequest' 未能产生成功响应)说应用必须“提交”。它没有说提交审查(而不是仅仅为 TestFlight 上传),但它暗示了这一点。这个答案被标记为正确,但我不确定我是否相信。

在我测试 IAP 流程的第一步之前,我需要审查应用程序似乎是错误的。或者我可以提交不完整的 IAP 实施吗?这听起来也很不对。

来自 Apple 的模棱两可的信息:iTunesConnect IAP 部分中信息框的措辞删除而不是阐明:

您的第一个应用内购买必须与新的应用版本一起提交。从应用程序的应用内购买部分中选择它,然后单击提交。

我认为“它”是指 IAP。(不恰当地使用indef.pronoun。)我的IAP 列在IAP 部分,带有黄色的“准备提交”注释。当我选择(单击 IAP 的左侧名称,这也是一个链接)时,我会进入 IAP 的特定页面。没有确切标记为“提交”的按钮,但有一个标记为“提交审核”的按钮。它被禁用。

信息框中的以下段落似乎暗示需要审查应用版本/IAP 组合。

上传二进制文件并提交您的第一个应用内购买以供审核后,可以使用下表提交其他应用内购买。

请注意,它说应用程序只需要上传,但 IAP 需要“提交审核”。重要吗?但应用程序审核本身肯定不是仅仅提交SKProductsRequest验证 IAP 存在的要求。否则它看起来我必须在测试任何 IAP 功能之前实现所有IAP 功能。

附录——步骤

  • 创建了启用 IAP 的 AppID。在 Dev Portal 上验证了这一点。
  • 我正在使用 Xcode 的“自动管理签名”选项来生成 PP。Xcode 生成了 Distribution PP,但没有生成 Dev PP。(我认为没关系。)
  • 在 Dev Portal 验证此 PP 在“已启用服务”中具有 IAP。
  • 但是……我怎么知道这是用于签名的 PP?使用新的 Xcode 托管服务,PP 设置为“自动”。
  • 在 iTunesConnect 创建 IAP。
  • 已验证 IAP 的 ID 是应用程序包 ID,后缀为产品唯一字符串。
  • 已验证我提交的 IAP 的产品 ID 没有拼​​写错误。
  • 创建 IAP 后等待了一天。
  • 选中了已清除待售复选框。(它在我创建 IAP 后的某个时间“自我检查”。)
  • 添加了沙盒测试器。
  • 上传了新版本的应用程序。(不用于审查,仅用于测试。)
  • 在模拟器和设备中启动了应用程序,在这篇文章的顶部指定了失败。
0 投票
1 回答
44 浏览

swift - 处理应用内购买

我一直在研究,如果这是重复的,我深表歉意,但我没有找到任何相关信息;

我很好奇如何处理定价,关于从

func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse)

我们是否应该在每次打开应用程序时调用此方法,从苹果中检索信息?还是我们应该保存到 UserDefaults 并每次都从那里检索?

另外,处理用户离线的最合适方法是什么?

0 投票
2 回答
590 浏览

swift - 内购 - 斯威夫特 3.0

我想为我的 Swift 应用程序进行 IAP,每当我尝试通过代码连接 intunes 时,我的 xcode 中缺少权利,请参阅附件。

这是我连接 iTunes 连接的代码。

在此处输入图像描述

0 投票
1 回答
1937 浏览

ios - iOS SKProduct 如何获取IAP的免费试用信息?

我正在开发一个包含自动更新订阅的 iOS 应用程序。我想根据可用的订阅列表动态填充升级屏幕。虽然我可以轻松提取价格信息、标题和描述,但我似乎无法成功提取免费试用信息。

有没有办法检索产品的免费试用信息?

0 投票
0 回答
403 浏览

ios - IOS Swift 应用内购买 - [SKProductsRequest _handleReply:]_block_invoke

当用户尝试购买商品时,我在我的应用程序的 Xcode 崩溃报告中收到以下错误。从我看到的错误不是一般错误,因为有些用户可以购买物品,而有些则不能。

我的代码如下。我真的无法理解错误可能来自哪里。有人知道吗?

谢谢,波格丹

0 投票
11 回答
10990 浏览

ios - iOS 应用内购买订阅从 SKProduct 获得免费试用期长度

我正在通过订阅进行应用内购买。在 swift 中,您可以像这样从 SKProduct 获取价格和价格区域设置:

其中weeklyProduct 是一个SKProduct。

是否可以获得免费试用期?例如,我为该产品指定了两周的免费试用期。我可以从 SKProduct 得到这个吗?