首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android评审管理器

Android评审管理器
EN

Stack Overflow用户
提问于 2021-09-12 10:22:43
回答 3查看 937关注 0票数 1

很抱歉,我更像是一个iOS开发者,而不是安卓。尽管我阅读了各种教程,但我真的很难在我的应用程序中创建一个简单的谷歌评论提示符。

我在用ReviewManagerFactory。我加入了build.gradle依赖项

代码语言:javascript
复制
implementation 'com.google.android.play:core:1.8.0'

在我的代码中,对于一个活动,我有一个简单的函数,名为'reviewPrompt‘。创建ReviewManager实例并请求开始检查流程。

代码语言:javascript
复制
    private void reviewPrompt() {
    ReviewManager manager = ReviewManagerFactory.create(this);
    manager.requestReviewFlow();
}

这就是我需要做的,以实现审查提示?许多其他教程(包括Google )一直在讨论如何首先创建ReviewManagerFactory实例。

代码语言:javascript
复制
ReviewManager manager = ReviewManagerFactory.create(context)

然后补充如下:

代码语言:javascript
复制
ReviewManager manager = ReviewManagerFactory.create(this);
Task<ReviewInfo> request = manager.requestReviewFlow();
request.addOnCompleteListener(task -> {
    if (task.isSuccessful()) {
        // We can get the ReviewInfo object
        ReviewInfo reviewInfo = task.getResult();
    } else {
        // There was some problem, log or handle the error code.
        @ReviewErrorCode int reviewErrorCode = ((TaskException) task.getException()).getErrorCode();
    }
});

为什么他们建议创建两个ReviewManger实例?先用(上下文),再用(这个)?如果两者都需要的话,它们是否都具有相同的功能?

代码语言:javascript
复制
ReviewManager manager = ReviewManagerFactory.create(context)

去别的地方??

他们似乎还附加侦听器等(以各种方式),但据我所见,这不一定是必要的,除非我希望跟踪审查流程是否完成或失败等。

如果我在这里遗漏了什么,请纠正我。

最后,只有当用户在应用程序生命周期中打开某个特定活动的次数'x‘时,我才会调用此函数。我使用我的iOS,我使用了用户默认值和reviewWorthyActionCount。Android中有类似的东西吗?

提前感谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-09-26 01:43:11

文档上的示例分为三个部分,如果您是android新手,可能会有点难以理解。这里有一个完整的示例,它集成了文档中的三个部分。

代码语言:javascript
复制
ReviewManager manager = ReviewManagerFactory.create(this);
Task<ReviewInfo> request = manager.requestReviewFlow();
request.addOnCompleteListener(task -> {
    if (task.isSuccessful()) {
        ReviewInfo reviewInfo = task.getResult();
        val flow = manager.launchReviewFlow(this@/*Your activity class name here(ie:MainActivity)*/, reviewInfo)
        flow.addOnCompleteListener { _ ->
            //do something after the review flow finishes, like logging that the review flow was completed successfully
        }
    } else {
        // There was some problem, log or handle the error code.
        @ReviewErrorCode int reviewErrorCode = ((TaskException) task.getException()).getErrorCode();
    }
});

解释:

两者都有

代码语言:javascript
复制
ReviewManager manager = ReviewManagerFactory.create(context) 

代码语言:javascript
复制
ReviewManager manager = ReviewManagerFactory.create(this)

同样,关于文档的第二部分包括第一个部分,假设"this“是一个类型为"context”的对象。

然后这句话:

代码语言:javascript
复制
val flow = manager.launchReviewFlow(activity, reviewInfo)

这也可能会让人感到困惑,这意味着launchReviewFlow的第一个参数应该是活动类型,如果您复制和粘贴代码,它将无法工作。您必须使用以下内容:

代码语言:javascript
复制
val flow = manager.launchReviewFlow(this, reviewInfo)
//or
val flow = manager.launchReviewFlow(this@MainActivity, reviewInfo)

当"MainActivity“是您活动的类名时。

然后,要存储一个计数器,您可以使用SharedPreferences或新的DataStore库,dominicoder说。

票数 1
EN

Stack Overflow用户

发布于 2021-09-21 08:48:43

根据ReviewManagerFactory的说法,你应该传递上下文,就像安卓活动也是上下文一样。当您提到“此”时,它意味着您传递当前对象(活动)。您不需要使用(这个上下文)创建两个不同的对象(两者都是相同的)

对于第二种情况,首先在android SharedPereference中保存一个名为fooActivityVisited的值(它是存储值的本地存储空间),然后在您的活动中递增它,并在到达“计数”时进行检查,您将显示审查结果。

票数 2
EN

Stack Overflow用户

发布于 2021-09-19 07:46:51

为什么他们建议创建两个ReviewManger实例?先用(上下文),再用(这个)?如果两者都需要的话,它们是否都具有相同的功能? ReviewManager管理器=ReviewManagerFactory.create(上下文) 去别的地方??

你的职位缺乏..。背景(呵呵) ..。但我不认为他们建议创建两个实例,您可能会看到两个不同的例子。我不知道,因为你发布了随机片段,而不是一个完整的例子。

在任何情况下,您都需要使用Context创建管理器的实例。在第一个示例中,代码似乎是从ViewFragment调用的,它们都不是Context的,但它们确实具有context属性。

在第二个示例中,代码似乎是从Activity (即Context )调用的,因此可以用this调用它。

至于它的发展方向-嗯,它会去任何你需要这个管理器对象的地方。

用完整的代码示例或链接来回答您的问题会更容易,无论您遵循的是什么教程。

他们似乎还附加侦听器等(以各种方式),但据我所见,这不一定是必要的,除非我希望跟踪审查流程是否完成或失败等。 如果我在这里遗漏了什么,请纠正我。

这里有问题吗?哪些听众是“他们似乎有依附的”?这个假设是基于什么的?你能张贴一些代码或链接到一个你正在看的例子吗?

最后,只有当用户在应用程序生命周期中打开某个特定活动的次数'x‘时,我才会调用此函数。我使用我的iOS,我使用了用户默认值和reviewWorthyActionCount。Android中有类似的东西吗?

您正在询问Android开发人员是否有类似于某些iOS结构的东西,而没有解释这些构造是什么。如果你解释一下什么是“用户默认”和"reviewWorthyActionCount“,我可以告诉你安卓上是否有类似的东西。

除此之外,如果我想跟踪一些简单的持久状态,比如“查看活动X次”,我可能会使用SharedPreferences新的DataStore库

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69150525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档