Firebase App Distribution iOS SDK'sı ile test kullanıcılarını yeni uygulama sürümleriniz hakkında uyarın - Codelab

1. Genel Bakış

Firebase Uygulama Dağıtımı SDK'sını iOS uygulama kod laboratuvarınıza entegre etme sayfasına hoş geldiniz. Bu codelab'de, yeni derlemeler indirilmeye hazır olduğunda test kullanıcılarınıza uygulama içi uyarılar görüntülemek için Uygulama Dağıtımı SDK'sını uygulamanıza ekleyeceksiniz. Test kullanıcılarınızın güncellemeleri almak üzere oturum açmalarını sağlamak için hem temel yapılandırmayı hem de özel yapılandırmayı nasıl kullanacağınızı öğreneceksiniz. Ardından, Uygulama Dağıtımı'na yeni bir sürüm gönderecek ve doğrudan uygulamanın içinde yeni bir derleme uyarısını tetikleyeceksiniz.

Ne öğreneceksin

  • Yayın öncesi bir uygulamayı canlı test kullanıcılarına dağıtmak için Uygulama Dağıtımı nasıl kullanılır?
  • App Distribution iOS SDK'sını uygulamanıza nasıl entegre edebilirsiniz?
  • Yüklemeye hazır yeni bir yayın öncesi yapı olduğunda test kullanıcısını nasıl uyarabilirim?
  • SDK'yı benzersiz test ihtiyaçlarınıza uyacak şekilde nasıl özelleştirebilirsiniz?

İhtiyacınız olan şey

Bu öğreticiyi nasıl kullanacaksınız?

Yalnızca baştan sona okuyun Okuyun ve alıştırmaları tamamlayın

iOS uygulamaları geliştirme deneyiminizi nasıl değerlendirirsiniz?

Acemi Orta seviye Yetkin

2. Firebase konsol projesi oluşturun

Yeni Firebase projesi ekle

  1. Firebase'de oturum açın.
  2. Firebase konsolunda Proje Ekle'ye tıklayın ve ardından projenize "Firebase Codelab" adını verin.

Bu proje için Google Analytics'i etkinleştirmenize gerek yok.

  1. Proje oluştur'u tıklayın.

Firebase'e Uygulama Ekle

Uygulamanızı Firebase'e kaydetmek için belgeleri izleyin. iOS Paket Kimliği olarak "com.google.firebase.codelab.AppDistribution.<your_name>" adresini kullanın.

İstendiğinde projenizin GoogleService-Info.plist dosyasını indirin. Buna daha sonra ihtiyacınız olacak.

3. Örnek Projeyi Alın

Kodu İndir

Örnek projeyi klonlayarak başlayın.

git clone git@github.com:googlecodelabs/firebase-appdistribution-ios.git

Eğer git yüklü değilse örnek projeyi GitHub sayfasından veya bu bağlantıya tıklayarak da indirebilirsiniz.

Bağımlılıkları indirin ve projeyi Xcode'da açın

  1. Podfile'ı aynı dizinde açın
cd firebase-appdistribution-ios/start
Open Podfile
  1. Pod dosyanıza aşağıdaki satırı ekleyin:

Pod dosyası

pod 'Firebase/AppDistribution'

Proje dizininde pod update çalıştırın ve projeyi Xcode'da açın.

pod install --repo-update
xed .

Paket Tanımlayıcıyı Firebase uygulamanızla eşleşecek şekilde güncelleyin

Soldaki menüde AppDistributionExample'a çift tıklayın. Ardından Genel sekmesini bulun ve paket tanımlayıcısını, Firebase uygulamanızın proje ayarlarında bulabileceğiniz paket tanımlayıcısıyla eşleşecek şekilde değiştirin. Bu "com.google.firebase.codelab.AppDistribution.<adınız>" olmalıdır

Firebase'i uygulamanıza ekleyin

Daha önce indirdiğiniz GoogleService-Info.plist dosyasını dosya sisteminizde bulun ve Xcode projesinin köküne sürükleyin. Bu dosyayı istediğiniz zaman projenizin ayarlar sayfasından da indirebilirsiniz.

