StoreKit 2的status(for groupID:)方法如何获取正确的subscriptionGroupID?
解答
- 你确实需要先获取对应订阅组下的任意一个Product实例来获取目标ID
- 具体操作步骤:
- 先调用商品查询接口获取目标订阅组下的任意订阅产品,示例方法:
static func products(for identifiers: [String]) async throws -> [Product] - 拿到对应Product实例后,读取
product.subscription?.subscriptionFamilyId属性,这个值就是你调用status(for:)接口需要传入的groupID,和从交易中获取的subscriptionGroupID字段值完全一致
- 先调用商品查询接口获取目标订阅组下的任意订阅产品,示例方法:
补充说明:Xcode中.storekit配置文件里填写的「订阅组参考名」仅用于本地配置的标识,和运行时实际使用的subscriptionGroupID没有关联,不能混用。如果是本地测试场景,你也可以先触发一次对应订阅组的测试购买,直接从返回的交易对象中读取
transaction.subscriptionGroupID保存使用即可。
内容的提问来源于stack exchange,提问作者alpennec
相关产品推荐
相关产品推荐

