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

1. Ikhtisar

Selamat datang di Mengintegrasikan Firebase App Distribution SDK di codelab 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 khusus agar penguji Anda masuk untuk menerima pembaruan. Kemudian Anda akan mendorong rilis baru ke App Distribution dan memicu peringatan build baru langsung di aplikasi.

Apa yang akan Anda pelajari

  • Cara menggunakan App Distribution untuk mendistribusikan aplikasi pra-rilis ke penguji langsung
  • Cara mengintegrasikan App Distribution iOS SDK ke dalam aplikasi Anda
  • Cara memperingatkan penguji ketika ada versi pra-rilis baru yang siap dipasang
  • Cara menyesuaikan SDK agar sesuai dengan kebutuhan pengujian unik Anda

Apa yang Anda perlukan

  • Xcode 12 (atau lebih tinggi)
  • CocoaPods 1.9.1 (atau lebih tinggi)
  • Akun Pengembang Apple 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?

Bacalah sampai tuntas saja Bacalah dan selesaikan latihannya

Bagaimana menilai pengalaman Anda dalam membuat aplikasi iOS?

Pemula Intermediat Ahli

2. Buat proyek konsol Firebase

Tambahkan proyek Firebase baru

  1. Masuk ke Firebase.
  2. Di Firebase console, klik Tambahkan Proyek, lalu beri nama proyek Anda "Firebase Codelab".

Anda tidak perlu mengaktifkan Google Analytics untuk proyek ini.

  1. Klik Buat proyek .

Tambahkan Aplikasi ke Firebase

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

Jika diminta, unduh file GoogleService-Info.plist proyek Anda. Anda akan membutuhkannya nanti.

3. Dapatkan Contoh Proyek

Unduh Kode

Mulailah dengan mengkloning proyek sampel.

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

Jika Anda belum menginstal git, Anda juga dapat mengunduh proyek sampel dari halaman GitHub atau dengan mengeklik tautan ini .

Unduh dependensi dan Buka proyek di Xcode

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

File Pod

pod 'Firebase/AppDistribution'

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

pod install --repo-update
xed .

Perbarui Pengenal Paket agar sesuai dengan aplikasi Firebase Anda

Di menu sebelah kiri, klik dua kali pada AppDistributionExample. Lalu, cari tab Umum , dan ubah pengidentifikasi paket agar sesuai dengan pengidentifikasi paket aplikasi Firebase Anda, yang dapat ditemukan di setelan proyek . Seharusnya "com.google.firebase.codelab.AppDistribution.<nama_anda>"

Tambahkan Firebase ke aplikasi Anda

Temukan file GoogleService-Info.plist yang Anda unduh sebelumnya di sistem file Anda, dan seret ke root proyek Xcode. Anda juga dapat mengunduh file ini kapan saja dari laman pengaturan proyek Anda.

3cf9290805e7fdab.png

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

Contoh Distribusi Aplikasi/AppDelegate.swift

import Firebase

Dan dalam metode didFinishLaunchingWithOptions tambahkan panggilan untuk mengonfigurasi Firebase.

Contoh Distribusi Aplikasi/AppDelegate.swift

FirebaseApp.configure()

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

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

Konfigurasikan peringatan dalam aplikasi

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

Kita akan mulai dengan konfigurasi peringatan dasar. Anda dapat menggunakan checkForUpdate untuk menampilkan dialog pengaktifan pemberitahuan yang telah dibuat sebelumnya kepada penguji yang belum mengaktifkan pemberitahuan, lalu memeriksa apakah versi baru tersedia. Penguji mengaktifkan peringatan dengan masuk ke akun yang memiliki akses ke aplikasi di App Distribution. Saat dipanggil, metode ini menjalankan urutan berikut:

  1. Memeriksa apakah penguji telah mengaktifkan peringatan. Jika tidak, tampilkan dialog bawaan yang meminta mereka masuk ke App Distribution dengan akun Google mereka.

Mengaktifkan pemberitahuan adalah proses satu kali pada perangkat pengujian dan terus dilakukan sepanjang pembaruan aplikasi Anda. Peringatan tetap aktif pada perangkat pengujian hingga aplikasi dicopot pemasangannya, atau hingga metode signOutTester dipanggil. Lihat dokumentasi referensi metode ( Swift atau Objective-C ) untuk informasi lebih lanjut.

  1. Memeriksa build baru yang tersedia untuk dipasang oleh penguji. Mengembalikan objek rilis atau kesalahan .

