Memberi tahu penguji tentang rilis aplikasi baru dengan Firebase App Distribution iOS SDK - Codelab

1. Ringkasan

Selamat datang di codelab Mengintegrasikan Firebase App Distribution SDK di aplikasi iOS Anda. Dalam codelab ini, Anda akan menambahkan App Distribution SDK ke aplikasi Anda untuk menampilkan pemberitahuan dalam aplikasi kepada penguji saat build baru tersedia untuk didownload. Anda akan mempelajari cara menggunakan konfigurasi dasar dan konfigurasi kustom agar penguji login untuk menerima update. Kemudian, Anda akan mengirim rilis baru ke App Distribution dan memicu pemberitahuan build baru langsung di aplikasi.

Yang akan Anda pelajari

  • Cara menggunakan App Distribution untuk mendistribusikan aplikasi pra-rilis kepada penguji langsung
  • Cara mengintegrasikan App Distribution iOS SDK ke dalam aplikasi Anda
  • Cara memberi tahu penguji jika ada build pra-rilis baru yang siap untuk diinstal
  • Cara menyesuaikan SDK agar cocok dengan kebutuhan pengujian unik Anda

Yang Anda butuhkan

  • Xcode 12 (atau yang lebih baru)
  • CocoaPods 1.9.1 (atau yang lebih tinggi)
  • Akun Apple Developer untuk distribusi Ad Hoc
  • Perangkat iOS fisik untuk pengujian. ( Aplikasi simulator iOS akan berfungsi untuk sebagian besar codelab, tetapi simulator tidak dapat mendownload rilis.)

Bagaimana Anda akan menggunakan tutorial ini?

Hanya membacanya Membacanya dan menyelesaikan latihan

Bagaimana penilaian Anda terhadap pengalaman membuat aplikasi iOS?

Pemula Menengah Mahir

2. Membuat project Firebase console

Tambahkan project Firebase baru

  1. Login ke Firebase.
  2. Di Firebase console, klik Add Project, lalu beri nama project Anda "Firebase Codelab".

Anda tidak perlu mengaktifkan Google Analytics untuk project ini.

  1. Klik Create project.

Menambahkan Aplikasi ke Firebase

Ikuti dokumentasi untuk mendaftarkan aplikasi Anda ke Firebase. Gunakan "com.google.firebase.codelab.AppDistribution.<your_name>" sebagai ID Paket iOS.

Saat diminta, download file GoogleService-Info.plist project Anda. Anda akan membutuhkannya nanti.

3. Mendapatkan Project Contoh

Mendownload Kode

Mulai dengan meng-clone project contoh.

git clone git@github.com:googlecodelabs/firebase-appdistribution-ios.git

Jika belum menginstal git, Anda juga dapat mendownload project contoh dari halaman GitHub atau dengan mengklik link ini.

Mendownload dependensi dan Membuka project di Xcode

  1. Buka Podfile di direktori yang sama
cd firebase-appdistribution-ios/start
Open Podfile
  1. Tambahkan baris berikut ke podfile Anda:

Podfile

pod 'Firebase/AppDistribution'

Jalankan pod update di direktori project dan buka project di Xcode.

pod install --repo-update
xed .

Perbarui ID Paket agar cocok dengan aplikasi Firebase

Di menu kiri, klik dua kali AppDistributionExample. Kemudian, cari tab General, dan ubah ID paket agar sesuai dengan ID paket aplikasi Firebase Anda, yang dapat ditemukan di project settings. Alamat ini haruslah "com.google.firebase.codelab.AppDistribution.<your_name>"

Menambahkan Firebase ke aplikasi

Temukan file GoogleService-Info.plist yang Anda download sebelumnya di sistem file, dan tarik ke root project Xcode. Anda juga dapat mendownload file ini kapan saja dari halaman setelan project Anda.

3cf9290805e7fdab.png

Di file AppDistributionExample/AppDelegate.swift, impor Firebase di bagian atas file

AppDistributionExample/Tailwind.swift

import Firebase

