问题标签 [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.
localization - Storekit - 仅限生产环境 - SKProduct 本地化标题和本地化描述是否仅依赖于沙盒中的 iTunes Store 位置?
正如关于 IAP 本地化测试的技术说明 TN2413中所述:
本地化描述和本地化标题返回本地化信息,其语言基于当前 iTunes Store 而不是当前设备语言设置。例如,如果您的应用程序内购买在 iTunes Connect 中本地化为德语,并且您使用英语测试用户帐户登录,则本地化描述和本地化标题将返回以英语本地化的信息。要使本地化描述和本地化标题返回德语本地化信息,请在您的测试设备上使用德语测试用户帐户登录。
一切都很好,并在沙盒中得到验证。
我无法确认的是生产商店是否也是如此:localizedTitle 和localizedDescription 的语言是仅取决于iTunes 商店的位置,还是基于[NSLocale preferredLanguages] 或当前的localeIdentifier?
一方面,生产商店表现得像测试商店是有意义的,但另一方面,这似乎是一个奇怪的选择,因为最终用户的语言偏好决定了他们所服务的本地化更有意义。
例如,喜欢说德语的德国用户可能住在法国并使用法语 App Store。
由于各种原因,这很难亲自验证,我找不到关于此的具体文档。谁能确认这是如何工作的?
谢谢你。
ios - SKProductsRequest 在 iOS 11 模拟器中不起作用
在 iOS 模拟器中购买是众所周知的“不,这是不可能的”。但是,通过向iOS 11 之前SKProduct
的用户提供产品标识符来检索信息。SKProductsRequest
在SKProductsRequestDelegate
我收到以下错误:Error Domain=SSErrorDomain Code=0 "Cannot connect to iTunes Store"
根据我的发现,这可能发生在产品标识符错误或 Apple Sandbox 服务器关闭时。然而,情况并非如此,因为产品在 iOS 10 上加载良好。
我的产品获取实现与Apple 指南中的几乎相同
有其他人遇到这种情况或找到解决方案吗?
当应用程序在物理设备上运行时,产品加载正常。我正在使用 Xcode 9.0。
ios - 如何将 SKProduct 价格格式化为 Swift 货币字符串?
如果您有这样的代码,那么p
将是"2.99"
:
但是,如果您有这样的代码:
然后p2
是"0.00"
。
你怎么能把一个格式化NSDecimalNumber
成这样的字符串?(NSDecimalNumber
是如何SKProduct
存储价格的)
objective-c - 如何以美元获得 SKProduct 本地价格?
我需要将 SKProduct 本地价格转换为美元。这意味着,SKProduct 给我本地货币。但我需要显示每个国家的美元汇率。
ios - SKPayment 验证是否已购买订阅项目(目标 c)
我有这个代码和所有的过程都可以并进入这个状态:SKPaymentTransactionStatePurchased
但我不知道订阅试用结束后会发生什么。这个实现正确吗?
另一方面,当用户运行应用程序时,再次显示确认产品已购买的警报。当用户在应用程序已经购买时再次打开应用程序时如何避免此警报?
ios - SKProductStorePromotionController 更新方法不起作用
我正在尝试使用SKProductStorePromotionController
iOS 11 中引入的更新我拥有的一些应用内购买促销活动的可见性,但无论我尝试什么都不起作用。我已经尝试通过SKProductRequest
并使用SKProductStorePromotionController
's order fetching 方法来获取产品,并且我已经尝试更新可见性和 order。两者似乎都没有做任何事情。这主要是在调试版本中,尽管我也在 TestFlight 版本中完成了它。我错过了什么?
swift - SKProduct 的快速应用内购买问题
我正在制作一个带有一些 IAP 的应用程序,但我正面临一个无聊的问题,这让我感觉很疯狂。我测试了我的 IAP,但它没有用。(什么都没发生)我检查了问题所在,发现问题来自SKProduct
. 所以我试图请求一个产品,SKProductsRequest(productIdentifiers: productIds)
然后如果我打印: response.products.count
,结果将是0
。( response:SKProductsResponse
)
这是我请求产品的代码:
但response.product
不要抓住任何价值..
有人知道如果我的结果等于是什么意思0
吗?请帮我解决这个问题。不要犹豫,向我询问更多信息。
ios - 如何正确显示 iOS SKProduct 的入门价格?
精简版:
- 在 iTunes Connect 中为订阅创建了介绍价格
- 新价格将在大约一个月后开始
- 所有客户在立即更新他们的 SKProducts 时都会收到新的价格信息
如何确保仅当介绍性价格可用时,新价格才会显示在我的 UI 中?
详细版本:
简而言之,有关通过 iOS 应用程序提供介绍性价格主题的 Apple 文档如下:
isInIntroOfferPeriod
通过解析当前商店收据并查找值或isTrialPeriod
设置为 true的订阅组的旧购买来检查资格。如果是这样,用户将不会收到当前的介绍价格,因为他/她在过去的某个时间点已经收到介绍价格更新您的 SKProducts 后,查看该
introductoryPrice
值是否已设置。如果是这样,请在您的应用中反映折扣(如果用户当然符合条件)
然而,我的问题是:我在 iTunes Connect 中创建了一个介绍性价格,并将其“开始日期”设置为未来一个月左右。根据 Apple 关于“如何提供介绍性价格”的指南,人们会认为introductoryPrice
当客户在提供折扣期间更新其 SKProducts 时不是 nil/null,而在没有折扣时是 nil/null。实际上,SKProduct 包含一个introductoryPrice
具有新价格、持续时间等的对象,以便每个客户在创建介绍价格后立即更新他们的 SKProducts。即使它要到未来一个月才能使用。这将导致我的应用程序显示新价格,因为无法区分折扣是否有效。
理想情况下,我不想将日期硬编码到应用程序中,在此之前我会忽略介绍性价格。有什么我没有看到的吗?你是如何解决这个问题的?