Mengumpulkan masukan dari penguji

Panduan ini menjelaskan cara mengaktifkan pemberian masukan dalam aplikasi menggunakan Firebase App Distribution Android SDK opsional, sehingga penguji dapat mengirim masukan (termasuk screenshot) langsung di aplikasi.

Sebelum memulai

Tambahkan Firebase ke project Android jika Anda belum melakukannya.

Langkah 1: Aktifkan App Distribution Tester API

  1. Buka Google Cloud Console dan pilih project Firebase Anda.

  2. Di bagian Firebase App Testers API, klik Enable.

Langkah 2: Tambahkan App Distribution ke aplikasi Anda

App Distribution Android SDK terdiri dari dua library:

  • firebase-appdistribution-api: Library khusus API, yang dapat Anda sertakan di semua varian build.
  • firebase-appdistribution: Implementasi SDK lengkap (opsional).

Dengan library khusus API, kode Anda dapat melakukan panggilan ke SDK. Panggilan tidak berpengaruh jika implementasi SDK lengkap tidak ada.

  1. Deklarasikan dependensi untuk App Distribution Android SDK dalam file Gradle module (level file) (biasanya <project>/<app-module>/build.gradle.kts atau <project>/<app-module>/build.gradle).

  2. Agar tidak menyertakan fungsi update otomatis dalam implementasi SDK lengkap pada build Google Play, lakukan identifikasi varian build, termasuk jenis build atau ragam produk yang akan didistribusikan melalui App Distribution.

  3. Deklarasikan dependensi untuk App Distribution Android SDK dalam file Gradle modul (level aplikasi), (biasanya app/build.gradle). Hanya tambahkan implementasi SDK yang lengkap ke varian yang ditujukan secara eksklusif untuk pengujian pra-rilis:

    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")
    }
    

Langkah 3: Konfigurasikan masukan dalam aplikasi

Untuk mengumpulkan masukan dari penguji, gunakan salah satu pemicu berikut untuk memungkinan penguji mulai memberikan masukan:

  • Pemicu notifikasi bawaan: App Distribution Android SDK dapat menampilkan notifikasi yang sedang berlangsung yang dapat diketuk oleh penguji dari mana saja di dalam aplikasi. Gunakan pemicu ini jika Anda ingin memulai lebih cepat dan Anda tidak perlu menyesuaikan cara penguji memberikan masukan.

  • Pemicu kustom: Anda dapat memberikan mekanisme pemicu sendiri, seperti mengetuk tombol atau item menu di aplikasi atau menggoyangkan perangkat.

Jika Anda menggunakan salah satu pemicu ini dan penguji mengirimkan masukan, Android SDK akan melakukan tindakan berikut:

  1. Mengambil screenshot aktivitas saat ini dalam aplikasi.

  2. Menjalankan pemeriksaan untuk memastikan penguji mengaktifkan fitur pengujian SDK. Jika fitur pengujian tidak diaktifkan, Android SDK akan meminta penguji untuk login ke App Distribution dengan Akun Google miliknya.

  3. Memulai aktivitas layar penuh yang memungkinkan penguji menulis dan mengirimkan masukan mereka.

Opsi 1: Pemicu notifikasi

Gunakan showFeedbackNotification() untuk menampilkan notifikasi persisten atau yang sedang berlangsung di perangkat penguji, yang dapat diketuk untuk memulai pemberian masukan. Saat mengonfigurasi notifikasi, Anda harus memberikan beberapa teks yang akan ditampilkan kepada penguji sebelum mengirimkan masukan, dan tingkat gangguan untuk notifikasi tersebut (sesuai dengan nilai penting saluran notifikasi). Jika ingin, Anda dapat menggunakan teks tersebut untuk menyampaikan pemberitahuan kepada penguji tentang pengumpulan dan pemrosesan data masukan mereka.

Saat Anda menggunakan showFeedbackNotification() dan saat aplikasi beralih ke latar belakang, notifikasi akan disembunyikan. Jika Anda ingin menyembunyikan notifikasi secara eksplisit, gunakan cancelFeedbackNotification(). Sebaiknya masukkan showFeedbackNotification() dalam onCreate() aktivitas utama Anda.

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);
    }
}
.

Opsi 2: Pemicu kustom

Gunakan metode startFeedback() untuk memulai pemberian masukan menggunakan mekanisme pilihan Anda. Misalnya, untuk memicu masukan, sebaiknya tambahkan item menu "Kirim masukan" ke menu tindakan pada aplikasi, atau biarkan penguji menggoyangkan perangkatnya atau mengambil screenshot. Saat Anda memicu masukan, berikan beberapa teks yang akan ditampilkan kepada penguji sebelum mereka mengirimkan masukan. Jika ingin memberikan pemberitahuan kepada penguji tentang pengumpulan dan pemrosesan data masukan mereka, Anda dapat menggunakan teks ini untuk memberikan pemberitahuan tersebut.

Kotlin+KTX

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

Java

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

Langkah 4: Build dan uji penerapan Anda

