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ış

iOS uygulaması codelab'inizde Firebase App Distribution SDK'sını entegre etme bölümüne hoş geldiniz. Bu codelab'de, yeni derlemeler indirilmeye hazır olduğunda test kullanıcılarınıza uygulama içi uyarılar göstermek için uygulamanıza App Distribution SDK'sını ekleyeceksiniz. Test kullanıcılarınızın güncellemeleri almak için oturum açmasını sağlamak amacıyla hem temel yapılandırmayı hem de özel yapılandırmayı nasıl kullanacağınızı öğreneceksiniz. Ardından yeni bir sürümü App Distribution'a aktarır ve doğrudan uygulamanın içinden yeni bir derleme uyarısını tetiklersiniz.

Neler öğreneceksiniz?

  • Yayın öncesi bir uygulamayı canlı test kullanıcılarına dağıtmak için App Distribution'ı kullanma
  • App Distribution iOS SDK'sını uygulamanıza entegre etme
  • Yüklenmeye hazır yeni bir yayın öncesi derleme olduğunda test kullanıcısını uyarma
  • SDK'yı benzersiz test ihtiyaçlarınıza uygun şekilde özelleştirme

Gerekenler

Bu eğiticiden nasıl yararlanacaksınız?

Yalnızca okuma Okuyun ve alıştırmaları tamamlayın

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

Acemi Orta Yeterli

2. Firebase konsol projesi oluşturun

Yeni Firebase projesi ekle

  1. Firebase'de oturum açın.
  2. Firebase konsolunda Proje Ekle'yi tıklayın ve projenizi "Firebase Codelab" olarak adlandırın.

Bu proje için Google Analytics'i etkinleştirmeniz gerekmez.

  1. Create project (Proje oluştur) seçeneğini tıklayın.

Uygulamayı Firebase'e Ekleyin

Uygulamanızı Firebase'e kaydetmek için belgelerdeki adımları uygulayın. "com.google.firebase.codelab.App Distribution.<adınız>" ifadesini kullanın iOS Paket Kimliği olarak kullanılır.

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

3. Örnek Projeyi Alma

Kodu İndirin

Örnek projeyi klonlayarak başlayın.

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

Git yüklü değilse örnek projeyi GitHub sayfasından veya bu bağlantıyı 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. Aşağıdaki satırı podcast dosyanıza ekleyin:

Pod dosyası

pod 'Firebase/AppDistribution'

Proje dizininde pod update komutunu ç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 AppDeployionExample'i çift tıklayın. Ardından Genel sekmesini bulun ve paket tanımlayıcısını, Firebase uygulamanızın paket tanımlayıcısıyla eşleşecek şekilde değiştirin. Bu tanımlayıcıyı proje ayarlarında bulabilirsiniz. Bu, "com.google.firebase.codelab.AppDISTion.<your_name>" olmalıdır

Firebase'i uygulamanıza ekleyin

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

3cf9290805e7fdab.png

AppDistributionExample/AppDelegate.swift dosyanızda, dosyanın en üstündeki Firebase'i içe aktarın

AppDeployionExample/AppDelegate.swift

import Firebase

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

AppDeployionExample/AppDelegate.swift

FirebaseApp.configure()

4. App Distribution SDK'sı ile uygulama içi yeni derleme uyarıları ayarlama

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

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

App Distribution SDK'sı, test kullanıcılarınız için uygulama içi derleme uyarılarını ayarlamak üzere iki yol sunar: Test kullanıcılarına gösterilecek önceden oluşturulmuş bir oturum açma iletişim kutusuyla birlikte gelen temel bir uyarı yapılandırması ve kendi kullanıcı arayüzünüzü özelleştirmenize olanak tanıyan gelişmiş bir uyarı yapılandırması.

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

  1. Bir test kullanıcısının uyarıları etkinleştirip etkinleştirmediğini kontrol eder. Bu seçenek yoksa kullanıcıyı Google Hesabı ile App Distribution'da oturum açmaya teşvik eden önceden oluşturulmuş bir iletişim kutusu gösterir.

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

  1. Test kullanıcısının yüklemesi için yeni kullanıma sunulan derlemeleri kontrol eder. release nesnesini veya bir hata döndürür.

