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

1. Ikhtisar

Selamat datang di Integrating the Firebase App Distribution SDK di codelab aplikasi iOS Anda. Di codelab ini, Anda akan menambahkan App Distribution SDK ke aplikasi Anda untuk menampilkan lansiran dalam aplikasi kepada penguji saat build baru tersedia untuk diunduh. 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 memberi tahu penguji ketika ada build pra-rilis baru yang siap dipasang
  • Cara menyesuaikan SDK agar sesuai dengan kebutuhan pengujian unik Anda

Apa yang Anda butuhkan?

  • 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 mengunduh rilis.)

Bagaimana Anda akan menggunakan tutorial ini?

Baca saja sampai habis Baca dan selesaikan latihannya

Bagaimana penilaian 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 dengan Firebase. Gunakan "com.google.firebase.codelab.AppDistribution.<your_name>" sebagai ID Paket iOS.

Saat diminta, unduh file GoogleService-Info.plist proyek Anda. Anda akan membutuhkan ini nanti.

3. Dapatkan Proyek Sampel

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-nya 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:

Podfile

pod 'Firebase/AppDistribution'

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

pod install --repo-update
xed .

Perbarui Pengidentifikasi Bundel agar sesuai dengan aplikasi Firebase Anda

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

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 halaman pengaturan proyek Anda .

3cf9290805e7fdab.png

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

AppDistributionExample/AppDelegate.swift

import Firebase

Dan dalam metode didFinishLaunchingWithOptions tambahkan panggilan untuk mengonfigurasi Firebase.

AppDistributionExample/AppDelegate.swift

FirebaseApp.configure()

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

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

Konfigurasikan peringatan dalam aplikasi

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

Kami akan mulai dengan konfigurasi peringatan dasar. Anda dapat menggunakan checkForUpdate untuk menampilkan dialog aktifkan lansiran yang sudah dibuat sebelumnya kepada penguji yang belum mengaktifkan lansiran, lalu memeriksa apakah build baru tersedia. Penguji mengaktifkan peringatan dengan masuk ke akun yang memiliki akses ke aplikasi di App Distribution. Saat dipanggil, metode memberlakukan urutan berikut:

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

Mengaktifkan lansiran adalah proses satu kali pada perangkat uji dan terus berlanjut di seluruh pembaruan aplikasi Anda. Peringatan tetap diaktifkan pada perangkat uji hingga aplikasi dicopot pemasangannya, atau hingga metode signOutTester dipanggil. Lihat dokumentasi referensi metode ( Swift atau Objective-C ) untuk informasi lebih lanjut.

  1. Memeriksa build yang baru 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 yang baru tersedia saat startup dengan menyertakan checkForUpdate di viewDidAppear dari UIViewController .

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

AppDistributionViewController.swift

import Firebase

Buka AppDistributionExample/AppDistributionViewController.swift , dan salin baris ke 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. Bangun dan undang penguji untuk mengunduh aplikasi Anda

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

Bangun aplikasi Anda

Saat Anda siap untuk 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 yang ditandatangani dengan profil distribusi Pengembangan.

98d8eb042c36a685.png

b2e9ccff91d761c1.png

8e815564f64d2d39.png

Saat pembangunan selesai, itu 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 saat membuat aplikasi, lihat dokumen desain bersama Apple untuk langkah pemecahan masalah.

Distribusikan aplikasi Anda ke penguji

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

  1. Buka halaman Distribusi Aplikasi dari konsol Firebase. Pilih proyek Firebase Anda saat diminta.
  2. Tekan Mulai

e4671bd304effe47.png

  1. Pada halaman Rilis, pilih aplikasi yang ingin Anda distribusikan dari menu tarik-turun.

8a3da2939b9746f4.png

  1. Seret file IPA aplikasi Anda ke konsol untuk mengunggahnya.
  2. Saat unggahan selesai, tentukan grup penguji dan penguji individual yang Anda inginkan untuk menerima build. (Tambahkan email Anda untuk menerima undangan.) Kemudian, tambahkan catatan rilis untuk build. Lihat Mengelola penguji untuk informasi selengkapnya tentang 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, Anda sekarang dapat melihat penguji yang Anda tambahkan di bawah 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 penguji pertama! Lanjutkan bagian di bawah ini untuk menyiapkan sebagai penguji di perangkat pengujian Anda.

Daftarkan perangkat uji Anda

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

  1. Di perangkat uji 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, masuk 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 instruksi, dan buka pengaturan untuk mengunduh profil dan membagikan UDID Anda.

Sekarang, ketika Anda kembali ke App Distribution, rilis tersebut sekarang ditandai sebagai "Perangkat terdaftar":

fe93d649dfa25877.png

UDID penguji sekarang telah dibagikan dengan pengembang. Sekarang terserah kepada pengembang untuk membuat versi baru aplikasi untuk penguji.

Lihat informasi penguji di konsol

Kembali ke tampilan pengembang di konsol Firebase, penguji akan muncul sebagai "Diterima" di bawah 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 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 build 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 App Distribution, 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. Perhatikan bahwa akun pengembang Apple Anda hanya mengizinkan Anda mengimpor perangkat dalam jumlah terbatas per tahun.
  • Opsi 2: Kumpulkan dan masukkan UDID melalui email. Pada halaman Tambah 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 terdaftar, jangan perbarui 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 menerima email notifikasi.

Unduh rilis dari perangkat uji

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

a4049260bae2850b.png

  1. Pada perangkat uji, kembali ke aplikasi web penguji App Distribution menggunakan tautan di email, atau ikon di layar beranda perangkat.

Saat Anda menavigasi ke 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, Anda akan diminta 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 berikutnya Anda menjalankan aplikasi.

815d6757eb5f6327.png

Distribusikan pembaruan ke penguji Anda

  1. Perbarui nomor build Anda menjadi "2".

861aa63ebbc6ec54.png

  1. Pilih "Semua Perangkat iOS (arm64)" sebagai tujuan pembuatan, dan Produk-> Arsip. Setelah arsip dibuat, buat distribusi yang ditandatangani dengan profil distribusi Pengembangan.
  2. Saat pembangunan selesai, itu menyimpan file IPA dan beberapa file log di folder yang Anda tentukan. Unggah IPA baru ini di konsol Firebase Anda, tambahkan email Anda sebagai penguji lagi dan Distribusikan.

b6e75dc216fc3731.png

Uji lansiran build

  1. Pastikan Anda menutup aplikasi jika 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 untuk menyesuaikan pengalaman masuk penguji, sehingga lebih cocok dengan tampilan dan nuansa aplikasi Anda.

Contoh berikut memeriksa apakah penguji telah masuk ke akun penguji Firebase App Distribution, sehingga Anda dapat memilih untuk menampilkan UI masuk hanya untuk penguji yang belum masuk. Setelah penguji masuk, Anda dapat panggil checkForUpdate untuk memeriksa apakah penguji memiliki akses ke build 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, panggil checkForUpdate() di checkForUpdateButtonClicked( ) .

 @objc func checkForUpdateButtonClicked() {
    checkForUpdate()
 }

Sekarang, mari kita terapkan metode signInOutButtonClicked() kita yang akan membuat pengguna masuk jika mereka keluar, atau mengeluarkan pengguna jika mereka sudah masuk.

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

Akhirnya 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 peringatan dalam aplikasi" ke dalam aplikasi menggunakan Firebase App Distribution iOS SDK.

Apa yang telah kita bahas

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

Langkah selanjutnya

Belajarlah lagi

Punya Pertanyaan?

Laporkan Masalah