问题标签 [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.
ios8 - 应用购买验证中的消耗品
我们最近推出了只有消耗品应用内购买的应用。我们注意到很多虚假购买 - 购买带有无效收据和“有效”收据,但来自苹果的验证响应中的“in_app”数组是空数组。我需要知道用户如何形成这样的“有效”收据?是收到应用下载而不是应用内购买还是什么?我现在将以下检查用于验证。从 Apple 的 json 响应中提取“in_app”字段,如果它非空,则检查 product_id 是否匹配。我需要知道这张支票是否足够,或者他们是一个更好的万无一失的支票。
swift - Swift 中 SKProduct 的 NSCoding 错误
我正在尝试将 SKProduct 保存在 Realm 中,但在乞求时,我正在尝试将 SKProduct 转换为 NSData,但由于未捕获的异常“NSInvalidArgumentException”而出现此错误正在终止应用程序,原因:'-[SKProduct encodeWithCoder:]:无法识别的选择器发送到实例 0x14f5cd200' *
我的课
我尝试将其存档在另一个班级
我以不同的方式做到了,但结果是一样的。我该如何解决?
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 输入了该信息。
谢谢你的帮助!
ios - 了解 TableView 中的本地化标题和本地化描述
我目前正在实施应用内购买机制,有三件事我不完全理解。
在下面的 tableView 中,我正在使用单例类从应用程序风暴中检索产品,并且有三件事我不确定它们到底做了什么......
做什么as! SKProduct
?
做什么localizedTitle
和localizedDescription
做什么?
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 后的某个时间“自我检查”。)
- 添加了沙盒测试器。
- 上传了新版本的应用程序。(不用于审查,仅用于测试。)
- 在模拟器和设备中启动了应用程序,在这篇文章的顶部指定了失败。
swift - 处理应用内购买
我一直在研究,如果这是重复的,我深表歉意,但我没有找到任何相关信息;
我很好奇如何处理定价,关于从
func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse)
我们是否应该在每次打开应用程序时调用此方法,从苹果中检索信息?还是我们应该保存到 UserDefaults 并每次都从那里检索?
另外,处理用户离线的最合适方法是什么?
ios - iOS SKProduct 如何获取IAP的免费试用信息?
我正在开发一个包含自动更新订阅的 iOS 应用程序。我想根据可用的订阅列表动态填充升级屏幕。虽然我可以轻松提取价格信息、标题和描述,但我似乎无法成功提取免费试用信息。
有没有办法检索产品的免费试用信息?
ios - IOS Swift 应用内购买 - [SKProductsRequest _handleReply:]_block_invoke
当用户尝试购买商品时,我在我的应用程序的 Xcode 崩溃报告中收到以下错误。从我看到的错误不是一般错误,因为有些用户可以购买物品,而有些则不能。
我的代码如下。我真的无法理解错误可能来自哪里。有人知道吗?
谢谢,波格丹
ios - iOS 应用内购买订阅从 SKProduct 获得免费试用期长度
我正在通过订阅进行应用内购买。在 swift 中,您可以像这样从 SKProduct 获取价格和价格区域设置:
其中weeklyProduct 是一个SKProduct。
是否可以获得免费试用期?例如,我为该产品指定了两周的免费试用期。我可以从 SKProduct 得到这个吗?