Aracılığıyla paylaş


App Center Distribute – MAUI ve Xamarin Uygulama içi güncelleştirmeleri

Önemli

Visual Studio App Center 31 Mart 2025'te kullanımdan kaldırılıyor. Tamamen kullanımdan kaldırılana kadar Visual Studio App Center'ı kullanmaya devam edebilirsiniz ancak geçiş yapmayı düşünebileceğiniz birkaç önerilen alternatif vardır.

Destek zaman çizelgeleri ve alternatifleri hakkında daha fazla bilgi edinin.

App Center Distribute, app Center aracılığıyla dağıttığınızda kullanıcılarınızın uygulamanın yeni bir sürümünü yüklemesine olanak verir. Uygulamanın yeni bir sürümü kullanıma sunulduğunda SDK, kullanıcılara yeni sürümü indirmeleri veya ertelemeleri için bir güncelleştirme iletişim kutusu sunar. Sdk, güncelleştirmeyi seçtikten sonra uygulamanızı güncelleştirmeye başlar.

Uyarı

Google Play, çalışma zamanında kullanılmasa bile uygulama içi güncelleştirme kodunu kötü amaçlı davranış olarak kabul eder. Uygulamanızı Google Play'e göndermeden önce bu bölümde belirtildiği gibi Dağıtım SDK'sının bir değişkenini kullanın. Uygulama içi güncelleştirme kodunun kaldırılmaması, uygulamanın Uyumsuzluk ve Google Play'den kaldırılmasına neden olabilir.

Not

Otomatik kullanıcı arabirimi testleri çalıştırıyorsanız, uygulama içi güncelleştirmeler app Center arka uçta kimlik doğrulaması yapmaya çalışacakları için otomatik ui testlerinizi engeller. Ui testleriniz için App Center Distribute'ı etkinleştirmemenizi öneririz.

Uygulamanıza uygulama içi güncelleştirmeler ekleme

Uygulamanızda SDK'yı henüz ayarlamadıysanız ve başlatmadıysanız Başlarken bölümünü izleyin.

1. App Center Distribute modülünü ekleme

App Center SDK modüler bir yaklaşımla tasarlanmıştır; bir geliştiricinin yalnızca ilgilendiği hizmetlerin modüllerini tümleştirmesi gerekir.

Mac için Visual Studio

  • Mac için Visual Studio açın.
  • Dosya>Aç'a tıklayın ve çözümünüzü seçin.
  • Çözüm gezgininde Paketler bölümüne sağ tıklayın ve NuGet paketleri ekle...'yi seçin.
  • App Center'ı arayın ve App Center Distribute'ı yükleyin.
  • Paket Ekle'ye tıklayın.

Windows için Visual Studio

  • Windows için Visual Studio'yu açın.
  • Dosya>Aç'a tıklayın ve çözümünüzü seçin.
  • Çözüm gezgininde Başvurular'a sağ tıklayın ve NuGet Paketlerini Yönet'i seçin.
  • App Center'ı arayın ve Microsoft.AppCenter.Distribute'ı yükleyin.

Paket Yöneticisi Konsolu

  • Visual Studio'da konsolunu açın. Bunu yapmak için Araçlar>NuGet Paket Yöneticisi Paket Yöneticisi>Konsolu'nu seçin.
  • Mac için Visual Studio üzerinde çalışıyorsanız NuGet Paket Yönetimi Uzantıları'nı yüklediğinizden emin olun. Bunun için Visual Studio>Uzantıları'nı seçin, NuGet'i arayın ve gerekirse yükleyin.
  • Konsola aşağıdaki komutu yazın:
Install-Package Microsoft.AppCenter.Distribute

Not

App Center SDK'sını taşınabilir bir projede ( Xamarin.Forms gibi) kullanıyorsanız paketleri projelerin her birine yüklemeniz gerekir: taşınabilir, Android ve iOS olanlar. Bunu yapmak için her alt projeyi açmanız ve Mac için Visual Studio veya Windows için Visual Studio bölümlerinde açıklanan ilgili adımları izlemeniz gerekir.

