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

如何将Firebase认证用户与RevenueCat内购用户匹配并查看详情?

解决Firebase认证用户与RevenueCat购买用户匹配问题

核心排查与配置步骤

  • 确保用户ID传递时机正确:必须等用户完成Firebase认证后,再初始化RevenueCat并传入Firebase的uid作为RC的appUserID。如果RC初始化时用户未完成认证,系统会自动生成匿名ID,后续即使传入真实ID,旧购买记录仍会绑定到匿名哈希ID上。
  • 检查ID传递的准确性:直接传入Firebase Auth返回的原始user.uid字符串,不要做哈希或加密处理,示例代码:
    // Android 示例
    FirebaseAuth.getInstance().currentUser?.let { firebaseUser ->
      Purchases.configure(PurchasesConfiguration.Builder(context, "你的RC_API_KEY")
        .appUserID(firebaseUser.uid)
        .build())
    }
    
    // iOS 示例
    if let firebaseUser = Auth.auth().currentUser {
      let configuration = PurchasesConfiguration(apiKey: "你的RC_API_KEY")
      configuration.appUserID = firebaseUser.uid
      Purchases.configure(with: configuration)
    }
    

关联历史匿名购买记录

如果已有用户用匿名ID完成了购买,调用RC的identify方法将匿名ID与Firebase的uid关联,合并历史购买记录到真实用户ID下:

// Android
Purchases.sharedInstance.identify(firebaseUser.uid) { purchaserInfo, error ->
  // 回调中确认关联结果
}
// iOS
Purchases.shared.identify(firebaseUser.uid) { purchaserInfo, error in
  // 验证关联是否成功
}

控制台查看真实用户ID

  • 完成上述配置后,新的购买记录会直接显示Firebase的uid。
  • 已关联的历史记录,可在RC控制台用户详情页的「关联的用户ID」中找到对应的Firebase uid。
  • 若仍显示哈希值,检查RC项目设置:进入「隐私」选项,确认「哈希用户ID」是否关闭(开启状态下即使传入真实ID也会显示哈希值)。

验证数据匹配有效性

  • 在自有后端或数据库中,存储Firebase uid与RC返回的appUserID(或purchaserInfo.originalAppUserId)的对应关系。
  • 调用RC的getPurchaserInfo接口,返回的appUserID应与Firebase uid完全一致,以此确认匹配成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 04:32:04