3cf9290805e7fdab.png

AppDistributionExample/AppDelegate.swift dosyanızda, dosyanın üst kısmındaki Firebase'i içe aktarın

AppDistributionExample/AppDelegate.swift

import Firebase

Ve didFinishLaunchingWithOptions yöntemine Firebase'i yapılandırmak için bir çağrı ekleyin.

AppDistributionExample/AppDelegate.swift

FirebaseApp.configure()

4. Uygulama Dağıtımı SDK'sıyla uygulama içi yeni derleme uyarıları ayarlayın

Bu adımda, Firebase Uygulama Dağıtımı SDK'sını uygulamanıza ekleyecek ve uygulamanızın yeni sürümleri yüklenmeye hazır olduğunda test kullanıcılarınıza uygulama içi uyarılar göstereceksiniz. Bunu yapmak için "Firebase Codelab" projeniz için (Google Cloud Console'da) Firebase App Testers API'yi etkinleştirdiğinizden emin olun. Aynı hesapla giriş yapmanız ve üstteki açılır menüden doğru projeyi seçmeniz gerekecektir.

Uygulama içi uyarıları yapılandırma

App Distribution SDK, test kullanıcılarınız için uygulama içi derleme uyarıları ayarlamanın iki yolunu sunar: test kullanıcılarına görüntülenecek önceden oluşturulmuş bir oturum açma iletişim kutusuyla birlikte gelen temel bir uyarı yapılandırması ve aşağıdakileri yapmanızı sağlayan gelişmiş bir uyarı yapılandırması: kendi kullanıcı arayüzünüzü (UI) özelleştirin.

Temel uyarı yapılandırmasıyla başlayacağız. Henüz uyarıları etkinleştirmemiş test kullanıcılarına önceden oluşturulmuş bir uyarıları etkinleştirme iletişim kutusunu görüntülemek ve ardından yeni bir yapının mevcut olup olmadığını kontrol etmek için checkForUpdate kullanabilirsiniz. Test kullanıcıları, Uygulama Dağıtımı'nda uygulamaya erişimi olan bir hesapta oturum açarak uyarıları etkinleştirir. Yöntem çağrıldığında aşağıdaki sırayı etkinleştirir:

  1. Bir test kullanıcısının uyarıları etkinleştirip etkinleştirmediğini kontrol eder. Değilse, Google hesaplarıyla Uygulama Dağıtımı'nda oturum açmalarını isteyen önceden oluşturulmuş bir iletişim kutusu görüntülenir.

Uyarıların etkinleştirilmesi, test cihazında tek seferlik bir işlemdir ve uygulamanızın güncellemeleri boyunca devam eder. Uygulama kaldırılana veya signOutTester yöntemi çağrılana kadar test cihazında uyarılar etkin kalır. Daha fazla bilgi için yöntemin referans belgelerine ( Swift veya Objective-C ) bakın.

  1. Test cihazının yüklemesi için yeni mevcut yapıları kontrol eder. Bir yayın nesnesi veya bir hata döndürür.

checkForUpdate uygulamanızın herhangi bir noktasına dahil edebilirsiniz. Örneğin, checkForUpdate'i UIViewController öğesinin viewDidAppear öğesine dahil ederek, test kullanıcılarınızdan başlangıçta yeni kullanılabilir yapıları yüklemelerini isteyebilirsiniz.

AppDistributionViewController.swift dosyanızda, dosyanın üst kısmındaki Firebase'i içe aktarın

AppDistributionViewController.swift

import Firebase

AppDistributionExample/AppDistributionViewController.swift dosyasını açın ve satırları viewDidAppear yöntemine şu şekilde kopyalayın:

AppDistributionViewController.swift

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

Şimdi checkForUpdate() yöntemini uygulayalım.

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. Test kullanıcılarını oluşturun ve uygulamanızı indirmeye davet edin