Dalam metode didFinishLaunchingWithOptions, tambahkan panggilan untuk mengonfigurasi Firebase.

AppDistributionExample/Tailwind.swift

FirebaseApp.configure()

4. Menyiapkan pemberitahuan build baru dalam aplikasi dengan App Distribution SDK

Pada langkah ini, Anda akan menambahkan Firebase App Distribution SDK ke aplikasi dan menampilkan pemberitahuan dalam aplikasi kepada penguji saat build baru aplikasi tersedia untuk diinstal. Untuk melakukannya, pastikan Anda telah mengaktifkan Firebase App Testers API untuk project "Firebase Codelab" (di Google Cloud Console). Anda harus login dengan akun yang sama dan memilih project yang benar dari menu drop-down di bagian atas.

Mengonfigurasi pemberitahuan dalam aplikasi

App Distribution SDK menyediakan dua cara untuk menyiapkan pemberitahuan build dalam aplikasi untuk penguji: konfigurasi pemberitahuan dasar, yang dilengkapi dengan dialog login bawaan untuk ditampilkan kepada penguji, dan konfigurasi pemberitahuan lanjutan, yang memungkinkan Anda menyesuaikan antarmuka pengguna (UI) Anda sendiri.

Kita akan mulai dengan konfigurasi pemberitahuan dasar. Anda dapat menggunakan checkForUpdate untuk menampilkan dialog pemberitahuan pengaktifan bawaan kepada penguji yang belum mengaktifkan pemberitahuan, lalu memeriksa apakah build baru tersedia. Penguji mengaktifkan pemberitahuan dengan login ke akun yang memiliki akses ke aplikasi di App Distribution. Saat dipanggil, metode tersebut akan menerapkan urutan berikut:

  1. Memeriksa apakah penguji telah mengaktifkan pemberitahuan. Jika belum, akan menampilkan dialog bawaan yang meminta pengguna untuk login ke App Distribution dengan Akun Google-nya.

Mengaktifkan notifikasi adalah proses satu kali di perangkat uji dan terus berlaku di seluruh update aplikasi. Notifikasi tetap aktif di perangkat pengujian hingga aplikasi di-uninstal, atau hingga metode signOutTester dipanggil. Lihat dokumentasi referensi metode ( Swift atau Objective-C) untuk mengetahui informasi selengkapnya.

  1. Memeriksa build yang baru tersedia agar dapat diinstal oleh penguji. Menampilkan objek release atau error.

Anda dapat menyertakan checkForUpdate kapan saja di aplikasi. Misalnya, Anda dapat meminta penguji untuk menginstal build yang baru tersedia saat memulai dengan menyertakan checkForUpdate di viewDidmuncul pada UIViewController.

Di file AppDistributionViewController.swift, impor Firebase di bagian atas file

AppDistributionViewController.swift

import Firebase

Buka AppDistributionExample/AppDistributionViewController.swift, dan salin baris ke dalam metode viewDidAppear seperti ini:

AppDistributionViewController.swift

 override func viewDidAppear(_ animated: Bool) {
    checkForUpdate()
 }

Sekarang mari kita implementasikan metode checkForUpdate().

AppDistributionViewController.swift

  private func checkForUpdate() {
    AppDistribution.appDistribution().checkForUpdate(completion: { [self] release, error in
      var uiAlert: UIAlertController

      if error != nil {
        uiAlert = UIAlertController(title: "Error", message: "Error Checking for update! \(error?.localizedDescription ?? "")", preferredStyle: .alert)
      } else if release == nil {
        uiAlert = UIAlertController(title: "Check for Update", message: "No releases found!!", preferredStyle: .alert)
        uiAlert.addAction(UIAlertAction(title: "Ok", style: UIAlertAction.Style.default))
      } else {
        guard let release = release else { return }

        let title = "New Version Available"
        let message = "Version \(release.displayVersion)(\(release.buildVersion)) is available."
        uiAlert = UIAlertController(title: title, message: message, preferredStyle: .alert)

        uiAlert.addAction(UIAlertAction(title: "Update", style: UIAlertAction.Style.default) {
          _ in
          UIApplication.shared.open(release.downloadURL)
        })
        uiAlert.addAction(UIAlertAction(title: "Cancel", style: UIAlertAction.Style.cancel) {
          _ in
        })
      }
      self.present(uiAlert, animated: true, completion: nil)
    })
  }

