Android端RevenueCat的Purchases.getProducts返回空数组求助
Android端RevenueCat getProducts返回空数组问题
iOS端可正常完成内购,但Android端调用Purchases.getProducts接口时返回空数组,日志输出:
LOG fetched products [] LOG storyTokenProduct undefined LOG error in purchaseStoryToken [TypeError: Cannot read property 'identifier' of undefined]
配置代码
if (Platform.OS === 'ios') { try { Purchases.configure({ apiKey: REVENUE_CAT_IOS_API_KEY, appUserID: user?.uid, }) } catch (error) { console.error('error configuring revenuecat for iOS', error) await analytics().logEvent('error_configuring_revenuecat_for_ios') } } else if (Platform.OS === 'android') { try { Purchases.configure({ apiKey: REVENUE_CAT_ANDROID_API_KEY, appUserID: user?.uid, }) } catch (error) { console.error('error configuring revenuecat for Android', error) await analytics().logEvent('error_configuring_revenuecat_for_android') } }
购买逻辑代码
const purchaseStoryToken = async () => { try { useSetLoading(true) const products = await Purchases.getProducts(['dk_story_token']) console.log('fetched products', products) const storyTokenProduct = products?.[0] console.log('storyTokenProduct', storyTokenProduct) await Purchases.purchaseStoreProduct(storyTokenProduct) } catch (e) { analytics().logEvent('error_purchasing_product') console.log('error in purchaseStoryToken', e) throw e } finally { useSetLoading(false) } }
已完成的操作:
- 在RevenueCat后台配置了Products、Offerings、Entitlements
- 在Google Play控制台创建了对应内购产品
- 生成APK后在真机和模拟器测试,结果一致
疑问
- 代码中
Purchases.getProducts(['dk_story_token'])里的dk_story_token应来自何处?是Google Play控制台还是RevenueCat后台?该字符串的获取路径是什么? - 已在Google Play控制台创建对应内购产品,为何Android端调用
getProducts仍返回空数组?
内容的提问来源于stack exchange,提问作者Skyturkish
相关产品推荐
相关产品推荐