Bu adımda uygulamanızı oluşturacak ve uygulamanızı Firebase konsolunu kullanarak test kullanıcılarına dağıtarak test edeceksiniz.

Uygulamanızı oluşturun

Uygulamanızın yayın öncesi sürümünü test kullanıcılarına dağıtmaya hazır olduğunuzda, derleme hedefi olarak "Herhangi bir iOS Cihazı (arm64)" seçeneğini ve Ürün->Arşiv'i seçin. Arşiv oluşturulduktan sonra Geliştirme dağıtım profiliyle imzalı bir dağıtım oluşturun.

98d8eb042c36a685.png

b2e9ccff91d761c1.png

8e815564f64d2d39.png

Derleme tamamlandığında, bir IPA dosyasını ve bazı günlük dosyalarını belirttiğiniz klasöre kaydeder. IPA dosyasını aşağıdaki adımlarda test uzmanlarınıza dağıtırsınız.

Uygulamanızı oluştururken sorunlarla karşılaşırsanız sorun giderme adımları için Apple'ın ortak tasarım belgelerine bakın.

Uygulamanızı test kullanıcılarına dağıtın

Uygulamanızı test kullanıcılarına dağıtmak için Firebase konsolunu kullanarak IPA dosyasını yükleyin:

  1. Firebase konsolunun Uygulama Dağıtımı sayfasını açın. İstendiğinde Firebase projenizi seçin.
  2. Başlayın'a basın

e4671bd304ecfe47.png

  1. Sürümler sayfasında, açılır menüden dağıtmak istediğiniz uygulamayı seçin.

8a3da2939b9746f4.png

  1. Uygulamanızın IPA dosyasını yüklemek için konsola sürükleyin.
  2. Yükleme tamamlandığında, derlemeyi almasını istediğiniz test kullanıcısı gruplarını ve bireysel test kullanıcılarını belirtin. (Daveti almak için e-posta adresinizi ekleyin.) Ardından derleme için sürüm notları ekleyin. Test kullanıcısı grupları oluşturma hakkında daha fazla bilgi için Test kullanıcılarını yönetme konusuna bakın.

de63e3c3c64f909e.png

  1. Derlemeyi test kullanıcılarının kullanımına sunmak için Dağıt'a tıklayın.

b6e75dc216fc3731.png

Kendinizi sürüme test kullanıcısı olarak ekleyin

Artık Firebase konsolunda uygulamanızın sürümüne eklediğiniz test kullanıcılarını görebilirsiniz.

eb61c6be96ff3a11.png

E-posta adresinizi eklediğiniz için Firebase App Distribution'dan sizi uygulamayı test etmeye davet eden bir e-posta alacaksınız. Artık ilk testçi sizsiniz! Test cihazınızda test kullanıcısı olarak kurulum yapmak için aşağıdaki bölüme devam edin.

Test cihazınızı kaydedin

Geçici bir sürümü indirmek ve test etmek için öncelikle test cihazınızı kaydetmeniz gerekir.

  1. iOS test cihazınızda Firebase App Distribution'dan gönderilen e-postayı açın ve Başlayın bağlantısına dokunun. Bağlantıyı Safari'de açtığınızdan emin olun.
  2. Görüntülenen Firebase Uygulama Dağıtımı test cihazı web uygulamasında Google hesabınızla oturum açın ve Daveti kabul et'e dokunun.

4d1af345ef944620.png

Artık davet edildiğiniz yayını göreceksiniz.

  1. Uygulamanızın temel hazırlık profilini daha sonra güncelleyebilmek amacıyla UDID'nizi Firebase ile paylaşmak için Cihazı kaydet'e dokunun.

fd141215e54a938d.png

  1. Talimatları izleyin ve profili indirmek ve UDID'nizi paylaşmak için ayarlara gidin.

Artık Uygulama Dağıtımına geri döndüğünüzde sürüm artık "Cihaz kayıtlı" olarak işaretlenir:

fe93d649dfa25877.png