5. Buat dan undang penguji untuk mendownload aplikasi Anda

Pada langkah ini, Anda akan membangun aplikasi dan menguji implementasi Anda dengan mendistribusikan build kepada penguji menggunakan Firebase console.

Membangun aplikasi

Saat Anda siap untuk mendistribusikan versi pra-rilis aplikasi Anda kepada penguji, pilih "Semua Perangkat iOS (arm64)" sebagai tujuan build, lalu Product->Archive. Setelah arsip dibuat, bangun distribusi yang ditandatangani dengan profil distribusi Pengembangan.

98d8eb042c36a685.pngS

b2e9ccff91d761c1.pngS

8e815564f64d2d39.pngS

Setelah selesai, build akan menyimpan file IPA dan beberapa file log dalam folder yang Anda tentukan. Anda dapat mendistribusikan file IPA ke penguji dengan langkah-langkah berikut.

Jika Anda mengalami masalah saat membangun aplikasi, lihat dokumen penandatanganan kode Apple untuk mengetahui langkah pemecahan masalah.

Mendistribusikan aplikasi Anda kepada penguji

Untuk mendistribusikan aplikasi Anda kepada penguji, upload file IPA menggunakan Firebase console:

  1. Buka halaman App Distribution di Firebase console. Pilih project Firebase saat diminta.
  2. Tekan Mulai

e4671bd304ecfe47.pngS

  1. Pada halaman Rilis, pilih aplikasi yang ingin didistribusikan dari menu drop-down.

8a3da2939b9746f4.pngS

  1. Tarik file IPA aplikasi ke konsol untuk menguploadnya.
  2. Saat upload selesai, tentukan grup penguji dan masing-masing penguji yang diinginkan untuk menerima build. (Tambahkan email Anda untuk menerima undangan.) Lalu, tambahkan catatan rilis untuk versi build tersebut. Lihat Mengelola penguji untuk informasi selengkapnya tentang cara membuat grup penguji.

de63e3c3c64f909e.pngS

  1. Klik Distribute agar build tersedia bagi penguji.

b6e75dc216fc3731.pngS

Menambahkan diri Anda sebagai penguji pada rilis

Di Firebase console, sekarang Anda bisa melihat penguji yang ditambahkan di rilis aplikasi.

eb61c6be96ff3a11.pngS

Karena Anda telah menyertakan alamat email, Anda akan menerima email dari Firebase App Distribution yang mengundang Anda untuk menguji aplikasi. Anda kini menjadi penguji pertama! Lanjutkan bagian di bawah untuk melakukan penyiapan sebagai penguji di perangkat pengujian.

Mendaftarkan perangkat pengujian

Anda harus mendaftarkan perangkat pengujian terlebih dahulu untuk mendownload dan menguji rilis Ad Hoc.

  1. Di perangkat pengujian iOS, buka email yang dikirim dari Firebase App Distribution, lalu ketuk link Mulai. Pastikan untuk membuka link di Safari.
  2. Di aplikasi web penguji Firebase App Distribution yang muncul, login dengan akun Google Anda, lalu ketuk Terima undangan.

4d1af345ef944620.pngS

Sekarang, Anda akan melihat rilis yang telah mengundang Anda.

  1. Ketuk Register device untuk membagikan UDID dengan Firebase agar Anda dapat memperbarui profil penyediaan aplikasi nanti.

fd141215e54a938d.pngS

  1. Ikuti petunjuknya, dan buka setelan untuk mendownload profil dan membagikan UDID Anda.

Sekarang, saat Anda kembali ke App Distribution, rilis kini ditandai sebagai "Perangkat terdaftar":

