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

如何在Android Kotlin函数中处理RevenueCat登录的简单错误

处理RevenueCat logInWith的错误回调,获取错误码与信息

你现在用的::error是函数引用,但要拿到错误详情,直接把它替换成自定义lambda表达式就行——因为onError参数要求的就是一个接收PurchasesError类型参数的函数。

修改后的完整代码

Purchases.sharedInstance.logInWith(
    myUserID,
    // 替换原::error,自定义错误处理逻辑
    { error ->
        // 提取错误码和错误信息
        val errorCode = error.code
        val errorMessage = error.message
        // 这里写你的错误处理逻辑,比如打印日志、弹窗提示用户等
        println("登录失败:错误码=$errorCode,详情=$errorMessage")
    }
) { customerInfo, created ->
    // 登录成功的处理逻辑写在这里
}

补充说明

根据RevenueCat SDK的定义,PurchasesError类包含核心错误信息:

  • code:错误码(一般是枚举类型,比如PurchasesErrorCode的实例)
  • message:错误的详细描述文本
  • 部分版本还提供underlyingError属性,可获取底层原生错误的具体信息

你可以根据业务需求,在错误回调里做对应处理,比如给用户展示友好提示、记录错误日志等。


附你提供的原始代码

你的登录代码

Purchases.sharedInstance.logInWith(
                    myUserID,
                    ::error // <- How to handle this? I want to retrieve error Code and Error Message.
            )
{ customerInfo, created  ->

// Handle Successful login here

}

RevenueCat SDK的函数实现

@Suppress("unused")
fun Purchases.logInWith(
    appUserID: String,
    onError: (error: PurchasesError) -> Unit = ON_ERROR_STUB,
    onSuccess: (customerInfo: CustomerInfo, created: Boolean) -> Unit
) {
    logIn(appUserID, logInSuccessListener(onSuccess, onError))
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 13:15:24