Test cihazının UDID'si artık geliştiriciyle paylaşıldı. Test cihazını uygulamanın yeni bir sürümünü oluşturmak artık geliştiriciye kalmıştır.

Test kullanıcısı bilgilerini konsolda görüntüleyin

Firebase konsolundaki geliştirici görünümüne döndüğünüzde test cihazı, sürüm altında "Kabul Edildi" olarak görünecektir:

1bef6f182c1c58f9.png

Daha sonra, kullandıkları cihazın temel hazırlık profiline dahil edilmemiş olması durumunda geliştirici olarak bir e-posta da alırsınız. Bu, eklemeniz gereken yeni UDID'yi size bildirecektir. Ayrıca tüm UDID'leri metin dosyası olarak dışa aktarma seçeneğiniz de vardır.

  1. Tüm UDID'leri dışa aktarmak için Test Cihazları ve Gruplar sekmesini açın.

2745d49a6abc47fe.png

  1. "Apple UDID'lerini Dışa Aktar"ı tıklayın.

cb45477f8cc436ba.png

Dosya, test cihazınızın UDID'sini içermelidir.

Device ID            Device Name                            Device Platform
1234567890     tester.app.distribtuion@gmail.com - iPhone SE 2nd Gen        ios

Bu e-postalardan birini aldığınızda, temel hazırlık profilinizi UDID ile güncelleyin ve aşağıdaki adımları izleyerek test uzmanlarınıza yeni bir yapı dağıtın:

  1. Cihazları Apple geliştirici portalınıza ekleyin.
  • Seçenek 1: Cihaz UDID'lerini CSV dosyası olarak içe aktarın. Uygulama Dağıtımı panosunun Test Cihazları ve Gruplar sekmesinde Tüm test kullanıcıları'nı seçin ve ardından bir CSV dosyası indirmek için Apple UDID'lerini Dışa Aktar'a tıklayın. Daha sonra, Birden Fazla Cihazı Kaydet seçeneğini kullanarak dosyayı Apple geliştirici hesabınıza aktarın. Daha fazla bilgi edinmek için Apple'ın belgelerine bakın. Apple geliştirici hesabınızın yılda yalnızca sınırlı sayıda cihazı içe aktarmanıza izin verebileceğini unutmayın.
  • Seçenek 2: UDID'leri e-postayla toplayın ve girin. Apple geliştirici portalının Cihaz Ekle sayfasında, aldığınız e-postada belirtilen yeni UDID'yi kaydedin.

ffb74294e68ee1c8.png

  1. Kayıtlı cihazları temel hazırlık profilinize ekleyin.
  2. Temel hazırlık profilini indirin ve uygulamanızı yeniden oluşturmak için kullanın. Yalnızca kayıtlı cihazları güncellemek için yeniden oluşturuyorsanız yapı numarasını veya sürümünü güncellemeyin.
  3. Uygulamanızı Firebase konsolundan veya CLI'den yeniden dağıtın . Aynı yapı numarasına ve sürüme sahip bir yapıyı zaten dağıttıysanız yalnızca yeni kayıtlı cihazların kullanıcıları bildirim e-postası alır.

Sürümü test cihazından indirin

Artık sürümde test cihazının UDID'si var, böylece test cihazı uygulamayı indirip yükleyebilir. App Distribution, UDID'leri yeni bir sürüme eklendiğinde test kullanıcılarına bir e-posta gönderir.

a4049260bae2850b.png

  1. Test cihazında, e-postadaki bağlantıyı veya cihazın ana ekranındaki simgeyi kullanarak Uygulama Dağıtımı test cihazı web uygulamasına dönün.

UDID codelab uygulamasına gittiğinizde sürümün indirilmeye hazır olduğunu görebilirsiniz.

dad6d03b6ad78746.png

  1. Fiziksel bir cihaz kullanıyorsanız indir'e basın, ardından uygulamayı kurun ve çalıştırın!
  2. Uygulama başladığında sizden yeni derleme uyarılarını etkinleştirmenizi isteyecektir. "Aç"ı seçin

