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

1. Tinjauan

Selamat datang di Mengintegrasikan SDK Distribusi Aplikasi Firebase di codelab aplikasi iOS Anda. Dalam codelab ini, Anda akan menambahkan App Distribution SDK ke aplikasi Anda untuk menampilkan notifikasi 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 memberi tahu penguji saat ada build pra-rilis baru yang siap diinstal
  • 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 mendownload rilis.)

Bagaimana Anda akan menggunakan tutorial ini?

Baca sampai selesai saja Baca 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 konsol Firebase, 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.<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 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 Bundle Identifier agar cocok dengan aplikasi Firebase Anda

Di menu sebelah kiri, klik dua kali pada AppDistributionExample. Kemudian, temukan tab Umum , dan ubah pengidentifikasi bundel agar cocok dengan pengidentifikasi bundel 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 akar proyek Xcode. Anda juga dapat mendownload file ini kapan saja dari halaman pengaturan proyek Anda.

3cf9290805e7fdab.png

Di file AppDistributionExample/AppDelegate.swift 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 ke penguji saat versi baru aplikasi Anda tersedia untuk dipasang. Untuk melakukannya, pastikan Anda telah mengaktifkan Firebase App Testers API untuk project "Firebase Codelab" (di Google Cloud Console). Anda harus masuk dengan akun yang sama dan memilih proyek yang benar dari menu tarik-turun di bagian atas.

Konfigurasikan lansiran dalam aplikasi

App Distribution SDK menyediakan dua cara untuk 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 peringatan pengaktifan bawaan kepada penguji yang belum mengaktifkan peringatan, lalu memeriksa apakah versi 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 masuk ke App Distribution dengan akun Google mereka.

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

  1. Memeriksa build yang baru tersedia untuk diinstal oleh penguji. Mengembalikan objek rilis atau error .

Anda dapat menyertakan checkForUpdate kapan saja di aplikasi Anda. Misalnya, Anda dapat meminta penguji untuk menginstal build baru yang tersedia saat memulai 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 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 mem-build aplikasi dan menguji implementasi dengan mendistribusikan build ke penguji menggunakan Firebase console.

Bangun aplikasi Anda

Saat Anda siap untuk mendistribusikan versi pra-rilis aplikasi Anda ke penguji, pilih "Semua Perangkat iOS (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 build selesai, file IPA dan beberapa file log akan disimpan 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 codesigning 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 App Distribution di konsol Firebase. 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. Seret file IPA aplikasi Anda ke konsol untuk mengunggahnya.
  2. Saat unggahan selesai, tentukan grup penguji dan masing-masing penguji 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 agar build tersedia untuk penguji.

b6e75dc216fc3731.png

Tambahkan diri Anda sebagai penguji rilis

Di konsol Firebase, 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 adalah penguji pertama! Lanjutkan bagian di bawah 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 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, 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 nanti.

fd141215e54a938d.png

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

Sekarang, saat Anda kembali ke Distribusi Aplikasi, rilis sekarang ditandai sebagai "Perangkat terdaftar":

fe93d649dfa25877.png

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

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 termasuk 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 Banyak Perangkat. Lihat dokumentasi Apple untuk mempelajari lebih lanjut. Perhatikan bahwa akun pengembang Apple Anda hanya memungkinkan Anda mengimpor perangkat dalam jumlah terbatas per tahun.
  • Opsi 2: Kumpulkan dan masukkan UDID melalui email. Di halaman Tambah Perangkat portal pengembang Apple, daftarkan UDID baru yang ditentukan dalam email yang Anda terima.

ffb74294e68ee1c8.png

  1. Tambahkan perangkat terdaftar ke profil bawaan Anda .
  2. Unduh profil penyediaan dan gunakan untuk membangun kembali aplikasi Anda. Jika Anda membangun ulang hanya untuk memperbarui perangkat terdaftar, jangan perbarui nomor atau versi versi.
  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 didaftarkan yang akan menerima email pemberitahuan.

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. Di perangkat uji, kembali ke aplikasi web penguji App Distribution menggunakan tautan di email, atau ikon di layar utama perangkat.

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

dad6d03b6ad78746.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 ia akan meminta Anda 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 lain kali Anda menjalankan aplikasi.

815d6757eb5f6327.png

Distribusikan pembaruan ke penguji Anda

  1. Perbarui nomor build Anda menjadi "2".

861aa63ebbc6ec54.png

  1. Pilih "Any iOS Device (arm64)" sebagai build destination, dan Product->Archive. Setelah arsip dibuat, buat distribusi yang ditandatangani dengan Profil distribusi pengembangan.
  2. Saat build selesai, file IPA dan beberapa file log akan disimpan di folder yang Anda tentukan. Unggah IPA baru ini di konsol Firebase Anda, tambahkan lagi email Anda sebagai penguji 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 login penguji

Metode signInTester/signOutTester dan isTesterSignedIn memberi Anda lebih banyak fleksibilitas untuk menyesuaikan pengalaman masuk penguji, sehingga dapat 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 bangunan baru.

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

AppDistributionViewController.swift

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

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

 @objc func checkForUpdateButtonClicked() {
    checkForUpdate()
 }

Sekarang, mari terapkan metode signInOutButtonClicked() kita yang akan memasukkan pengguna 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)
        }
      })
    }
  }

Terakhir, mari terapkan metode isTesterSignedI n.

AppDistributionViewController.swift

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

Buat dan uji implementasi Anda

7. Selamat!

Anda telah membuat fitur "in-app alerts display" 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