테스터 의견 수집

이 가이드에서는 테스터가 앱에서 직접 의견(스크린샷 포함)을 제출할 수 있도록 선택사항인 Firebase 앱 배포 Android SDK를 사용하여 인앱 의견을 사용 설정하는 방법을 설명합니다.

시작하기 전에

아직 추가하지 않았다면 Android 프로젝트에 Firebase를 추가합니다.

1단계: App Distribution Tester API 사용 설정

  1. Google Cloud 콘솔을 열고 Firebase 프로젝트를 선택합니다.

  2. Firebase App Testers API에서 사용 설정을 클릭합니다.

2단계: 앱에 앱 배포 추가

앱 배포 Android SDK는 2개의 라이브러리로 구성됩니다.

  • firebase-appdistribution-api: 모든 빌드 변형에 포함할 수 있는 API 전용 라이브러리입니다.
  • firebase-appdistribution: 전체 SDK 구현입니다(선택사항).

API 전용 라이브러리에서는 코드가 SDK를 호출할 수 있습니다. 전체 SDK 구현이 없으면 호출이 효과가 없습니다.

  1. 모듈(앱 수준) Gradle 파일(일반적으로 <project>/<app-module>/build.gradle.kts 또는 <project>/<app-module>/build.gradle)에서 앱 배포 Android SDK의 종속 항목을 선언합니다.

  2. Google Play 빌드에 전체 SDK 구현의 자체 업데이트 기능을 포함하지 않으려면 앱 배포를 통해 배포될 빌드 유형 또는 제품 버전을 포함하여 빌드 변형을 식별합니다.

  3. 모듈(앱 수준) Gradle 파일(일반적으로 app/build.gradle)에서 앱 배포 Android SDK의 종속 항목을 선언합니다. 출시 전 테스트 전용 변형에만 전체 SDK 구현을 추가합니다.

    Kotlin+KTX

    dependencies {
        // ADD the API-only library to all variants
        implementation("com.google.firebase:firebase-appdistribution-api-ktx:16.0.0-beta10")
    
        // ADD the full SDK implementation to the "beta" variant only (example)
        betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta10")
    }
    

    Java

    dependencies {
        // ADD the API-only library to all variants
        implementation("com.google.firebase:firebase-appdistribution-api:16.0.0-beta10")
    
        // ADD the full SDK implementation to the "beta" variant only (example)
        betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta10")
    }
    

3단계: 인앱 의견 구성

테스터의 의견을 수집하려면 다음 트리거 중 하나를 사용하여 테스터가 의견 보내기를 시작할 수 있도록 합니다.

  • 기본 제공 알림 트리거: 앱 배포 Android SDK는 테스터가 앱 어디에서나 탭할 수 있는 진행 중인 알림을 표시할 수 있습니다. 더 빠르게 시작하길 원하고 테스터가 의견을 제공하는 방식을 맞춤설정할 필요가 없는 경우에 이 트리거를 사용하세요.

  • 커스텀 트리거: 앱의 버튼 또는 메뉴 항목을 탭하거나 기기를 흔드는 것과 같은 자체 트리거 메커니즘을 제공할 수 있습니다.

이러한 트리거 중 하나를 사용하고 테스터가 의견을 제출하면 Android SDK가 다음 작업을 수행합니다.

  1. 앱에서 현재 진행 중인 활동의 스크린샷을 캡처합니다.

  2. 테스터가 SDK의 테스트 기능을 사용 설정했는지 확인하는 검사를 실행합니다. 테스트 기능이 사용 설정되어 있지 않으면 Android SDK가 테스터에게 Google 계정으로 앱 배포에 로그인하라는 메시지를 표시합니다.

  3. 테스터가 의견을 작성하고 제출할 수 있는 전체 화면 활동을 시작합니다.

옵션 1: 알림 트리거

showFeedbackNotification()을 사용하여 테스터 기기에서 테스터가 탭하여 의견 보내기를 시작할 수 있는 영구 알림 또는 진행 중인 알림을 표시합니다. 알림을 구성할 때 테스터가 의견을 제출하기 전에 표시할 텍스트와 알림 중단 수준(알림 채널의 중요도에 해당)을 제공해야 합니다. 테스터에게 의견 데이터의 수집 및 처리에 관한 알림을 제공하려면 이 텍스트를 통해 알리면 됩니다.

showFeedbackNotification()을 사용하고 앱이 백그라운드로 전환되면 알림이 숨겨집니다. 알림을 명시적으로 숨기려면 cancelFeedbackNotification()을 사용하세요. 기본 활동의 onCreate()showFeedbackNotification()을 삽입하는 것이 좋습니다.

Kotlin+KTX

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        Firebase.appDistribution.showFeedbackNotification(
            // Text providing notice to your testers about collection and
            // processing of their feedback data
            R.string.additionalFormText,
            // The level of interruption for the notification
            InterruptionLevel.HIGH)
    }
}

Java

public class MainActivity extends AppCompatActivity {
    FirebaseAppDistribution firebaseAppDistribution =
        FirebaseAppDistribution.getInstance();
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        firebaseAppDistribution.showFeedbackNotification(
            // Text providing notice to your testers about collection and
            // processing of their feedback data
            R.string.additionalFormText,
            // The level of interruption for the notification
            InterruptionLevel.HIGH);
    }
}

옵션 2: 커스텀 트리거