Anda dapat menyertakan checkForUpdate kapan saja di aplikasi Anda. Misalnya, Anda dapat meminta penguji untuk menginstal build baru yang tersedia saat startup dengan menyertakan checkForUpdate di viewDidAppear dari UIViewController .

Dalam file AppDistributionViewController.swift Anda, 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 terapkan 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. Bangun dan undang penguji untuk mengunduh aplikasi Anda

Pada langkah ini, Anda akan membuat aplikasi dan menguji implementasinya dengan mendistribusikan build tersebut kepada penguji menggunakan Firebase console.

Bangun aplikasi Anda

Saat Anda siap mendistribusikan versi pra-rilis aplikasi Anda ke penguji, pilih "Perangkat iOS apa pun (arm64)" sebagai tujuan pembuatan, dan Produk->Arsip. Setelah arsip dibuat, buat distribusi bertanda tangan dengan profil distribusi Pengembangan.

98d8eb042c36a685.png

b2e9ccff91d761c1.png

8e815564f64d2d39.png

Ketika pembangunan selesai, ia akan menyimpan file IPA dan beberapa file log di folder yang Anda tentukan. Anda mendistribusikan file IPA ke penguji Anda dalam langkah-langkah berikut.

Jika Anda mengalami masalah dalam membangun aplikasi, lihat dokumen perancangan kode Apple untuk mengetahui langkah-langkah pemecahan masalah.

Distribusikan aplikasi Anda ke penguji

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

  1. Buka halaman Distribusi Aplikasi di Firebase console. Pilih proyek Firebase Anda saat diminta.
  2. Tekan Mulai

e4671bd304ecfe47.png

  1. Di halaman Rilis, pilih aplikasi yang ingin Anda distribusikan dari menu drop-down.

8a3da2939b9746f4.png

  1. Tarik file IPA aplikasi Anda ke konsol untuk mengunggahnya.
  2. Saat pengunggahan selesai, tentukan grup penguji dan masing-masing penguji yang ingin Anda terima buildnya. (Tambahkan email Anda untuk menerima undangan.) Kemudian, tambahkan catatan rilis untuk build. Lihat Mengelola penguji untuk informasi lebih lanjut tentang cara membuat grup penguji.

de63e3c3c64f909e.png

  1. Klik Distribusikan untuk membuat build tersedia bagi penguji.

b6e75dc216fc3731.png

Tambahkan diri Anda sebagai penguji rilis

Di Firebase console, kini Anda dapat melihat penguji yang Anda tambahkan pada rilis aplikasi Anda.

eb61c6be96ff3a11.png

Karena Anda menyertakan alamat email, Anda akan menerima email dari Firebase App Distribution yang mengundang Anda untuk menguji aplikasi. Anda sekarang adalah penguji pertama! Lanjutkan bagian di bawah ini untuk menyiapkan sebagai penguji pada perangkat pengujian Anda.

Daftarkan perangkat pengujian Anda

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

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

4d1af345ef944620.png

Sekarang, Anda akan melihat rilis yang mengundang Anda.

  1. Ketuk Daftarkan perangkat untuk membagikan UDID Anda dengan Firebase sehingga Anda dapat memperbarui profil penyediaan aplikasi Anda nanti.

fd141215e54a938d.png

  1. Ikuti instruksinya, dan buka pengaturan untuk mengunduh profil dan membagikan UDID Anda.

Sekarang, saat Anda kembali ke App Distribution, rilisnya sekarang ditandai sebagai "Perangkat terdaftar":

fe93d649dfa25877.png

UDID penguji kini telah dibagikan dengan pengembang. Kini terserah kepada pengembang untuk membuatkan versi baru aplikasi kepada penguji.

Lihat informasi penguji di konsol

Kembali ke tampilan pengembang di Firebase console, penguji akan muncul sebagai "Diterima" pada rilis:

1bef6f182c1c58f9.png

Anda kemudian juga akan mendapatkan email sebagai pengembang jika perangkat yang mereka gunakan belum disertakan dalam profil penyediaan. Ini akan memberi tahu Anda tentang UDID baru yang perlu Anda tambahkan. Anda juga memiliki opsi untuk mengekspor semua UDID sebagai file teks.

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