fe93d649dfa25877.pngS

UDID penguji telah dibagikan kepada developer. Sekarang terserah developer untuk membuat penguji versi baru aplikasi.

Melihat informasi penguji di konsol

Kembali ke tampilan developer di Firebase console, penguji akan muncul sebagai "Diterima" di bawah rilis:

1bef6f182c1c58f9.pngS

Anda juga akan mendapatkan email sebagai developer jika perangkat yang mereka gunakan belum disertakan di profil penyediaan. Tindakan ini akan memberi tahu Anda tentang UDID baru yang perlu ditambahkan. Anda juga memiliki opsi untuk mengekspor semua UDID sebagai file teks.

  1. Untuk mengekspor semua UDID, buka tab Penguji & Grup.

2745d49a6abc47fe.pngS

  1. Klik "Ekspor UDID Apple".

cb45477f8cc436ba.pngS

File harus berisi UDID perangkat pengujian Anda.

Device ID            Device Name                            Device Platform
1234567890     tester.app.distribtuion@gmail.com - iPhone SE 2nd Gen        ios

Saat menerima salah satu email tersebut, perbarui profil penyediaan Anda dengan UDID ini dan distribusikan build baru kepada penguji dengan mengikuti langkah-langkah berikut:

  1. Tambahkan perangkat ke portal Apple Developer.
  • Opsi 1: Impor UDID perangkat sebagai file CSV. Di tab Penguji & Grup pada dasbor App Distribution, pilih Semua penguji, lalu klik Ekspor UDID Apple untuk mendownload file CSV. Selanjutnya, impor file ke akun Apple Developer menggunakan opsi Register Multiple Devices. Baca dokumentasi Apple untuk mempelajari lebih lanjut. Perhatikan bahwa akun Apple Developer Anda mungkin memiliki batasan jumlah pengimporan perangkat per tahun.
  • Opsi 2: Kumpulkan dan masukkan UDID melalui email. Di halaman Add Devices di portal Apple Developer, daftarkan UDID baru yang tercantum dalam email yang Anda terima.

ffb74294e68ee1c8.pngS

  1. Tambahkan perangkat terdaftar ke profil penyediaan Anda.
  2. Download profil penyediaan dan gunakan untuk membangun ulang aplikasi. Jika Anda membangun ulang hanya untuk memperbarui perangkat terdaftar, jangan memperbarui nomor atau versi build.
  3. Distribusikan ulang aplikasi Anda dari Firebase console atau CLI. Jika Anda telah mendistribusikan build dengan nomor dan versi build yang sama, hanya pengguna perangkat yang baru terdaftar yang akan menerima email notifikasi.

Mendownload rilis dari perangkat pengujian

Sekarang rilis memiliki UDID perangkat pengujian, sehingga perangkat pengujian dapat mendownload dan menginstal aplikasi. App Distribution mengirim email kepada penguji saat UDID mereka ditambahkan ke rilis baru.

a4049260bae2850b.pngS

  1. Di perangkat pengujian, kembali ke aplikasi web penguji App Distribution menggunakan link di email, atau ikon di layar utama perangkat.

Saat membuka aplikasi codelab UDID, Anda dapat melihat bahwa rilis siap didownload.

dad6d03b6ad78746.pngS

  1. Jika Anda menggunakan perangkat fisik, tekan download, lalu instal dan jalankan aplikasi.
  2. Saat dimulai, aplikasi akan meminta Anda untuk mengaktifkan pemberitahuan build baru. Pilih "Aktifkan"

6e3540a2900734e6.pngS

  1. Setelah itu, Anda akan diminta untuk login. Klik "Lanjutkan".

82d90d7935bfaea0.pngS

  1. Login dengan akun penguji Anda.

13bee1d03fa94ebf.pngS

  1. Anda akan diarahkan kembali ke aplikasi. Anda tidak perlu login atau menerima pemberitahuan saat menjalankan aplikasi lagi.

815d6757eb5f6327.pngS