startFeedback() 메서드를 사용하여 원하는 메커니즘으로 의견 보내기를 시작합니다. 예를 들어 의견을 트리거하려면 앱의 작업 메뉴에 '의견 보내기' 메뉴 항목을 추가하거나 테스터가 기기를 흔들거나 스크린샷을 찍을 수 있게 하는 것이 좋습니다. 의견을 트리거할 때 테스터가 의견을 제출하기 전에 표시할 텍스트를 제공하세요. 테스터에게 의견 데이터의 수집 및 처리에 관한 알림을 제공하려면 이 텍스트를 통해 알리면 됩니다.

Kotlin+KTX

Firebase.appDistribution.startFeedback(R.string.feedbackMessage)

Java

FirebaseAppDistribution.getInstance().startFeedback(R.string.feedbackMessage);

4단계: 구현 빌드 및 테스트

로컬 테스트

먼저 앱을 배포하지 않고 구현을 테스트하려면 다음 단계를 따르세요.

  1. 로컬 기기에서 개발 모드를 사용 설정합니다.

    adb shell setprop debug.firebase.appdistro.devmode true
    
  2. 전체 앱 배포 라이브러리를 포함하는 출시 전 변형으로 앱을 빌드한 후 3단계: 인앱 의견 구성에서 구현된 메커니즘을 사용하여 의견을 트리거할 수 있는지 테스트합니다. 개발 모드에서는 의견이 제출되지 않습니다.

  3. 테스트 후 기기에서 개발 모드를 사용 중지할 수 있습니다.

    adb shell setprop debug.firebase.appdistro.devmode false
    

엔드 투 엔드 테스트

앱이 의견을 보낼 수 있는지 테스트하려면 전체 앱 배포 라이브러리가 포함된 출시 전 변형으로 앱을 빌드하고 다음 단계에 따라 구현을 테스트합니다.

  1. 앱 배포에 새 앱 버전을 업로드합니다.

  2. 액세스 권한이 있는 계정에 앱 출시 버전을 배포합니다.

  3. 앱 배포의 웹 또는 Android 테스터 앱을 통해 앱을 다운로드합니다.

  4. 3단계: 인앱 의견 구성에 구현된 메커니즘을 사용하여 의견을 트리거합니다.

  5. 앱 출시 버전을 배포한 계정과 동일한 계정으로 로그인했는지 확인하고 의견을 제출합니다.

  6. Firebase Console의 새 출시 버전 카드에서 의견을 확인합니다.

일반적인 문제(예: 테스터가 앱에서 의견 보내기를 시작할 수 없음)를 해결하는 방법을 알아보려면 SDK로 테스트 기능 사용 설정을 참조하세요.

5단계: 테스터 의견 관리

테스터가 의견을 보낼 수 있도록 사용 설정한 후 다음 도구를 사용하여 의견을 검토하고 조치를 취할 수 있습니다.

Firebase Console에서 의견 보기 및 삭제

Firebase Console의 특정 출시 버전에서 테스터 의견 탭을 열어 스크린샷을 포함한 사용자 의견을 검토하고 삭제할 수 있습니다. 사용자 의견은 출시 버전별로 정리되므로 의견이 적용되는 버전을 확인할 수 있습니다.

사용자 의견을 검토한 후 의견 삭제 버튼을 클릭하여 해당 의견을 삭제할 수 있습니다. 삭제된 의견은 출시 버전에서 삭제됩니다.

새로운 의견에 관한 이메일 알림 받기

새로운 테스터 의견에 관해 적극적으로 알아보려면 테스터가 의견을 제출할 때 이메일 알림을 받으면 됩니다. 이메일 알림에는 테스터가 작성한 의견과 제출한 스크린샷의 링크가 포함됩니다.

이 기본 메커니즘을 통해 앱 배포 이메일 알림을 받으려면 firebase.projects.update 권한이 있어야 합니다. 기본적으로 Firebase 관리자나 프로젝트 소유자 또는 편집자 역할에 이 필수 권한이 포함되어 있습니다.

기본적으로 새로운 의견 보고서가 제출되면 이메일 알림을 받는 데 필요한 권한이 있는 모든 프로젝트 구성원에게는 이메일이 전송됩니다. 프로젝트 구성원은 이러한 알림을 개별적으로 선택 해제할 수 있습니다.

이메일 알림을 사용 중지하려면 Firebase 알림 수신을 참조하세요.

서드 파티 도구에 새로운 의견 보내기

Firebase용 Cloud Functions를 사용하여 팀의 원하는 알림 채널로 앱 배포 알림을 보낼 수도 있습니다. 예를 들어 새로운 인앱 의견에 관한 알림 이벤트를 캡처하고 Discord, Slack, Jira와 같은 서드 파티 서비스에 알림 정보를 게시하는 함수를 작성할 수 있습니다.

Firebase용 Cloud Functions를 사용하여 고급 알림 기능을 설정하려면 다음 단계를 따르세요.

  1. 다음 태스크를 포함한 Firebase용 Cloud Functions를 설정합니다.

    1. Node.js와 npm을 다운로드합니다.

    2. Firebase CLI를 설치하고 로그인합니다.

    3. Firebase CLI를 사용하여 Firebase용 Cloud Functions를 초기화합니다.

  2. 앱 배포의 인앱 의견 알림 이벤트를 캡처하고 이벤트 페이로드를 처리하는 함수를 작성하고 배포합니다(예: Discord에서 메시지로 알림 정보 게시).

Jira에 새로운 의견을 보내는 방법을 보여주는 함수 예시를 보려면 이 샘플을 참조하세요.

캡처할 수 있는 모든 알림 이벤트에 관한 자세한 내용은 앱 배포 알림 참조 문서를 확인하세요.