一旦我们在PlayStore上发布了我们的应用程序并在其中发布,该应用程序的评级和评论对于吸引用户和下载到您的应用程序就变得至关重要。为了增加这一点,我们要求我们的用户通过一个弹出窗口对应用程序进行评分,然后将其重定向到PlayStore。但是,如今这几乎没有什么问题,一旦用户进入PlayStore,他们可能就不会回到我们的应用程序。为解决此问题,Google提供了一个名为“应用内审核”的API,可在应用程序本身中显示评级弹出窗口,因此用户不必离开应用程序。
应用内审核API的要点
- 具有Android 5(API级别21)或更高版本且在设备上安装了Google PlayStore的设备支持应用内审核。
- API本身决定应向用户显示评论窗口小部件的频率,我们不应频繁调用此API,因为一旦用户达到其最大限制,就不应向用户显示窗口小部件,否则可能会影响用户体验。
- 审核流程由API本身控制,我们不应该尝试更改其设计。
- 审查流程并不表示用户已审查我们的应用程序,也没有告诉我们有关审查小部件向用户显示或未显示的内容。
分步实施
步骤1:建立新专案
要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。请注意,选择Java作为编程语言。
步骤2:添加依赖关系
应用内审核API是Play Core API的一部分。为了在我们的应用程序中使用In-App Review API,我们需要添加Play Core API的依赖项。转到Gradle脚本> build.gradle(Module:app)并添加以下依赖项。添加这些依赖项后,您需要单击立即同步。
dependencies {
implementation “com.google.android.play:core:1.8.0”
}
步骤3:使用MainActivity。 Java文件
在此步骤中,我们将创建ReviewManage接口的实例,该实例提供了启动审阅流程的必要方法。创建实例后,我们需要调用requestReviewFlow()方法,该方法在成功完成后将返回ReviewInfo对象。使用ReviewInfo对象,我们调用launchReviewFlow()方法开始审阅流程。
Java
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.play.core.review.ReviewInfo;
import com.google.android.play.core.review.ReviewManager;
import com.google.android.play.core.review.ReviewManagerFactory;
import com.google.android.play.core.tasks.Task;
public class MainActivity extends AppCompatActivity {
private ReviewManager reviewManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Calling init() method
// for initialization
init();
}
// Initializing method
private void init() {
reviewManager = ReviewManagerFactory.create(this);
// Referencing the button
findViewById(R.id.rateBtn).setOnClickListener(view -> showRateApp());
}
// Shows the app rate dialog box using In-App review API
// The app rate dialog box might or might not shown depending
// on the Quotas and limitations
public void showRateApp() {
Task request = reviewManager.requestReviewFlow();
request.addOnCompleteListener(task -> {
if (task.isSuccessful()) {
// Getting the ReviewInfo object
ReviewInfo reviewInfo = task.getResult();
Task flow = reviewManager.launchReviewFlow(this, reviewInfo);
flow.addOnCompleteListener(task1 -> {
// The flow has finished. The API does not indicate whether the user
// reviewed or not, or even whether the review dialog was shown.
});
}
});
}
}
第4步:测试应用内审核
为了测试应用内审核,您的应用必须已获得PlayStore的批准。它不要求该应用程序公开可用,但至少您应该拥有一个PlyaStore帐户用于内部测试(用于发布跟踪和测试应用程序内审阅流程)或内部应用程序共享(用于测试应用内审阅流程) )。您可以找到应用内审核的示例图片。