Not

Android 10 veya üzeri sürümlerde arka planda başlatma etkinliği kısıtlamaları vardır. Etkinlikleri arka planda başlatma kısıtlamaları hakkındaki makaleye bakın.

Not

Android 10 (Go sürümü) üzerinde çalışan uygulamalar SYSTEM_ALERT_WINDOW izni alamaz. Go cihazlarında SYSTEM_ALERT_WINDOW hakkındaki makaleye bakın.

Not

Android 11'de başlayarak, ACTION_MANAGE_OVERLAY_PERMISSION amaçlar kullanıcıyı her zaman üst düzey Ayarlar ekranına getirir ve burada kullanıcı uygulamalar için izinleri verebilir veya iptal SYSTEM_ALERT_WINDOW edebilir. Android 11'de izin güncelleştirmeleri hakkındaki makaleye bakın.

2. App Center Dağıtımını Başlat

App Center SDK'sını, Başlarken kılavuzunda açıklandığı gibi çağırarak AppCenter.Start(...) yapılandırın.

iOS uygulamanız için öğesini açın AppDelegate.cs ve çağrısından LoadApplicationönce aşağıdaki satırı ekleyin:

Distribute.DontCheckForUpdatesInDebug();

Hata ayıklama yapılandırmasının çalışma zamanında otomatik olarak algılandığı Android'de bu adım gerekli değildir.

Android'de hata ayıklama derlemelerinde uygulama içi güncelleştirmeleri etkinleştirmek için projenin MainActivity.cs dosyasında, yönteminde OnCreate ve öncesinde LoadApplicationaşağıdaki yöntemi çağırın.

Distribute.SetEnabledForDebuggableBuild(true);

Not

Bu yöntem yalnızca hata ayıklama derlemelerini etkiler ve yayın derlemelerini etkilemez.

2.3 [Yalnızca iOS için] Projenin Info.plist dosyasını değiştirme

App Center SDK dışarıdan yüklemeyi önlemek için uygulamaya yeniden yönlendiren URL'leri denetler, bu nedenle portal aracılığıyla dağıtılan güncelleştirmelerin doğru şekilde işlenmesi için dosyanın bölümünde CFBundleURLTypesInfo.plist belirtmeniz CFBundleURLSchemes gerekir:

Not