Mendistribusikan update kepada penguji

  1. Perbarui nomor build Anda menjadi "2".

861aa63ebbc6ec54.pngS

  1. Pilih "Any iOS Device (arm64)" sebagai tujuan build, lalu Product->Archive. Setelah arsip dibuat, bangun distribusi yang ditandatangani dengan profil distribusi Pengembangan.
  2. Setelah selesai, build akan menyimpan file IPA dan beberapa file log dalam folder yang Anda tentukan. Upload IPA baru ini di Firebase console, tambahkan email Anda sebagai penguji lagi, lalu Distribute.

b6e75dc216fc3731.pngS

Menguji pemberitahuan build

  1. Pastikan Anda menutup aplikasi jika sedang terbuka. Mulai ulang aplikasi.
  2. Saat aplikasi dimulai ulang, Anda akan menerima pemberitahuan "Versi Baru Tersedia".

3bd532992df458e6.png

  1. Klik "Update" untuk mendapatkan versi terbaru.
  2. Klik "Instal" di layar berikutnya.

3a761d8fa4b79d33.pngS

  1. Selamat! Anda dapat mengupdate aplikasi dengan pemberitahuan bawaan.

6. Menyesuaikan login penguji

Metode signInTester/signOutTester dan isTesterSignedIn memberi Anda lebih banyak fleksibilitas untuk menyesuaikan pengalaman login penguji, sehingga dapat lebih cocok dengan tampilan dan nuansa aplikasi Anda.

Contoh berikut memeriksa apakah penguji sudah login ke akun penguji Firebase App Distribution, sehingga Anda dapat memilih untuk menampilkan UI login hanya untuk penguji yang belum login. Setelah penguji login, Anda dapat memanggil checkForUpdate untuk memeriksa apakah penguji memiliki akses ke build baru.

Mari kita nonaktifkan pemeriksaan update secara otomatis di viewDidAppear dengan menjadikan panggilan checkForUpdate() sebagai komentar.

AppDistributionViewController.swift

 override func viewDidAppear(_ animated: Bool) {
    // checkForUpdate()
 }

Sebagai gantinya, mari kita panggil checkForUpdate() di checkForUpdateButtonClicked().

 @objc func checkForUpdateButtonClicked() {
    checkForUpdate()
 }

Sekarang, mari kita terapkan metode signInOutButtonClicked() yang akan membuat pengguna logout jika sudah logout, atau membuat pengguna logout jika sudah login.

AppDistributionViewController.swift

 @objc func signInOutButtonClicked() {
    if isTesterSignedIn() {
      AppDistribution.appDistribution().signOutTester()

      self.configureCheckForUpdateButton()
      self.configureSignInSignOutButton()
      self.configureSignInStatus()

    } else {
      AppDistribution.appDistribution().signInTester(completion: { error in
        if error == nil {
          self.configureCheckForUpdateButton()
          self.configureSignInSignOutButton()
          self.configureSignInStatus()
        } else {
          let uiAlert = UIAlertController(title: "Custom:Error", message: "Error during tester sign in! \(error?.localizedDescription ?? "")", preferredStyle: .alert)
          uiAlert.addAction(UIAlertAction(title: "Ok", style: UIAlertAction.Style.default) {
            _ in
          })

          self.present(uiAlert, animated: true, completion: nil)
        }
      })
    }
  }

Terakhir, mari kita implementasikan metode isTesterSignedIn.

AppDistributionViewController.swift

 private func isTesterSignedIn() -> Bool {
    return AppDistribution.appDistribution().isTesterSignedIn
 }

Membangun dan menguji penerapan Anda

7. Selamat!

Anda telah membuat fitur "tampilan pemberitahuan dalam aplikasi" ke dalam aplikasi menggunakan Firebase App Distribution iOS SDK.

Yang telah kita bahas

  • Firebase App Distribution
  • SDK iOS Pemberitahuan Baru Firebase App Distribution

Langkah Berikutnya

Pelajari Lebih Lanjut

Ada Pertanyaan?

Laporkan Masalah