1. Przegląd
Witamy w szkoleniu dotyczącym integracji pakietu SDK dystrybucji aplikacji Firebase w laboratorium z programowania aplikacji na iOS. Podczas tych zajęć z programowania dodasz do swojej aplikacji pakiet SDK do dystrybucji aplikacji, aby wyświetlać testerom alerty w aplikacji, gdy będą dostępne do pobrania nowe kompilacje. Dowiesz się, jak używać zarówno konfiguracji podstawowej, jak i konfiguracji niestandardowej, aby umożliwić testerom zalogowanie się i otrzymywanie aktualizacji. Następnie przekażesz nową wersję do App Distribution i uruchomisz alert o nowej kompilacji bezpośrednio w aplikacji.
Czego się dowiesz
- Jak używać aplikacji App Distribution do dystrybucji wersji wstępnej aplikacji wśród testerów na żywo
- Jak zintegrować zestaw SDK aplikacji App Distribution iOS ze swoją aplikacją
- Jak powiadomić testera, gdy dostępna jest nowa wersja przedpremierowa gotowa do zainstalowania
- Jak dostosować zestaw SDK do swoich unikalnych potrzeb testowych
Co będziesz potrzebował
- Xcode 12 (lub nowszy)
- CocoaPods 1.9.1 (lub nowszy)
- Konto programisty Apple do dystrybucji Ad Hoc
- Fizyczne urządzenie iOS do testów. ( Aplikacja symulatora systemu iOS będzie działać w większości ćwiczeń z programowania, ale symulatory nie mogą pobierać wydań).
Jak będziesz korzystać z tego samouczka?
Jak oceniasz swoje doświadczenia z tworzeniem aplikacji na iOS?
2. Utwórz projekt konsoli Firebase
Dodaj nowy projekt Firebase
- Zaloguj się do Firebase.
- W konsoli Firebase kliknij Dodaj projekt, a następnie nazwij swój projekt „Firebase Codelab”.
Dla tego projektu nie musisz włączać Google Analytics.
- Kliknij opcję Utwórz projekt .
Dodaj aplikację do Firebase
Postępuj zgodnie z dokumentacją , aby zarejestrować aplikację w Firebase. Użyj „com.google.firebase.codelab.AppDistribution.<your_name>” jako identyfikatora pakietu iOS.
Po wyświetleniu monitu pobierz plik GoogleService-Info.plist
swojego projektu. Będziesz tego potrzebować później.
3. Pobierz przykładowy projekt
Pobierz kod
Rozpocznij od sklonowania przykładowego projektu.
git clone git@github.com:googlecodelabs/firebase-appdistribution-ios.git
Jeśli nie masz zainstalowanego gita, możesz także pobrać przykładowy projekt ze strony GitHub lub klikając ten link .
Pobierz zależności i otwórz projekt w Xcode
- Otwórz plik Podfile w tym samym katalogu
cd firebase-appdistribution-ios/start Open Podfile
- Dodaj następujący wiersz do swojego podfile:
Podplik
pod 'Firebase/AppDistribution'
Uruchom pod update
w katalogu projektu i otwórz projekt w Xcode.
pod install --repo-update xed .
Zaktualizuj identyfikator pakietu, aby pasował do Twojej aplikacji Firebase
W lewym menu kliknij dwukrotnie AppDistributionExample. Następnie znajdź zakładkę Ogólne i zmień identyfikator pakietu na taki, który odpowiada identyfikatorowi pakietu Twojej aplikacji Firebase, który znajdziesz w ustawieniach projektu . Powinno to być „com.google.firebase.codelab.AppDistribution.<twoja_nazwa>”.
Dodaj Firebase do swojej aplikacji
Znajdź pobrany wcześniej plik GoogleService-Info.plist
w swoim systemie plików i przeciągnij go do katalogu głównego projektu Xcode. Możesz także pobrać ten plik w dowolnym momencie ze strony ustawień swojego projektu.
W pliku AppDistributionExample/AppDelegate.swift
zaimportuj Firebase na górze pliku
AppDistributionExample/AppDelegate.swift
import Firebase
A w metodzie didFinishLaunchingWithOptions
dodaj wywołanie konfigurujące Firebase.
AppDistributionExample/AppDelegate.swift
FirebaseApp.configure()
4. Skonfiguruj powiadomienia o nowych kompilacjach w aplikacji za pomocą pakietu SDK do dystrybucji aplikacji
Na tym etapie dodasz do swojej aplikacji pakiet SDK Firebase App Distribution i wyświetlisz testerom alerty w aplikacji, gdy będą dostępne do zainstalowania nowe wersje Twojej aplikacji. Aby to zrobić, upewnij się, że masz włączony interfejs Firebase App Testers API dla swojego projektu „Firebase Codelab” (w Google Cloud Console). Będziesz musiał zalogować się na to samo konto i wybrać właściwy projekt z rozwijanego menu u góry.
Skonfiguruj alerty w aplikacji
Zestaw SDK do dystrybucji aplikacji udostępnia testerom dwa sposoby konfigurowania alertów kompilacji w aplikacji: podstawową konfigurację alertów zawierającą wstępnie wbudowane okno logowania wyświetlane testerom oraz zaawansowaną konfigurację alertów, która umożliwia dostosować swój własny interfejs użytkownika (UI).
Zaczniemy od podstawowej konfiguracji alertów. Możesz użyć checkForUpdate
aby wyświetlić gotowe okno dialogowe włączania alertów testerom, którzy jeszcze nie włączyli alertów, a następnie sprawdzić, czy dostępna jest nowa kompilacja. Testerzy włączają alerty, logując się na konto, które ma dostęp do aplikacji w App Distribution. Po wywołaniu metoda realizuje następującą sekwencję:
- Sprawdza, czy tester włączył alerty. Jeśli nie, wyświetla gotowe okno dialogowe z prośbą o zalogowanie się do aplikacji App Distribution za pomocą konta Google.
Włączenie alertów jest procesem jednorazowym na urządzeniu testowym i trwa przez cały czas aktualizacji aplikacji. Alerty pozostają włączone na urządzeniu testowym do czasu odinstalowania aplikacji lub wywołania signOutTester
. Aby uzyskać więcej informacji, zobacz dokumentację referencyjną metody ( Swift lub Objective-C ).
Możesz dodać checkForUpdate
w dowolnym momencie swojej aplikacji. Na przykład możesz poprosić testerów o zainstalowanie nowo dostępnych kompilacji przy uruchomieniu, włączając checkForUpdate w viewDidAppear UIViewController .
W pliku AppDistributionViewController.swift
zaimportuj Firebase na górze pliku
AppDistributionViewController.swift
import Firebase
Otwórz plik AppDistributionExample/AppDistributionViewController.swift i skopiuj wiersze do metody viewDidAppear
w następujący sposób:
AppDistributionViewController.swift
override func viewDidAppear(_ animated: Bool) {
checkForUpdate()
}
Zaimplementujmy teraz metodę 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. Zbuduj i zaproś testerów do pobrania Twojej aplikacji
Na tym etapie zbudujesz aplikację i przetestujesz implementację, dystrybuując kompilację do testerów za pomocą konsoli Firebase.
Zbuduj swoją aplikację
Kiedy będziesz gotowy do rozpowszechnienia przedpremierowej wersji aplikacji wśród testerów, wybierz „Dowolne urządzenie iOS (arm64)” jako miejsce docelowe kompilacji, a następnie Produkt->Archiwum. Po utworzeniu archiwum zbuduj podpisaną dystrybucję z profilem dystrybucji rozwojowej.
Po zakończeniu kompilacji zapisuje plik IPA i niektóre pliki dziennika w określonym folderze. W poniższych krokach rozpowszechniasz plik IPA wśród testerów.
Jeśli podczas tworzenia aplikacji wystąpią problemy, zapoznaj się z dokumentacją dotyczącą współprojektowania firmy Apple, aby zapoznać się z krokami rozwiązywania problemów.
Udostępnij swoją aplikację testerom
Aby udostępnić aplikację testerom, prześlij plik IPA za pomocą konsoli Firebase:
- Otwórz stronę Dystrybucja aplikacji w konsoli Firebase. Po wyświetleniu monitu wybierz projekt Firebase.
- Naciśnij Rozpocznij
- Na stronie Wersje wybierz z menu rozwijanego aplikację, którą chcesz rozpowszechniać.
- Przeciągnij plik IPA aplikacji na konsolę, aby go przesłać.
- Po zakończeniu przesyłania określ grupy testerów i poszczególnych testerów, którym chcesz otrzymać kompilację. (Dodaj swój adres e-mail, aby otrzymać zaproszenie). Następnie dodaj informacje o wersji kompilacji. Więcej informacji na temat tworzenia grup testerów znajdziesz w artykule Zarządzanie testerami .
- Kliknij opcję Rozpowszechniaj, aby udostępnić kompilację testerom.
Dodaj siebie jako testera do wydania
W konsoli Firebase możesz teraz zobaczyć testerów dodanych w ramach wersji aplikacji.
Ponieważ podałeś swój adres e-mail, otrzymasz wiadomość e-mail z Firebase App Distribution zapraszającą do przetestowania aplikacji. Jesteś teraz pierwszym testerem! Kontynuuj poniższą sekcję, aby skonfigurować jako tester na swoim urządzeniu testowym.
Zarejestruj swoje urządzenie testowe
Aby pobrać i przetestować wersję Ad Hoc, musisz najpierw zarejestrować urządzenie testowe.
- Na urządzeniu testowym iOS otwórz wiadomość e-mail wysłaną z Firebase App Distribution i kliknij link Rozpocznij. Pamiętaj, aby otworzyć link w przeglądarce Safari.
- W wyświetlonej aplikacji internetowej testera dystrybucji aplikacji Firebase zaloguj się na swoje konto Google i kliknij Zaakceptuj zaproszenie.
Zobaczysz teraz wydanie, na które Cię zaproszono.
- Kliknij opcję Zarejestruj urządzenie , aby udostępnić swój identyfikator UDID Firebase i móc później zaktualizować profil udostępniania aplikacji.
- Postępuj zgodnie z instrukcjami i przejdź do ustawień, aby pobrać profil i udostępnić swój UDID.
Teraz, gdy wrócisz do dystrybucji aplikacji, wersja zostanie oznaczona jako „Zarejestrowane urządzenie”:
Identyfikator UDID testera został teraz udostępniony programiście. Teraz zadaniem programisty jest zbudowanie dla testera nowej wersji aplikacji.
Wyświetl informacje o testerze w konsoli
Wracając do widoku programisty w konsoli Firebase, tester pojawi się w wersji jako „Zaakceptowany”:
Otrzymasz wówczas także wiadomość e-mail jako programista, jeśli urządzenie, którego używa, nie jest jeszcze uwzględnione w profilu udostępniania. Spowoduje to powiadomienie o nowym identyfikatorze UDID, który należy dodać. Masz także możliwość wyeksportowania wszystkich identyfikatorów UDID do pliku tekstowego.
- Aby wyeksportować wszystkie identyfikatory UDID, otwórz zakładkę Testerzy i grupy.
- Kliknij „Eksportuj identyfikatory UDID Apple”.
Plik powinien zawierać identyfikator UDID urządzenia testowego.
Device ID Device Name Device Platform
1234567890 tester.app.distribtuion@gmail.com - iPhone SE 2nd Gen ios
Gdy otrzymasz jedną z tych wiadomości e-mail, zaktualizuj swój profil udostępniania za pomocą identyfikatora UDID i przekaż nową wersję testerom, wykonując następujące kroki:
- Dodaj urządzenia do portalu dla programistów Apple.
- Opcja 1: Zaimportuj identyfikatory UDID urządzeń jako plik CSV. Na karcie Testerzy i grupy w panelu dystrybucji aplikacji wybierz opcję Wszyscy testerzy, a następnie kliknij opcję Eksportuj identyfikatory Apple UDID, aby pobrać plik CSV. Następnie zaimportuj plik na swoje konto programisty Apple, korzystając z opcji Zarejestruj wiele urządzeń. Aby dowiedzieć się więcej, zapoznaj się z dokumentacją Apple . Pamiętaj, że Twoje konto programisty Apple może umożliwiać importowanie ograniczonej liczby urządzeń rocznie.
- Opcja 2: Zbierz i wprowadź identyfikatory UDID pocztą elektroniczną. Na stronie Dodaj urządzenia w portalu dla programistów Apple zarejestruj nowy identyfikator UDID podany w otrzymanej wiadomości e-mail.
- Dodaj zarejestrowane urządzenia do swojego profilu udostępniania .
- Pobierz profil aprowizacji i użyj go do odbudowania aplikacji. Jeśli przebudowujesz tylko w celu aktualizacji zarejestrowanych urządzeń, nie aktualizuj numeru kompilacji ani wersji.
- Dystrybuuj ponownie swoją aplikację z konsoli Firebase lub interfejsu CLI. Jeśli już rozpowszechniłeś kompilację o tym samym numerze kompilacji i wersji, tylko użytkownicy nowo zarejestrowanych urządzeń otrzymają e-maile z powiadomieniami.
Pobierz wersję z urządzenia testowego
Teraz wersja zawiera identyfikator UDID urządzenia testowego, dzięki czemu urządzenie testowe może pobrać i zainstalować aplikację. App Distribution wysyła wiadomość e-mail do testerów, gdy ich identyfikator UDID zostanie dodany do nowej wersji.
- Na urządzeniu testowym wróć do aplikacji internetowej testera dystrybucji aplikacji, korzystając z łącza w wiadomości e-mail lub ikony na ekranie głównym urządzenia.
Po przejściu do aplikacji UDID codelab zobaczysz, że wersja jest gotowa do pobrania.
- Jeśli korzystasz z urządzenia fizycznego, naciśnij przycisk pobierania, a następnie zainstaluj i uruchom aplikację!
- Po uruchomieniu aplikacja poprosi Cię o włączenie alertów o nowych kompilacjach. Wybierz „Włącz”
- Następnie poprosi Cię o zalogowanie się. Kliknij „Kontynuuj”.
- Zaloguj się na swoje konto testera.
- Zostaniesz przeniesiony z powrotem do aplikacji. Przy następnym uruchomieniu aplikacji nie będziesz musiał się logować ani akceptować alertów.
Roześlij aktualizację swoim testerom
- Zaktualizuj numer kompilacji do „2”.
- Wybierz „Dowolne urządzenie iOS (arm64)” jako miejsce docelowe kompilacji i Produkt->Archiwum. Po wygenerowaniu archiwum zbuduj podpisaną dystrybucję z profilem dystrybucji Development.
- Po zakończeniu kompilacji zapisuje plik IPA i niektóre pliki dziennika w określonym folderze. Prześlij ten nowy IPA do konsoli Firebase, ponownie dodaj swój adres e-mail jako tester i rozprowadź.
Testuj alerty dotyczące kompilacji
- Upewnij się, że aplikacja została zamknięta, jeśli była otwarta. Uruchom ponownie aplikację.
- Po ponownym uruchomieniu aplikacji powinien zostać wyświetlony komunikat „Dostępna jest nowa wersja”.
- Kliknij „Aktualizuj”, aby otrzymać najnowszą wersję.
- Kliknij „Zainstaluj” na następnym ekranie.
- Gratulacje! Udało Ci się zaktualizować aplikację za pomocą wbudowanych alertów.
6. Dostosuj sposób logowania testera
Metody SignInTester/signOutTester i isTesterSignedIn zapewniają większą elastyczność w dostosowywaniu sposobu logowania testera, dzięki czemu może on lepiej pasować do wyglądu i działania Twojej aplikacji.
Poniższy przykład sprawdza, czy tester zalogował się już na swoje konto testera Firebase App Distribution, więc możesz wybrać wyświetlanie interfejsu logowania tylko testerom, którzy jeszcze się nie zalogowali. Po zalogowaniu się testera możesz to zrobić wywołaj checkForUpdate, aby sprawdzić, czy tester ma dostęp do nowej kompilacji.
Wyłączmy automatyczne sprawdzanie aktualizacji w viewDidAppea r, komentując wywołanie checkForUpdate() .
AppDistributionViewController.swift
override func viewDidAppear(_ animated: Bool) {
// checkForUpdate()
}
Zamiast tego wywołajmy metodę checkForUpdate() w funkcji checkForUpdateButtonClicked( ).
@objc func checkForUpdateButtonClicked() {
checkForUpdate()
}
Teraz zaimplementujmy naszą metodęsignInOutButtonClicked () , która zaloguje użytkownika, jeśli jest wylogowany, lub wyloguje użytkownika, jeśli jest już zalogowany.
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)
}
})
}
}
Na koniec zaimplementujmy metodę isTesterSignedI n.
AppDistributionViewController.swift
private func isTesterSignedIn() -> Bool {
return AppDistribution.appDistribution().isTesterSignedIn
}
Zbuduj i przetestuj swoją implementację
7. Gratulacje!
Wbudowałeś funkcję „wyświetlania alertów w aplikacji” w aplikację przy użyciu zestawu SDK Firebase App Distribution iOS.
Co omówiliśmy
- Dystrybucja aplikacji Firebase
- Dystrybucja aplikacji Firebase Nowe alerty SDK iOS
Następne kroki
Ucz się więcej
Mam pytanie?
Zgłoś problemy