2745d49a6abc47fe.png

  1. Klik "Ekspor UDID Apple".

cb45477f8cc436ba.png

File tersebut harus berisi UDID perangkat pengujian Anda.

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

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

  1. Tambahkan perangkat ke portal pengembang Apple Anda.
  • Opsi 1: Impor UDID perangkat sebagai file CSV. Di tab Penguji & Grup di dasbor Distribusi Aplikasi, pilih Semua penguji, lalu klik Ekspor UDID Apple untuk mengunduh file CSV. Selanjutnya, impor file ke akun pengembang Apple Anda menggunakan opsi Daftarkan Beberapa Perangkat. Lihat dokumentasi Apple untuk mempelajari lebih lanjut. Perlu diperhatikan bahwa akun pengembang Apple Anda mungkin hanya mengizinkan Anda mengimpor perangkat dalam jumlah terbatas per tahun.
  • Opsi 2: Kumpulkan dan masukkan UDID melalui email. Di halaman Tambahkan Perangkat di portal pengembang Apple, daftarkan UDID baru yang ditentukan dalam email yang Anda terima.

ffb74294e68ee1c8.png

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

Unduh rilis dari perangkat uji

Sekarang rilis tersebut memiliki UDID perangkat pengujian, sehingga perangkat pengujian dapat mengunduh dan menginstal aplikasi. App Distribution mengirimkan email ke penguji ketika UDID mereka ditambahkan ke rilis baru.

a4049260bae2850b.png

  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 untuk diunduh.

ayah6d03b6ad78746.png

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

6e3540a2900734e6.png

  1. Kemudian Anda akan diminta untuk masuk. Klik "Lanjutkan.

82d90d7935bfaea0.png

  1. Masuk dengan akun penguji Anda.

13bee1d03fa94ebf.png

  1. Anda akan dibawa kembali ke aplikasi. Anda tidak perlu masuk atau menerima peringatan saat menjalankan aplikasi lagi.

815d6757eb5f6327.png

Distribusikan pembaruan kepada penguji Anda

  1. Perbarui nomor build Anda menjadi "2".

861aa63ebbc6ec54.png

  1. Pilih "Perangkat iOS Apa Pun (arm64)" sebagai tujuan pembuatan, dan Produk->Arsip. Setelah arsip dibuat, buat distribusi bertanda tangan dengan profil distribusi Pengembangan.
  2. Ketika pembangunan selesai, ia akan menyimpan file IPA dan beberapa file log di folder yang Anda tentukan. Unggah IPA baru ini di Firebase console Anda, tambahkan lagi email Anda sebagai penguji dan Distribusikan.

b6e75dc216fc3731.png

Uji peringatan build

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

3bd532992df458e6.png

  1. Klik "Perbarui" untuk menerima versi terbaru.
  2. Klik "Instal" di layar berikutnya.

3a761d8fa4b79d33.png

  1. Selamat! Anda dapat memperbarui aplikasi Anda dengan peringatan bawaan.

6. Sesuaikan proses masuk penguji

Metode signInTester/signOutTester dan isTesterSignedIn memberi Anda lebih banyak fleksibilitas dalam menyesuaikan pengalaman masuk 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 kemudian dapat panggil checkForUpdate untuk memeriksa apakah penguji memiliki akses ke versi baru.

Mari kita nonaktifkan pemeriksaan pembaruan secara otomatis di viewDidAppea r dengan mengomentari panggilan checkForUpdate() .

AppDistributionViewController.swift

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

Sebagai gantinya, sebut saja checkForUpdate() di checkForUpdateButtonClicked( ).

 @objc func checkForUpdateButtonClicked() {
    checkForUpdate()
 }

Sekarang, mari kita terapkan metode signInOutButtonClicked() yang akan membuat pengguna login jika mereka sudah logout, atau logout pengguna jika mereka 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 isTesterSignedI n.

AppDistributionViewController.swift

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

Bangun dan uji implementasi Anda

7. Selamat!

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

Apa yang telah kami bahas

  • Distribusi Aplikasi Firebase
  • SDK iOS Peringatan Baru Distribusi Aplikasi Firebase

Langkah selanjutnya

Belajarlah lagi

Ada pertanyaan?

Laporkan Masalah