6e3540a2900734e6.png

  1. Daha sonra oturum açmanızı isteyecektir. "Devam et"i tıklayın.

82d90d7935bfaea0.png

  1. Test kullanıcısı hesabınızla oturum açın.

13bee1d03fa94ebf.png

  1. Uygulamaya geri yönlendirileceksiniz. Uygulamayı bir sonraki çalıştırışınızda oturum açmanız veya uyarıları kabul etmeniz gerekmez.

815d6757eb5f6327.png

Test kullanıcılarınıza bir güncelleme dağıtın

  1. Yapı numaranızı "2" olarak güncelleyin.

861aa63ebbc6ec54.png

  1. Derleme hedefi olarak "Herhangi bir iOS Cihazı (arm64)" seçeneğini ve Ürün-> Arşiv'i seçin. Arşiv oluşturulduktan sonra Geliştirme dağıtım profiliyle imzalı bir dağıtım oluşturun.
  2. Derleme tamamlandığında, bir IPA dosyasını ve bazı günlük dosyalarını belirttiğiniz klasöre kaydeder. Bu yeni IPA'yı Firebase konsolunuza yükleyin, e-postanızı tekrar test kullanıcısı olarak ekleyin ve Dağıtın.

b6e75dc216fc3731.png

Derleme uyarılarını test edin

  1. Uygulama açıksa kapattığınızdan emin olun. Uygulamayı yeniden başlatın.
  2. Uygulama yeniden başlatıldığında "Yeni Sürüm Mevcut" uyarısını almalısınız.

3bd532992df458e6.png

  1. En son sürümü almak için "Güncelle"ye tıklayın.
  2. Bir sonraki ekranda "Yükle"ye tıklayın.

3a761d8fa4b79d33.png

  1. Tebrikler! Uygulamanızı yerleşik uyarılarla güncelleyebildiniz.

6. Test kullanıcısının oturum açma işlemini özelleştirin

SignInTester/signOutTester ve isTesterSignedIn yöntemleri, test kullanıcınızın oturum açma deneyimini özelleştirmede size daha fazla esneklik sağlar, böylece uygulamanızın görünümüne ve tarzına daha iyi uyum sağlar.

Aşağıdaki örnek, test kullanıcısının Firebase Uygulama Dağıtımı test kullanıcısı hesabında zaten oturum açıp açmadığını kontrol eder; böylece oturum açma kullanıcı arayüzünüzü yalnızca henüz oturum açmamış test kullanıcıları için görüntülemeyi seçebilirsiniz. Test kullanıcısı oturum açtıktan sonra şunları yapabilirsiniz: Test cihazının yeni bir yapıya erişimi olup olmadığını kontrol etmek için checkForUpdate'i çağırın.

checkForUpdate() çağrısını yorumlayarak viewDidAppea r'de güncellemelerin otomatik olarak kontrol edilmesini devre dışı bırakalım.

AppDistributionViewController.swift

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

Bunun yerine checkForUpdateButtonClicked( )'da checkForUpdate ()'i çağıralım.

 @objc func checkForUpdateButtonClicked() {
    checkForUpdate()
 }

Şimdi, kullanıcının oturumu kapalıysa oturumunu kapatacak veya zaten oturum açmışsa kullanıcının oturumunu kapatacak SignInOutButtonClicked() yöntemimizi uygulayalım.

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)
        }
      })
    }
  }

Son olarak isTesterSignedI n metodunu uygulayalım.

AppDistributionViewController.swift

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

Uygulamanızı oluşturun ve test edin

7. Tebrikler!

Firebase App Distribution iOS SDK'sını kullanarak "uygulama içi uyarı ekranı" özelliğini bir uygulamaya eklediniz.

Neleri ele aldık?

  • Firebase Uygulama Dağıtımı
  • Firebase Uygulama Dağıtımı Yeni Uyarılar iOS SDK'sı

Sonraki adımlar

Daha fazla bilgi edin

Bir Sorunuz mu var?

Sorunları Bildir