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?
Bagaimana menilai pengalaman Anda dalam membuat aplikasi iOS?
2. Buat proyek konsol Firebase
Tambahkan proyek Firebase baru
- Masuk ke Firebase.
- Di konsol Firebase, 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.<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
- 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 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.
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:
- 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.
- 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.
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:
- Buka halaman App Distribution di konsol Firebase. Pilih proyek Firebase Anda saat diminta.
- Tekan Mulai
- Di halaman Rilis, pilih aplikasi yang ingin Anda distribusikan dari menu drop-down.
- Seret file IPA aplikasi Anda ke konsol untuk mengunggahnya.
- 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.
- Klik Distribusikan agar build tersedia untuk penguji.
Tambahkan diri Anda sebagai penguji rilis
Di konsol Firebase, Anda sekarang dapat melihat penguji yang Anda tambahkan di bawah 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 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.
- 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, masuk 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 nanti.
- 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":
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:
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.
- 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 Anda menerima salah satu email ini, perbarui profil penyediaan Anda dengan UDID dan distribusikan build 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 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.
- Tambahkan perangkat terdaftar ke profil bawaan Anda .
- 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.
- 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.
- 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.
- Jika Anda menggunakan perangkat fisik, tekan unduh, lalu instal dan jalankan aplikasi!
- Saat aplikasi dimulai, Anda akan diminta untuk mengaktifkan peringatan build baru. Pilih "Aktifkan"
- Kemudian ia akan meminta Anda untuk masuk. Klik "Lanjutkan.
- Masuk dengan akun penguji Anda.
- Anda akan dibawa kembali ke aplikasi. Anda tidak perlu masuk atau menerima peringatan lain kali Anda menjalankan aplikasi.
Distribusikan pembaruan ke penguji Anda
- Perbarui nomor build Anda menjadi "2".
- Pilih "Any iOS Device (arm64)" sebagai build destination, dan Product->Archive. Setelah arsip dibuat, buat distribusi yang ditandatangani dengan Profil distribusi pengembangan.
- 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.
Uji lansiran build
- Pastikan Anda menutup aplikasi jika 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 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