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?
Bagaimana menilai pengalaman Anda dalam membuat aplikasi iOS?
2. Buat proyek konsol Firebase
Tambahkan proyek Firebase baru
- Masuk ke Firebase.
- Di Firebase console, klik Tambahkan Proyek, lalu beri nama proyek Anda "Firebase Codelab".
Anda tidak perlu mengaktifkan Google Analytics untuk proyek ini.
- 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
- Buka Podfile di direktori yang sama
cd firebase-appdistribution-ios/start Open Podfile
- 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.
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:
- 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.
- 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.
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:
- Buka halaman Distribusi Aplikasi di Firebase console. Pilih proyek Firebase Anda saat diminta.
- Tekan Mulai
- Di halaman Rilis, pilih aplikasi yang ingin Anda distribusikan dari menu drop-down.
- Tarik file IPA aplikasi Anda ke konsol untuk mengunggahnya.
- 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.
- Klik Distribusikan untuk membuat build tersedia bagi penguji.
Tambahkan diri Anda sebagai penguji rilis
Di Firebase console, kini Anda dapat melihat penguji yang Anda tambahkan pada rilis aplikasi Anda.
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.
- Di perangkat pengujian iOS Anda, buka email yang dikirim dari Firebase App Distribution dan ketuk tautan Memulai. Pastikan untuk membuka tautan di Safari.
- Di aplikasi web penguji Firebase App Distribution yang muncul, login dengan akun Google Anda dan ketuk Terima undangan.
Sekarang, Anda akan melihat rilis yang mengundang Anda.
- Ketuk Daftarkan perangkat untuk membagikan UDID Anda dengan Firebase sehingga Anda dapat memperbarui profil penyediaan aplikasi Anda nanti.
- 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":
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:
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.
- Untuk mengekspor semua UDID, buka tab Penguji & Grup.
- Klik "Ekspor UDID Apple".
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:
- 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.
- Tambahkan perangkat terdaftar ke profil penyediaan Anda.
- 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.
- 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.
- 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.
- Jika Anda menggunakan perangkat fisik, tekan unduh, lalu instal dan jalankan aplikasi!
- Saat aplikasi dimulai, aplikasi akan meminta Anda untuk mengaktifkan peringatan build baru. Pilih "Aktifkan"
- Kemudian Anda akan diminta untuk masuk. Klik "Lanjutkan.
- Masuk dengan akun penguji Anda.
- Anda akan dibawa kembali ke aplikasi. Anda tidak perlu masuk atau menerima peringatan saat menjalankan aplikasi lagi.
Distribusikan pembaruan kepada penguji Anda
- Perbarui nomor build Anda menjadi "2".
- Pilih "Perangkat iOS Apa Pun (arm64)" sebagai tujuan pembuatan, dan Produk->Arsip. Setelah arsip dibuat, buat distribusi bertanda tangan dengan profil distribusi Pengembangan.
- 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.
Uji peringatan build
- Pastikan Anda menutup aplikasi jika masih terbuka. Mulai ulang aplikasi.
- Saat aplikasi dimulai ulang, Anda akan menerima peringatan "Versi Baru Tersedia".
- Klik "Perbarui" untuk menerima versi terbaru.
- Klik "Instal" di layar berikutnya.
- 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