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 untuk membuat penguji login guna 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 aktif
- 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 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?
Bagaimana Anda menilai pengalaman membuat aplikasi iOS Anda?
2. Membuat project Firebase console
Tambahkan project Firebase baru
- Login ke Firebase.
- Di Firebase console, klik Tambahkan Project, lalu beri nama project Anda "Firebase Codelab".
Anda tidak perlu mengaktifkan Google Analytics untuk project ini.
- 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-nya atau dengan mengklik link ini.
Mendownload dependensi dan Membuka project di Xcode
- Buka Podfile di direktori yang sama
cd firebase-appdistribution-ios/start Open Podfile
- 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 .
Memperbarui ID Paket agar cocok dengan aplikasi Firebase Anda
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. Kolom ini harus "com.google.firebase.codelab.AppDistribution.<your_name>"
Menambahkan Firebase ke aplikasi
Temukan file GoogleService-Info.plist
yang Anda download sebelumnya di sistem file Anda, lalu tarik ke root project Xcode. Anda juga dapat mendownload file ini kapan saja dari halaman setelan project Anda.
Di file AppDistributionExample/AppDelegate.swift
, impor Firebase di bagian atas file
AppDistributionExample/AppDelegate.swift
import Firebase
Dan pada 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 "Firebase Codelab" Anda. project (di Konsol Google Cloud). 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 bagi 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:
- 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 pemberitahuan adalah proses satu kali di perangkat uji dan tetap ada saat update aplikasi dilakukan. Pemberitahuan tetap aktif di perangkat uji hingga aplikasi di-uninstal, atau sampai metode signOutTester
dipanggil. Lihat dokumentasi referensi metode ( Swift atau Objective-C) untuk mengetahui informasi selengkapnya.
- Memeriksa build yang baru tersedia agar dapat diinstal oleh penguji. Menampilkan objek rilis atau error.
Anda dapat menyertakan checkForUpdate
kapan saja di aplikasi. Misalnya, Anda dapat meminta penguji untuk menginstal build yang baru tersedia saat aplikasi dimulai dengan menyertakan checkForUpdate di viewDidAppear dari UIViewController.
Di file AppDistributionViewController.swift
, impor Firebase di bagian atas file
AppDistributionViewController.swift
import Firebase
Buka AppDistributionExample/AppDistributionViewController.swift, lalu 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. Membangun dan mengundang 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
Jika Anda sudah siap untuk mendistribusikan versi pra-rilis aplikasi kepada penguji, pilih "Perangkat iOS Apa Pun (arm64)" sebagai tujuan build, dan Produk->Arsip. Setelah arsip dibuat, bangun distribusi yang ditandatangani dengan profil distribusi Pengembangan.
Setelah selesai, build akan menyimpan file IPA dan beberapa file log di folder yang Anda tentukan. Anda dapat mendistribusikan file IPA ke penguji dengan langkah-langkah berikut.
Jika Anda mengalami masalah saat mem-build aplikasi, lihat dokumen penandatanganan kode Apple untuk mengetahui langkah-langkah pemecahan masalah.
Mendistribusikan aplikasi Anda kepada penguji
Untuk mendistribusikan aplikasi kepada penguji, upload file IPA menggunakan Firebase console:
- Buka halaman App Distribution di Firebase console. Pilih project Firebase jika diminta.
- Tekan Mulai
- Pada halaman Rilis, pilih aplikasi yang ingin didistribusikan dari menu drop-down.
- Tarik file IPA aplikasi ke konsol untuk menguploadnya.
- 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.
- Klik Distribute agar build tersedia bagi penguji.
Menambahkan diri Anda sebagai penguji ke rilis
Di Firebase console, sekarang Anda bisa melihat penguji yang ditambahkan di rilis aplikasi.
Karena Anda menyertakan alamat email, Anda akan menerima email dari Firebase App Distribution yang mengundang Anda untuk menguji aplikasi. Anda sekarang 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.
- Di perangkat pengujian iOS, buka email yang dikirim dari Firebase App Distribution, lalu ketuk link Mulai. Pastikan untuk membuka link di Safari.
- Di aplikasi web penguji Firebase App Distribution yang muncul, login dengan akun Google Anda, lalu ketuk Terima undangan.
Sekarang, Anda akan melihat rilis yang telah mengundang Anda.
- Ketuk Register device untuk membagikan UDID dengan Firebase agar Anda dapat memperbarui profil penyediaan aplikasi nanti.
- Ikuti petunjuknya, lalu buka setelan untuk mendownload profil dan membagikan UDID Anda.
Sekarang, saat Anda kembali ke App Distribution, rilis kini ditandai sebagai "Perangkat terdaftar":
UDID penguji kini 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 "Disetujui" di bagian rilis:
Anda juga akan mendapatkan email sebagai developer jika perangkat yang mereka gunakan belum disertakan di profil penyediaan. Tindakan ini akan memberi tahu Anda UDID baru yang perlu ditambahkan. Anda juga memiliki opsi untuk mengekspor semua UDID sebagai file teks.
- Untuk mengekspor semua UDID, buka tab Penguji & Grup.
- Klik "Ekspor UDID Apple".
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:
- 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. Lihat 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.
- Tambahkan perangkat terdaftar ke profil penyediaan Anda.
- Download profil penyediaan dan gunakan untuk membangun ulang aplikasi Anda. Jika Anda membangun ulang hanya untuk memperbarui perangkat terdaftar, jangan perbarui nomor atau versi build.
- 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 akan mengirimkan email kepada penguji saat 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 didownload.
- Jika Anda menggunakan perangkat fisik, tekan download, lalu instal dan jalankan aplikasi.
- Saat dimulai, aplikasi akan meminta Anda untuk mengaktifkan pemberitahuan build baru. Pilih "Aktifkan"
- Setelah itu, Anda akan diminta untuk login. Klik "Lanjutkan".
- Login dengan akun penguji Anda.
- Anda akan diarahkan kembali ke aplikasi. Anda tidak perlu login atau menerima notifikasi saat menjalankan aplikasi lagi.
Mendistribusikan update kepada penguji
- Perbarui nomor build Anda menjadi "2".
- Pilih "Perangkat iOS Apa Pun (arm64)" sebagai tujuan build, lalu Product-> Archive. Setelah arsip dibuat, bangun distribusi yang ditandatangani dengan profil distribusi Pengembangan.
- Setelah selesai, build akan menyimpan file IPA dan beberapa file log di folder yang Anda tentukan. Upload IPA baru ini di Firebase console, tambahkan email Anda sebagai penguji lagi, lalu Distribute.
Menguji pemberitahuan build
- Pastikan Anda menutup aplikasi jika aplikasi terbuka. Mulai ulang aplikasi.
- Saat aplikasi dimulai ulang, Anda akan menerima notifikasi "Versi Baru Tersedia".
- Klik "Update" untuk menerima versi terbaru.
- Klik "Instal" di layar berikutnya.
- 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 telah 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 implementasikan metode signInOutButtonClicked() yang akan membuat pengguna login jika mereka 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 isTesterSignedIn.
AppDistributionViewController.swift
private func isTesterSignedIn() -> Bool {
return AppDistribution.appDistribution().isTesterSignedIn
}
Membangun dan menguji penerapan Anda
7. Selamat!
Anda telah membuat "tampilan pemberitahuan dalam aplikasi" aplikasi ke aplikasi menggunakan Firebase App Distribution iOS SDK.
Yang telah kita bahas
- Firebase App Distribution
- Firebase App Distribution New Alerts iOS SDK
Langkah Berikutnya
Pelajari Lebih Lanjut
Ada Pertanyaan?
Laporkan Masalah