Pengujian lokal

Untuk menguji implementasi Anda tanpa harus mendistribusikan aplikasi terlebih dahulu, ikuti langkah-langkah berikut:

  1. Aktifkan mode developer di perangkat lokal Anda:

    adb shell setprop debug.firebase.appdistro.devmode true
    
  2. Build aplikasi Anda sebagai varian pra-rilis yang menyertakan library App Distribution lengkap, dan uji apakah Anda dapat memicu masukan menggunakan mekanisme yang diterapkan pada Langkah 3: Konfigurasikan pemberian masukan dalam aplikasi. Masukan tidak dikirim saat dalam mode developer.

  3. Setelah pengujian, Anda dapat menonaktifkan mode developer di perangkat:

    adb shell setprop debug.firebase.appdistro.devmode false
    

Pengujian menyeluruh

Untuk menguji apakah aplikasi Anda dapat mengirim masukan, build aplikasi sebagai varian pra-rilis yang menyertakan library App Distribution lengkap, lalu uji implementasi Anda dengan mengikuti langkah-langkah berikut:

  1. Upload rilis aplikasi baru ke App Distribution.

  2. Distribusikan rilis aplikasi ke akun yang izin aksesnya Anda miliki.

  3. Download aplikasi melalui web App Distribution atau aplikasi pengujian Android.

  4. Picu masukan menggunakan mekanisme yang diterapkan pada Langkah 3: Konfigurasikan pemberian masukan dalam aplikasi.

  5. Pastikan Anda login dengan akun yang sama tempat Anda mendistribusikan rilis aplikasi dan mengirimkan masukan.

  6. Lihat masukan Anda di kartu rilis baru di Firebase console.

Untuk mempelajari cara menyelesaikan masalah umum, seperti penguji yang tidak dapat memulai pemberian masukan di aplikasi, baca artikel Mengaktifkan fitur pengujian dengan SDK.

Langkah 5: Kelola masukan penguji

Setelah memungkinkan penguji untuk mengirim masukan, Anda dapat menggunakan alat berikut guna meninjau dan menindaklanjuti masukan tersebut:

Melihat dan menghapus masukan di Firebase console

Anda dapat meninjau dan menghapus masukan pengguna, termasuk screenshot, dengan membuka tab Tester feedback di bagian rilis tertentu di Firebase console. Masukan pengguna diatur menurut rilis sehingga Anda dapat mengonfirmasi versi yang berlaku untuk masukan tersebut.

Setelah meninjau masukan pengguna, Anda dapat menghapus masukan tersebut dengan mengklik tombol Delete feedback. Masukan yang dihapus akan dihapus dari rilis Anda.

Menerima peringatan email untuk masukan baru

Untuk mempelajari secara proaktif masukan baru dari penguji, Anda dapat menerima pemberitahuan email saat penguji mengirimkan masukan. Peringatan email menyertakan masukan tertulis yang diberikan oleh penguji dan link ke screenshot yang dikirimkan.

Untuk menerima pemberitahuan email App Distribution melalui mekanisme default ini, Anda harus memiliki izin firebase.projects.update. Peran berikut mencakup izin yang diperlukan ini secara default:Firebase Admin atau Owner atau Editor project.

Secara default, setiap anggota project yang memiliki izin yang diperlukan untuk menerima pemberitahuan email akan menerima email saat laporan masukan baru dikirimkan. Setiap anggota project dapat memilih untuk tidak menerima notifikasi ini.

Untuk menonaktifkan pemberitahuan email, lihat bagian Menerima pemberitahuan Firebase.

Mengirim masukan baru ke alat pihak ketiga

Anda juga dapat mengirim pemberitahuan App Distribution ke saluran notifikasi pilihan tim Anda menggunakan Cloud Functions for Firebase. Misalnya, Anda dapat menulis fungsi yang menangkap peristiwa pemberitahuan untuk masukan dalam aplikasi baru dan memposting informasi pemberitahuan ke layanan pihak ketiga seperti Discord, Slack, atau Jira.

Untuk menyiapkan fungsi pemberitahuan lanjutan menggunakan Cloud Functions for Firebase, ikuti langkah-langkah berikut:

  1. Siapkan Cloud Functions for Firebase, yang mencakup tugas berikut:

    1. Mendownload Node.js dan npm.

    2. Menginstal dan login ke Firebase CLI.

    3. Melakukan insialisasi Cloud Functions for Firebase menggunakan Firebase CLI.

  2. Menulis dan men-deploy fungsi yang menangkap peristiwa pemberitahuan masukan dalam aplikasi dari App Distribution dan menangani payload peristiwa (misalnya, memposting informasi pemberitahuan dalam pesan di Discord).

Untuk mengetahui contoh fungsi yang menunjukkan cara mengirim masukan baru ke Jira, lihat contoh ini.

Untuk mempelajari semua peristiwa pemberitahuan yang dapat Anda tangkap, lihat dokumentasi referensi untuk pemberitahuan App Distribution.