Uygulamanızın herhangi bir noktasında checkForUpdate özelliğini dahil edebilirsiniz. Örneğin, UIViewController'ın view DidLook içine checkForUpdate öğesini ekleyerek test kullanıcılarınızdan yeni kullanıma sunulan derlemeleri başlangıçta yüklemelerini isteyebilirsiniz.

AppDistributionViewController.swift dosyanızda, dosyanın en üstündeki Firebase'i içe aktarın

AppDeployionViewController.swift

import Firebase

AppDeployionExample/AppDISTionViewController.swift dosyasını açın ve satırları, aşağıdaki gibi viewDidAppear yöntemine kopyalayın:

AppDeployionViewController.swift

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

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

AppDeployionViewController.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ı oluşturup uygulamanızı indirmeye davet edin

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

Uygulamanızı oluşturma

Uygulamanızın yayın öncesi sürümünü test kullanıcılarına dağıtmaya hazır olduğunuzda "Herhangi bir iOS Cihaz (arm64)" seçeneğini belirleyin hem de Product->Arşiv olarak adlandırabilirsiniz. Arşiv oluşturulduktan sonra Geliştirme dağıtım profili ile imzalı bir dağıtım oluşturun.

98d8eb042c36a685.png

b2e9ccff91d761c1.png

8e815564f64d2d39.png

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

Uygulamanızı oluştururken sorunlarla karşılaşırsanız sorun giderme adımları için Apple'ın kod imzalama belgelerine göz atın.

Uygulamanızı test kullanıcılarına dağıtma

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 almak istediğiniz test kullanıcısı gruplarını ve bağımsız 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 başlıklı makaleye bakın.

de63e3c3c64f909e.png

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

b6e75dc216fc3731.png

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

Firebase konsolunda artık uygulama sürümünüzün altında 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 alırsınız. Artık ilk test kullanıcısısınız! Test cihazınızda test kullanıcısı olarak kurmak için aşağıdaki bölüme devam edin.

Test cihazınızı kaydettirme

Bir Ad Hoc sürümünü indirip test etmek için önce 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. Firebase App Distribution test kullanıcısı web uygulamasında Google hesabınızla oturum açın ve Davetiyeyi kabul et'e dokunun.

4d1af345ef944620.png

Davet edildiğiniz yayını göreceksiniz.

  1. UDID'nizi Firebase ile paylaşmak için Cihazı kaydet'e dokunun. Böylece, uygulamanızın temel hazırlık profilini daha sonra güncelleyebilirsiniz.

fd141215e54a938d.png

  1. Talimatları uygulayın ve profili indirip UDID'nizi paylaşmak için ayarlara gidin.

Artık App Distribution'a döndüğünüzde sürüm "Cihaz kaydedildi" olarak işaretlenir:

fe93d649dfa25877.png

Test kullanıcısının UDID'si geliştiriciyle paylaşıldı. Artık test kullanıcısı için uygulamanın yeni bir sürümünün oluşturulması geliştiriciye kalmıştır.

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

Firebase konsolunda geliştirici görünümünde, test kullanıcısı "Kabul Edildi" olarak görünür. altında:

1bef6f182c1c58f9.png

Ardından, geliştirici olarak kullandığınız cihaz, temel hazırlık profiline dahil edilmemişse geliştirici olarak bir e-posta da alırsınız. Bu işlem, eklemeniz gereken yeni UDID'yi size bildirir. 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 Kullanıcıları ve Gruplar sekmesi

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ı uygulayarak yeni bir derlemeyi test kullanıcılarınıza dağıtın:

  1. Cihazları Apple geliştirici portalınıza ekleyin.
  • 1. seçenek: Cihaz UDID'lerini CSV dosyası olarak içe aktarın. Test Kullanıcıları ve App Distribution kontrol panelinin Gruplar sekmesinde Tüm test kullanıcıları'nı seçin, ardından Apple UDID'lerini dışa aktar'ı tıklayarak CSV dosyası indirin. Daha sonra, Birden Çok Cihaz Kaydet seçeneğini kullanarak dosyayı Apple geliştirici hesabınıza aktarın. Daha fazla bilgi edinmek için Apple'ın belgelerini inceleyin. 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.
  • 2. Seçenek: UDID'leri e-postayla toplayıp girin. Apple geliştirici portalının Add Device (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 derliyorsanız yapı numarasını veya sürümünü güncellemeyin.
  3. Uygulamanızı Firebase konsolundan veya CLI'dan yeniden dağıtın. Aynı derleme numarası ve sürüme sahip bir derlemeyi halihazırda dağıttıysanız yalnızca yeni kaydettirilen cihazların kullanıcıları bildirim e-postaları alır.

