코딩하는 일용직 노동자

인앱리뷰(InApp Review) 구현하기 본문

안드로이드

인앱리뷰(InApp Review) 구현하기

bacass 2022. 2. 23. 16:52
앱을 서비스할때 앱의 평가를 어떻게 관리하느냐도 매우 중요한 운영 포인트입니다.
사용자에게 플레이스토어에 직접와서 평가를 남기는것을 요구하는 것보단,
사용중인 앱 화면에서 평가를 남기길 유도하는 것이 더 많은 평가를 쉽게 받을 수 있겠죠.

안드로이드 인앱리뷰를 구현하는 방법을 알아보겠습니다.

#조건
인앱 리뷰는 다음 기기에서만 작동합니다.

- Google Play 스토어가 설치되었으며 Android 5.0(API 수준 21) 이상을 실행하는 Android 기기(스마트폰 및 태블릿)
- Google Play 스토어가 설치된 Chrome OS 기기

#구현
build.gradle에 아래처럼 추가해줍니다.
dependencies { 
    ... 
    // java 
    implementation "com.google.android.play:core:1.10.3" 
    // kotlin
    implementation "com.google.android.play:core-ktx:1.10.3"
    ... 
}
소스코드에는 아래처럼 구현해 주었습니다.
private void showInAppReviewPopup() {
    ReviewManager manager = ReviewManagerFactory.create(requireContext());
    Task<ReviewInfo> request = manager.requestReviewFlow();
    request.addOnCompleteListener(task -> {
        if (task.isSuccessful()) {
            // We can get the ReviewInfo object
            ReviewInfo reviewInfo = task.getResult();
            manager.launchReviewFlow(requireActivity(), reviewInfo).addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(Exception e) {
                }
            }).addOnCompleteListener(new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                }
            });
        } else {
            // There was some problem, log or handle the error code.
            @ReviewErrorCode int reviewErrorCode = ((RuntimeExecutionException) task.getException()).getErrorCode();
        }
    });
}

 

#테스트
테스트해보니 이 팝업은 호출할때마다 무조건 표시되는것이 아닙니다.
구글 플레이스토어에서 다운로드된 앱인지, 사용자가 이미 앱을 평가 완료 했는지, 이미 리뷰 팝업을 보여줬는지를 확인 후 사용자에게 인앱리뷰 팝업을 표시해줍니다.

테스트를 하려면 구글 플레이 콘솔에 앱이 등록 되어있어야 합니다.
플레이스토어 콘솔에서 내부테스트나 테스트 버전으로 배포 된 후에 테스트해보면 됩니다.
저의 경우 회사에서 운영중인 앱에 테스터로 등록되어 있어서인지 플레이스토어 콘솔에서 내부테스트를 등록하지 않고, 디버그 빌드후 곧바로 폰에서 확인해보니 인앱리뷰 팝업이 표시되는것을 확인했습니다.