尝试按照谷歌教程进行应用内评论,我目前陷入了以下代码段:
val request = manager.requestReviewFlow()
request.addOnCompleteListener { task ->
if (task.isSuccessful) {
// We got the ReviewInfo object
val reviewInfo = task.result
} else {
// There was some problem, log or handle the error code.
@ReviewErrorCode val reviewErrorCode = (task.getException() as TaskException).errorCode
}
}
Run Code Online (Sandbox Code Playgroud)
当我将其复制到 IDE 中时,它似乎没有拾取TaskException. 我可以在这里使用什么作为替代方案?
我已经添加:
implementation 'com.google.android.play:core:1.10.0'
implementation 'com.google.android.play:core-ktx:1.8.1'
Run Code Online (Sandbox Code Playgroud)
Mat*_*Pag 17
我认为该文档有一个拼写错误。
正确的异常转换应该是这个RuntimeExecutionException
我已经打开了一个关于此的文档问题
更新:2022 年 11 月 1 日(日/月/年)
将您的依赖项升级play:core到至少版本1.10.1将为您带来一个新的自定义ReviewException,它应该取代RuntimeExecutionException(或者至少这是我们的想法)。
如果没有官方答案,当前最安全的解决方案可能是以下一种:
val errorCode = when (val exception = task.exception) {
is ReviewException -> {
exception.errorCode
}
is RuntimeExecutionException -> {
exception.errorCode
}
else -> {
9999
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用任何值代替 9999,但如果该整数尚未在https://developers.google.com/android/reference/com/google/android/gms/common/api中定义为错误代码,则可能会更好/CommonStatusCodes只是为了避免混淆
| 归档时间: |
|
| 查看次数: |
1699 次 |
| 最近记录: |