Sürümü test cihazından indirme

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

a4049260bae2850b.png

  1. Test cihazında, e-postadaki bağlantıyı veya cihazın ana ekranındaki simgeyi kullanarak App Distribution test kullanıcısı web uygulamasına dönün.

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

baba6d03b6ad78746.png

  1. Fiziksel bir cihaz kullanıyorsanız indir'e basın, ardından uygulamayı yükleyip çalıştırın.
  2. Uygulama başlatıldığında yeni derleme uyarılarını etkinleştirmeniz istenir. "Aç"ı seçin.

6e3540a2900734e6.png

  1. Ardından sizden oturum açmanız istenir. "Devam"ı tıklayın.

82d90d7935bfaea0.png

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

13bee1d03fa94ebf.png

  1. Uygulamaya geri yönlendirilirsiniz. Uygulamayı tekrar çalıştırdığınızda giriş yapmanız veya uyarıları kabul etmeniz gerekmez.

815d6757eb5f6327.png

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

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

861aa63ebbc6ec54.png

  1. "Herhangi bir iOS Cihaz (arm64)" seçeneğini belirleyin hem de Product->Arşiv olarak adlandırabilirsiniz. Arşiv oluşturulduktan sonra Geliştirme dağıtım profili ile imzalı bir dağıtım oluşturun.
  2. Derleme tamamlandığında, belirttiğiniz klasöre bir IPA dosyası ve bazı günlük dosyaları kaydedilir. Bu yeni IPA'yı Firebase konsolunuza yükleyin, e-posta adresinizi tekrar test kullanıcısı olarak ekleyin ve Dağıtın.

b6e75dc216fc3731.png

Test derleme uyarıları

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

3bd532992df458e6.png

  1. "Güncelle"yi tıklayın son sürümü indirin.
  2. "Yükle"yi tıklayın. dokunun.

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 isTestersigninIn yöntemleri, test kullanıcınızın oturum açma deneyimini özelleştirirken size daha fazla esneklik sağlar. Böylece, uygulamanızın görünümü ve tarzıyla daha iyi eşleşir.

Aşağıdaki örnek, test kullanıcısının Firebase App Distribution test kullanıcısı hesabında önceden oturum açıp açmadığını kontrol eder. Bu nedenle, oturum açma kullanıcı arayüzünüzü yalnızca henüz oturum açmamış test kullanıcılarına göstermeyi seçebilirsiniz. Test kullanıcısı oturum açtıktan sonra, test kullanıcısının yeni bir derlemeye erişiminin olup olmadığını kontrol etmek için checkForUpdate çağrısını yapabilirsiniz.

checkForUpdate() çağrısına yorum yaparak, viewVerifyAppear içinde güncellemeleri otomatik olarak kontrol etmeyi devre dışı bırakalım.

AppDeployionViewController.swift

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

Bunun yerine, checkForUpdateButtonClicked() içindeki checkForUpdate() çağrısını yapalım.

 @objc func checkForUpdateButtonClicked() {
    checkForUpdate()
 }

Şimdi signInOutButtonClicked() yöntemimizi uygulayalım. Bu yöntem kullanıcının oturumu kapalıyken oturum açması, oturum açmışsa kullanıcının oturumunu kapatması için kullanılır.

AppDeployionViewController.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 isTesterClosedIn yöntemini uygulayalım.

AppDeployionViewController.swift

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

Uygulamanızı derleme ve test etme

7. Tebrikler!

"Uygulama içi uyarı ekranı"nı oluşturduysanız özelliğini kullanarak bir uygulamaya entegre edebilirsiniz.

İşlediğimiz konular

  • Firebase App Distribution
  • Firebase App Distribution Yeni Uyarıları iOS SDK'sı

Sonraki adımlar

Daha Fazla Bilgi

Sorunuz mu var?

Sorun Bildirin