Info.plistveya bilgi özellik listesi dosyası, paketlenmiş yürütülebilir dosya için temel yapılandırma bilgilerini içeren yapılandırılmış bir metin dosyasıdır. Apple geliştirici belgelerinde bu konuda daha fazla bilgi bulabilirsiniz.

  1. Info.plist dosyanıza veya CFBundleURLTypes için URL types yeni bir anahtar ekleyin (Xcode'un Info.plist dosyanızı kaynak kod olarak görüntülemesi durumunda).
  2. İlk alt öğenin anahtarını veya CFBundleURLSchemesolarak URL Schemes değiştirin.
  3. URL şeması olarak girin appcenter-${APP_SECRET} ve öğesini uygulamanızın Uygulama Gizli Dizisi ile değiştirin ${APP_SECRET} .

İpucu

Info.plist dosyasını doğru değiştirdiğinizden emin olmak istiyorsanız kaynak kod olarak açın. Bunun yerine Uygulama Gizli Anahtarınızla birlikte aşağıdaki girişi içermesi ${APP_SECRET}gerekir:

<key>CFBundleURLTypes</key>
  <array>
      <dict>
          <key>CFBundleURLSchemes</key>
          <array>
              <string>appcenter-${APP_SECRET}</string>
          </array>
      </dict>
  </array>

Google Play derlemeleri için uygulama içi güncelleştirmeleri kaldırma

Google Play, çalışma zamanında kullanılmasa bile uygulama içi güncelleştirme kodunu kötü amaçlı davranış olarak kabul eder. Uygulama içi güncelleştirme kodunun kaldırılmaması, uygulamanın Uyumsuzluk ve Google Play'den kaldırılmasına neden olabilir. Bunu kolaylaştırmak için App Center Distribute SDK'sının saplanmış API'ler içeren sürümünü sağlarız, bu nedenle sizin için tek değişiklik bağımlılık değişimidir.

  1. Xamarin.Android ve paylaşılan projeleriniz için adlı GooglePlay yeni bir derleme yapılandırması ekleyin. Projelerin derleme yapılandırmasının uygun çözüm yapılandırmasıyla doğru eşlendiğinden emin olun. Daha fazla ayrıntı için bkz. Visual Studio veya Mac için Visual Studio yönergeleri.

  2. Xamarin.Android ve paylaşılan projelerin' .csproj öğesini herhangi bir metin düzenleyicisinde açın ve dağıtma başvurularını koşullu öğe grubuna taşıyın:

    <ItemGroup Condition=" '$(Configuration)' != 'GooglePlay' ">
        <PackageReference Include="Microsoft.AppCenter.Distribute" Version="3.3.0" />
    </ItemGroup>
    <ItemGroup Condition=" '$(Configuration)' == 'GooglePlay' ">
        <PackageReference Include="Microsoft.AppCenter.DistributePlay" Version="3.3.0" />
    </ItemGroup>
    

    Not

    NuGet başvurularını yönetmek için eski packages.config biçimi kullanıyorsanız PackageReference biçimine geçiş yapabilir, geçiş yönergelerini izleyin.

  3. Değişikliklerinizi kaydedin ve NuGet paketlerini geri yükleyin.

  4. Yapılandırmayı IDE'nin üst kısmındaki komut çubuğunda değiştirebilirsiniz.

Özel dağıtım grubunu kullanma

Varsayılan olarak, Distribute bir genel dağıtım grubu kullanır. Özel bir dağıtım grubu kullanmak istiyorsanız, bunu özellik aracılığıyla UpdateTrack açıkça ayarlamanız gerekir.

Distribute.UpdateTrack = UpdateTrack.Private;

Not

UpdateTrack.Public varsayılan değerdir. Bu özellik yalnızca yöntem çağrısından AppCenter.Start önce güncelleştirilebilir. Uygulama işlemi yeniden başlatıldığında güncelleştirme izlemesindeki değişiklikler kalıcı olmaz ve bu nedenle özellik çağrıdan önce AppCenter.Start her zaman güncelleştirilmezse varsayılan olarak genel olur.

Bu çağrıdan sonra, kullanıcının kimliğini doğrulamak için bir tarayıcı penceresi açılır. Sonraki tüm güncelleştirme denetimleri, özel parçada en son sürümü alır. Güncelleştirme parçası, uygulama başlatmaları arasında SDK'da kalıcı değildir.

Bir kullanıcı özel yoldaysa, başarılı kimlik doğrulamasından sonra üyesi olduğu tüm özel dağıtım gruplarından en son sürümü alacakları anlamına gelir. Bir kullanıcı genel yoldaysa, herhangi bir genel dağıtım grubundan en son sürümü edinebilecekleri anlamına gelir.

Güncelleştirme için Otomatik Denetimi Devre Dışı Bırak

Varsayılan olarak, SDK yeni sürümleri otomatik olarak denetler:

  • Uygulama başlatıldığında.
  • Uygulama arka plana geçtiğinde yeniden ön planda olur.
  • Daha önce devre dışı bırakılmışsa Dağıt modülünü etkinleştirirken.

Yeni sürümleri el ile denetlemek istiyorsanız, güncelleştirme için otomatik denetimi devre dışı bırakabilirsiniz. Bunu yapmak için SDK başlamadan önce aşağıdaki yöntemi çağırın:

Distribute.DisableAutomaticCheckForUpdate();

Not

Bu yöntem, yöntem çağrısından AppCenter.Start önce çağrılmalıdır.

Ardından, aşağıdaki bölümde açıklanan API'yi kullanabilirsiniz CheckForUpdate .

El ile Güncelleştirme Denetimi

Distribute.CheckForUpdate();

Not

Otomatik güncelleştirmeler etkinleştirildiğinde bile el ile güncelleştirme araması denetimi çalışır. Başka bir denetim zaten yapılıyorsa el ile güncelleştirme denetimi yoksayılır. Kullanıcı güncelleştirmeleri ertelediyse el ile güncelleştirme denetimi işlenmez (en son sürüm zorunlu bir güncelleştirme olmadığı sürece).

Uygulama içi güncelleştirme iletişim kutusunu özelleştirme veya yerelleştirme

1. Metni özelleştirme veya yerelleştirme

Güncelleştirme iletişim kutusunda görüntülenen metni yerelleştirmek istiyorsanız kendi kaynak dizelerinizi kolayca sağlayabilirsiniz. Bu kaynak dosyasındaki iOS için dize dosyalarına ve bu kaynak dosyasındaki Android'e yönelik dize dosyalarına bakın. Aynı dize adını/anahtarını kullanın ve kendi uygulama kaynak dosyalarınızdaki iletişim kutusuna yansıtılacak yerelleştirilmiş değeri belirtin.

2. Güncelleştirme iletişim kutusunu özelleştirme

Geri çağırmayı uygulayarak ReleaseAvailable varsayılan güncelleştirme iletişim kutusunun görünümünü özelleştirebilirsiniz. Aşağıdaki örnekte gösterildiği gibi çağırmadan AppCenter.Start önce geri çağırmayı kaydetmeniz gerekir:

// In this example OnReleaseAvailable is a method name in same class
Distribute.ReleaseAvailable = OnReleaseAvailable;
AppCenter.Start(...);

AŞAĞıDA SDK iletişim kutusunu özel bir geri çağırma uygulamasıyla değiştiren bir örnek verilmiştir:

bool OnReleaseAvailable(ReleaseDetails releaseDetails)
{
    // Look at releaseDetails public properties to get version information, release notes text or release notes URL
    string versionName = releaseDetails.ShortVersion;
    string versionCodeOrBuildNumber = releaseDetails.Version;
    string releaseNotes = releaseDetails.ReleaseNotes;
    Uri releaseNotesUrl = releaseDetails.ReleaseNotesUrl;

    // custom dialog
    var title = "Version " + versionName + " available!";
    Task answer;

    // On mandatory update, user can't postpone
    if (releaseDetails.MandatoryUpdate)
    {
        answer = Current.MainPage.DisplayAlert(title, releaseNotes, "Download and Install");
    }
    else
    {
        answer = Current.MainPage.DisplayAlert(title, releaseNotes, "Download and Install", "Maybe tomorrow...");
    }
    answer.ContinueWith((task) =>
    {
        // If mandatory or if answer was positive
        if (releaseDetails.MandatoryUpdate || (task as Task<bool>).Result)
        {
            // Notify SDK that user selected update
            Distribute.NotifyUpdateAction(UpdateAction.Update);
        }
        else
        {
            // Notify SDK that user selected postpone (for 1 day)
            // This method call is ignored by the SDK if the update is mandatory
            Distribute.NotifyUpdateAction(UpdateAction.Postpone);
        }
    });

    // Return true if you're using your own dialog, false otherwise
    return true;
}

Xamarin.Android için uygulama notları:

Örnekte gösterildiği gibi, veya Distribute.NotifyUpdateAction(UpdateAction.POSTPONE); geri aramanız döndürüyorsa trueöğesini çağırmanız Distribute.NotifyUpdateAction(UpdateAction.UPDATE); gerekir.

çağrısı NotifyUpdateActionyapmazsanız, geri arama her etkinlik değişikliğinde yinelenir.

Kullanıcı eylemi SDK'ya bildirilmeden önce etkinlik değişirse, geri çağırma aynı sürümle yeniden çağrılabilir.

Bu davranış aşağıdaki senaryoları kapsayacak şekilde gereklidir:

  • Uygulamanız arka plana gönderilir ( HOME tuşuna basma gibi) sonra farklı bir etkinlikte sürdürülür.
  • Etkinliğiniz, uygulamadan çıkmadan (bazı bildirimlere tıklamak gibi) başka bir etkinlik kapsamındadır.
  • Diğer benzer senaryolar.

Bu durumda, iletişim kutusunu barındıran etkinlik kullanıcı etkileşimi olmadan değiştirilebilir. Bu nedenle SDK, özel iletişim kutusunu geri yükleyebilmeniz için dinleyiciyi yeniden çağırır.

3. Güncelleştirme bulunamazsa kodu yürüt

SDK güncelleştirmeleri denetlediğinde ve şu anda kullanılandan daha yeni kullanılabilir güncelleştirmeler bulamadığında bir NoReleaseAvailable geri çağırma çağrılır. Bu, bu tür senaryolarda özel kod yürütmenize olanak tanır. Aşağıdaki örnekte gösterildiği gibi çağırmadan AppCenter.Start önce geri çağırmayı kaydetmeniz gerekir:

// In this example OnNoReleaseAvailable is a method name in same class
Distribute.NoReleaseAvailable = OnNoReleaseAvailable;
AppCenter.Start(...);
void OnNoReleaseAvailable()
{
    AppCenterLog.Info(LogTag, "No release available callback invoked.");
}

Çalışma zamanında App Center Distribute'ı etkinleştirme veya devre dışı bırakma

App Center Distribute'ı çalışma zamanında etkinleştirebilir ve devre dışı bırakabilirsiniz. Devre dışı bırakırsanız SDK, uygulama içi güncelleştirme işlevi sağlamaz, ancak App Center portalında Dağıtma hizmetini kullanmaya devam edebilirsiniz.

Distribute.SetEnabledAsync(false);

App Center Distribute'ı yeniden etkinleştirmek için aynı API'yi kullanın ancak parametre olarak geçirin true .

Distribute.SetEnabledAsync(true);

Diğer API çağrılarını (örneğin IsEnabledAsync) tutarlı hale getirmek için bu çağrıyı beklemeniz gerekmez.

Durum, uygulama başlatmaları arasında cihazın depolama alanında kalıcı hale geldi.

Not

Bu yöntem yalnızca başlatıldıktan sonra Distribute kullanılmalıdır.

App Center Distribute'ın etkin olup olmadığını denetleyin

App Center Distribute'ın etkinleştirilip etkinleştirilmediğini de de de kontrol edebilirsiniz:

bool enabled = await Distribute.IsEnabledAsync();

Not

Bu yöntem yalnızca başlatıldıktan sonra Distribute kullanılmalıdır, her zaman başlamadan önce döndürülecektir false .

Uygulama güncelleştirme için kapanmadan hemen önce temizleme işlemi gerçekleştirin (yalnızca iOS)

Aşağıdaki örnekte gösterildiği gibi geri çağırmayı kaydedin:

// In this example, OnWillExitApp is a method name in same class
Distribute.WillExitApp = OnWillExitApp;
void OnWillExitApp()
{
    // Perform clean up here
}

Bununla birlikte, OnWillExitApp() Dağıt kapanmak üzere olduğunda çağrılır.

Uygulama içi güncelleştirmeler nasıl çalışır?

Not

Uygulama içi güncelleştirmelerin çalışması için bağlantıdan bir uygulama derlemesi indirilmelidir. IDE'den veya el ile yüklenirse çalışmaz.

Uygulama içi güncelleştirmeler özelliği aşağıdaki gibi çalışır:

  1. Bu özellik yalnızca App Center Distribute hizmeti kullanılarak dağıtılan RELEASE derlemeleriyle (varsayılan olarak) çalışır. iOS Destekli Erişim özelliği açıksa çalışmaz.

  2. SDK'yı tümleştirdikten, uygulamanızın sürüm sürümünü derleyip App Center'a yükledikten sonra, bu dağıtım grubundaki kullanıcılara yeni sürüm için bir e-posta yoluyla bildirim gönderilir.

  3. Her kullanıcı bağlantıyı e-postasında açtığında, uygulama kendi cihazına yüklenir. Yüklemek için e-posta bağlantısını kullanmaları önemlidir. Dışarıdan yüklemeyi desteklemiyoruz. Bağlantıdan bir uygulama indirildiğinde SDK, güncelleştirmeleri daha sonra denetlemek için tanımlama bilgilerinden önemli bilgileri kaydeder, aksi takdirde SDK'da bu anahtar bilgiler bulunmaz.

  4. Uygulama izlemeyi özel olarak ayarlarsa, kullanıcının kimliğini doğrulamak ve uygulama içi güncelleştirmeleri etkinleştirmek için bir tarayıcı açılır. Genel parçaya geri dönüp daha sonra tekrar özele geçerken bile kimlik doğrulama bilgileri geçerli olduğu sürece tarayıcı yeniden açılmaz. Tarayıcı kimlik doğrulaması başarılı olursa, kullanıcı otomatik olarak uygulamaya yeniden yönlendirilir. Parça genel ise (varsayılan değerdir), bir sonraki adım doğrudan gerçekleşir.

    • iOS 9 ve 10'da, kullanıcının kimliğini doğrulamak için uygulama içinde bir örneği SFSafariViewController açılır. Kimlik doğrulaması başarılı olduktan sonra otomatik olarak kapanır.
    • iOS 11'de kullanıcı deneyimi iOS 10'a benzer, ancak iOS 11 kullanıcıdan oturum açma bilgilerine erişim izni ister. Bu bir sistem düzeyi iletişim kutusudur ve özelleştirilemiyor. Kullanıcı iletişim kutusunu iptal ederse, test ettikleri sürümü kullanmaya devam edebilir, ancak uygulama içi güncelleştirmeleri alamaz. Bir sonraki sefer uygulamayı başlattıklarında oturum açma bilgilerine yeniden erişmeleri istenir.
  5. Uygulamanın yeni bir sürümünde, aşağıdaki durumlarda kullanıcıların uygulamanızı güncelleştirmesini isteyen uygulama içi güncelleştirme iletişim kutusu gösterilir:

    • iOS:

      • veya değerinin daha yüksek bir CFBundleShortVersionString değeri
      • değerine eşit CFBundleShortVersionString ancak değeri daha yüksektir CFBundleVersion.
      • sürümleri aynıdır, ancak derleme benzersiz tanımlayıcısı farklıdır.
    • Android:

      • veya değerinin daha yüksek bir versionCode değeri
      • değerinin versionCode eşit ancak farklı bir değeridir versionName.

İpucu

Aynı apk/ipa dosyasını ikinci kez yüklerseniz, ikili dosyalar aynı olduğundan iletişim kutusu GÖRÜNTÜLENMEZ . iOS'ta, aynı sürüm özelliklerine sahip yeni bir derleme yüklerseniz güncelleştirme iletişim kutusu gösterilir. Bunun nedeni , farklı bir ikili olmasıdır. Android'de iki sürüm özelliği de aynıysa ikili dosyalar aynı kabul edilir.

Uygulama içi güncelleştirmeleri test Nasıl yaparım??

Uygulama içi güncelleştirmeleri test etmek için sürüm derlemelerini (App Center SDK'sının Dağıtma modülünü kullanan) App Center Portalı'na yüklemeniz ve her seferinde sürüm numaralarını artırmanız gerekir.

  1. Henüz yapmadıysanız uygulamanızı App Center Portalı'nda oluşturun.
  2. Uygulama içi güncelleştirme özelliğini test etme amaçlı olduğunu fark edebilmeniz için yeni bir dağıtım grubu oluşturun ve grubu adlandırın.
  3. Kendinizi (veya uygulama içi güncelleştirme özelliğini testinize dahil etmek istediğiniz tüm kişileri) ekleyin. Bunun için App Center'da bu uygulama için kullanılmayan yeni veya atmış bir e-posta adresi kullanın. Bu, deneyiminizin gerçek testçilerinizin deneyimine yakın olmasını sağlar.
  4. Uygulamanızın App Center Distribute'ı içeren ve aşağıda açıklandığı gibi kurulum mantığını içeren yeni bir derleme oluşturun. Grup özelse, özelliğini kullanmaya başlamadan önce özel uygulama içi güncelleştirme izlemesini ayarlamayı UpdateTrackunutmayın.
  5. Portalda Yeni sürümü dağıt düğmesine tıklayın ve uygulama derlemenizi karşıya yükleyin.
  6. Karşıya yükleme tamamlandıktan sonra İleri'ye tıklayın ve bu uygulama dağıtımının Hedefi olarak oluşturduğunuz Dağıtım grubunu seçin.
  7. Dağıtım'ı gözden geçirin ve derlemeyi uygulama içi test grubunuzla dağıtın.
  8. Bu gruptaki Kişiler, uygulamanın test edicileri olmak için bir davet alır. Daveti kabul ettikten sonra uygulamayı mobil cihazlarından App Center Portalı'ndan indirebilirler. Uygulama içi güncelleştirmeler yüklendikten sonra, uygulama içi güncelleştirmeleri test etmeye hazırsınız demektir.
  9. Uygulamanızın sürümünü (CFBundleShortVersionString veya CFBundleVersion Android için iOS versionCode için) çarpın
  10. Uygulamanızın yayın sürümünü derleyin ve önceki adımda yaptığınız gibi uygulamanızın yeni bir derlemesini karşıya yükleyin ve bunu daha önce oluşturduğunuz Dağıtım Grubuna dağıtın. Dağıtım Grubu üyelerinden, uygulama bir sonraki başlatılışında yeni bir sürüm istenir.

İpucu

Dağıtım Grupları vb. hakkında daha ayrıntılı bilgi için App Center Distribute'ın nasıl kullanıldığına ilişkin bilgilere göz atın. Herhangi bir kod eklemeden uygulamanızın yeni bir sürümünü dağıtmak için App Center Distribute'ı kullanmak mümkün olsa da, uygulamanızın koduna App Center Distribute eklemek, uygulama içi güncelleştirme deneyimini elde eden test kullanıcılarınız ve kullanıcılarınız için daha sorunsuz bir deneyime neden olur.

Uygulama temsilcisinin yöntemlerini App Center hizmetlerine otomatik iletmeyi devre dışı bırakma

App Center, SDK tümleştirmesini geliştirmek üzere uygulama temsilcinizin yöntemlerini App Center hizmetlerine otomatik olarak iletmek için kaydırmayı kullanır. Diğer üçüncü taraf kitaplıklarla veya uygulama temsilcisinin kendisiyle çakışma olasılığı vardır. Bu durumda, aşağıdaki adımları izleyerek tüm App Center hizmetleri için App Center uygulama temsilcisi iletmeyi devre dışı bırakmak isteyebilirsiniz:

  1. Projenin Info.plist dosyasını açın.
  2. anahtarı ekleyin AppCenterAppDelegateForwarderEnabled ve değerini olarak 0ayarlayın. Bu, tüm App Center hizmetleri için uygulama temsilcisi iletmeyi devre dışı bırakır.
  3. Dosyanıza AppDelegate.cs geri arama ekleyinOpenUrl.
public override bool OpenUrl(UIApplication application, NSUrl url, string sourceApplication, NSObject annotation)
{
    Distribute.OpenUrl(url);
    return true;
}