You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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后在真机和模拟器测试,结果一致

疑问

  1. 代码中Purchases.getProducts(['dk_story_token'])里的dk_story_token应来自何处?是Google Play控制台还是RevenueCat后台?该字符串的获取路径是什么?
  2. 已在Google Play控制台创建对应内购产品,为何Android端调用getProducts仍返回空数组?

内容的提问来源于stack exchange,提问作者Skyturkish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 03:33:40