解決したいこと
参考資料
https://www.section.io/engineering-education/google-play-in-app-reviews/
を用いて、In-App Review APIの実装を試みました。しかし、作動させてもレビューが表示されません。正常に作動させる方法をご教授いただきたいです。
##現状
使用言語:Java
android studio 4.0
gladleバージョン:3.5.4
用いたGoogle Core Library:'com.google.android.play:core:1.9.0'
APIのテストのために、アプリの app bundleファイルを生成した後、
https://pursue.fun/tech/how-to-android-google-play-console-inner-test/#toc1
を参考に、内部テストをリリースしました。そして、発行されたURL先でアプリをインストールし、テストを行いました。
動作のテストのために、ナビゲーションドロワーのメニューをタップすると、レビューが起動するようにしました。しかしタップしても、定義したトーストが表示されるのみで、レビュー本体は表示されませんでした。具体的には、1回目にタップした時のみ、「アプリのレビューに失敗しました。」とトーストに表示され、それ以降は「レビューが完了しました。ありがとうございました。」とトーストに表示されます。このどちらの場合でもレビュー本体は出てこない状況です。
基本的には、https://www.section.io/engineering-education/google-play-in-app-reviews/ の実装を真似しました。以下にコードを示します。
ナビゲーションドロワーのメニューリスナー
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()) { case R.id.nav_detail_settings: startActivity(new Intent(MainActivity.this, DetailSettingsActivity.class)); break; case R.id.nav_review_app: //ここでレビューを呼び出す getReviewInfo(); startReviewFlow(); break; } return true; } });
getReviewInfoメソッド
//ReviewInfo オブジェクトをリクエストする private void getReviewInfo() { reviewManager = ReviewManagerFactory.create(getApplicationContext()); Task<ReviewInfo> manager = reviewManager.requestReviewFlow(); manager.addOnCompleteListener(task -> { if (task.isSuccessful()) { reviewInfo = task.getResult(); } else { Toast.makeText(getApplicationContext(), "アプリのレビューを開始できませんでした。", Toast.LENGTH_LONG).show(); } }); }
startReviewFlowメソッド
//アプリ内レビューフローを開始する private void startReviewFlow() { if (reviewInfo != null) { Task<Void> flow = reviewManager.launchReviewFlow(this, reviewInfo); flow.addOnCompleteListener(new OnCompleteListener<Void>() { @Override public void onComplete(Task<Void> task) { Toast.makeText(getApplicationContext(), "レビューが完了しました。ありがとうございました。", Toast.LENGTH_LONG).show(); } }); } else { Toast.makeText(getApplicationContext(), "アプリのレビューに失敗しました。", Toast.LENGTH_LONG).show(); } }
あなたの回答
tips
プレビュー