Udostępnij za pośrednictwem


Dystrybucja w usłudze App Center — aktualizacje oprogramowania MAUI i Xamarin w aplikacji

Ważne

Program Visual Studio App Center ma zostać wycofany 31 marca 2025 r. Chociaż możesz nadal używać programu Visual Studio App Center do momentu jego pełnego wycofania, istnieje kilka zalecanych alternatyw, do których można rozważyć migrację.

Dowiedz się więcej o osiach czasu pomocy technicznej i alternatywach.

Usługa App Center Distribute umożliwi użytkownikom zainstalowanie nowej wersji aplikacji podczas jej dystrybucji za pośrednictwem Centrum aplikacji. Po udostępnieniu nowej wersji aplikacji zestaw SDK wyświetli użytkownikom okno dialogowe aktualizacji umożliwiające pobranie lub odroczenie nowej wersji. Po wybraniu aktualizacji zestaw SDK rozpocznie aktualizowanie aplikacji.

Ostrzeżenie

Sklep Google Play traktuje kod aktualizacji w aplikacji jako złośliwe zachowanie, nawet jeśli nie jest używany w czasie wykonywania. Przed przesłaniem aplikacji do sklepu Google Play użyj wariantu zestawu Distribute SDK zgodnie z zaleceniami w tej sekcji . Nie można usunąć kodu aktualizacji w aplikacji może prowadzić do niezgodności i usunięcia aplikacji ze sklepu Google Play.

Uwaga

Jeśli uruchamiasz zautomatyzowane testy interfejsu użytkownika, włączone aktualizacje w aplikacji spowodują zablokowanie zautomatyzowanych testów interfejsu użytkownika podczas próby uwierzytelnienia w zapleczu Centrum aplikacji. Zalecamy, aby nie włączyć usługi App Center Distribute dla testów interfejsu użytkownika.

Dodawanie aktualizacji w aplikacji do aplikacji

Postępuj zgodnie z sekcją Wprowadzenie , jeśli zestaw SDK nie został jeszcze skonfigurowany i uruchomiony w aplikacji.

1. Dodawanie modułu dystrybucji centrum aplikacji

Zestaw SDK centrum aplikacji został zaprojektowany z modułowym podejściem — deweloper musi zintegrować tylko moduły usług, które cię interesują.

Visual Studio dla komputerów Mac

  • Otwórz Visual Studio dla komputerów Mac.
  • Kliknij pozycję Plik>Otwórz i wybierz rozwiązanie.
  • W nawigatorze rozwiązań kliknij prawym przyciskiem myszy sekcję Pakiety , a następnie wybierz polecenie Dodaj pakiety NuGet....
  • Wyszukaj pozycję App Center i zainstaluj usługę App Center Distribute.
  • Kliknij pozycję Dodaj pakiety.

Program Visual Studio dla systemu Windows

  • Otwórz program Visual Studio dla systemu Windows.
  • Kliknij pozycję Plik>Otwórz i wybierz rozwiązanie.
  • W nawigatorze rozwiązań kliknij prawym przyciskiem myszy pozycję Odwołania i wybierz polecenie Zarządzaj pakietami NuGet.
  • Wyszukaj pozycję App Center i zainstaluj plik Microsoft.AppCenter.Distribute.

Konsola menedżera pakietów

  • Otwórz konsolę programu Visual Studio. W tym celu wybierz pozycję Narzędzia>Konsola menedżera pakietówNuGet Package Manager>.
  • Jeśli pracujesz w Visual Studio dla komputerów Mac, upewnij się, że zainstalowano rozszerzenia do zarządzania pakietami NuGet. W tym celu wybierz pozycjęRozszerzeniaprogramu Visual Studio>, wyszukaj pozycję NuGet i zainstaluj, jeśli to konieczne.
  • Wpisz następujące polecenie w konsoli:
Install-Package Microsoft.AppCenter.Distribute

Uwaga

Jeśli używasz zestawu SDK usługi App Center w projekcie przenośnym (takim jak Xamarin.Forms), musisz zainstalować pakiety w każdym z projektów: przenośnych, Android i iOS. W tym celu należy otworzyć każdy podprojekt i wykonać odpowiednie kroki opisane w sekcjach Visual Studio dla komputerów Mac lub Visual Studio dla systemu Windows.

Uwaga

System Android 10 lub nowszy ma ograniczenia dotyczące działania uruchamiania z poziomu tła. Zobacz artykuł dotyczący ograniczeń dotyczących uruchamiania działań w tle.

Uwaga

Aplikacje działające w systemie Android 10 (wersja Go) nie mogą otrzymać uprawnienia SYSTEM_ALERT_WINDOW . Zobacz artykuł dotyczący SYSTEM_ALERT_WINDOW na urządzeniach Go.

Uwaga

Począwszy od systemu Android 11, ACTION_MANAGE_OVERLAY_PERMISSION intencje zawsze powodują przeniesienie użytkownika na ekran ustawień najwyższego poziomu, na którym użytkownik może udzielić lub odwołać SYSTEM_ALERT_WINDOW uprawnienia dla aplikacji. Zobacz artykuł dotyczący aktualizacji uprawnień w systemie Android 11.

2. Uruchamianie dystrybucji centrum aplikacji

Skonfiguruj zestaw SDK centrum aplikacji przez wywołanie metody AppCenter.Start(...) zgodnie z opisem w przewodniku Wprowadzenie.

W przypadku aplikacji systemu iOS otwórz plik AppDelegate.cs i dodaj następujący wiersz przed wywołaniem metody LoadApplication:

Distribute.DontCheckForUpdatesInDebug();

Ten krok nie jest konieczny w systemie Android, w którym konfiguracja debugowania jest wykrywana automatycznie w czasie wykonywania.

Aby włączyć aktualizacje w aplikacji dla kompilacji debugowania w systemie Android, wywołaj następującą metodę w pliku MainActivity.cs projektu w metodzie OnCreate i przed LoadApplication.

Distribute.SetEnabledForDebuggableBuild(true);

Uwaga

Ta metoda ma wpływ tylko na kompilacje debugowania i nie ma wpływu na kompilacje wydania.

2.3 [Tylko dla systemu iOS] Modyfikowanie pliku Info.plist projektu

Zestaw SDK usługi App Center sprawdza adresy URL przekierowania do aplikacji, aby uniknąć ładowania bezpośredniego, dlatego w celu poprawnego obsługi aktualizacji za pośrednictwem portalu należy określić CFBundleURLSchemes w CFBundleURLTypes sekcji Info.plist pliku:

Uwaga

Info.plistlub plik listy właściwości informacji jest ustrukturyzowanym plikiem tekstowym zawierającym podstawowe informacje o konfiguracji dla pliku wykonywalnego w pakiecie. Więcej informacji na ten temat można znaleźć w dokumentacji dla deweloperów firmy Apple.

  1. Dodaj nowy klucz dla URL types pliku Info.plist lub CFBundleURLTypes w pliku Info.plist (na wypadek, gdy kod Xcode wyświetla plik Info.plist jako kod źródłowy).
  2. Zmień klucz pierwszego elementu podrzędnego na URL Schemes lub CFBundleURLSchemes.
  3. Wprowadź appcenter-${APP_SECRET} jako schemat adresu URL i zastąp ciąg ${APP_SECRET} kluczem tajnym aplikacji.

Porada

Jeśli chcesz sprawdzić, czy plik Info.plist został zmodyfikowany poprawnie, otwórz go jako kod źródłowy. Powinien on zawierać następujący wpis z wpisem tajnym aplikacji zamiast ${APP_SECRET}:

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

Usuwanie aktualizacji w aplikacji dla kompilacji ze sklepu Google Play

Sklep Google Play traktuje kod aktualizacji w aplikacji jako złośliwe zachowanie, nawet jeśli nie jest używany w czasie wykonywania. Nie można usunąć kodu aktualizacji w aplikacji może prowadzić do niezgodności i usunięcia aplikacji ze sklepu Google Play. Aby ułatwić, udostępniamy wersję zestawu SDK dystrybucji usługi App Center z wyciętymi interfejsami API, więc jedyną zmianą jest zamiana zależności.

  1. Dodaj nową konfigurację kompilacji o nazwie GooglePlay dla projektów Xamarin.Android i udostępnionych. Upewnij się, że konfiguracja kompilacji projektów jest poprawnie mapowana na odpowiednią konfigurację rozwiązania. Aby uzyskać więcej informacji, zobacz Visual Studio lub Visual Studio dla komputerów Mac instrukcje.

  2. Otwórz platformę Xamarin.Android i udostępnione projekty w .csproj dowolnym edytorze tekstów i przenieś odwołanie rozproszone do grupy elementów warunkowych:

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

    Uwaga

    Jeśli używasz starego formatu packages.config do zarządzania odwołaniami NuGet, możesz przeprowadzić migrację do formatu PackageReference , postępuj zgodnie z instrukcjami migracji.

  3. Zapisz zmiany i przywróć pakiety NuGet.

  4. Konfigurację można zmienić na pasku poleceń w górnej części środowiska IDE.

Korzystanie z prywatnej grupy dystrybucyjnej

Domyślnie usługa Distribute używa publicznej grupy dystrybucyjnej. Jeśli chcesz użyć prywatnej grupy dystrybucyjnej, musisz jawnie ustawić ją za pomocą UpdateTrack właściwości .

Distribute.UpdateTrack = UpdateTrack.Private;

Uwaga

Wartość domyślna to UpdateTrack.Public. Tę właściwość można zaktualizować tylko przed wywołaniem AppCenter.Start metody. Zmiany w ścieżce aktualizacji nie są utrwalane po ponownym uruchomieniu procesu aplikacji, dlatego jeśli właściwość nie jest zawsze aktualizowana przed AppCenter.Start wywołaniem, będzie domyślnie publiczna.

Po wywołaniu zostanie otwarte okno przeglądarki w celu uwierzytelnienia użytkownika. Wszystkie kolejne testy aktualizacji otrzymają najnowszą wersję na prywatnej ścieżce. Ścieżka aktualizacji nie jest utrwalana w zestawie SDK podczas uruchamiania aplikacji.

Jeśli użytkownik znajduje się na ścieżce prywatnej, oznacza to, że po pomyślnym uwierzytelnieniu uzyska najnowszą wersję z dowolnych prywatnych grup dystrybucyjnych, do których należy. Jeśli użytkownik znajduje się na ścieżce publicznej, oznacza to, że otrzyma najnowszą wersję z dowolnej publicznej grupy dystrybucyjnej.

Wyłączanie automatycznego sprawdzania aktualizacji

Domyślnie zestaw SDK automatycznie sprawdza nowe wersje:

  • Po uruchomieniu aplikacji.
  • Gdy aplikacja przechodzi w tle, na pierwszym planie ponownie.
  • Po włączeniu modułu Distribute (Dystrybucja), jeśli został wcześniej wyłączony.

Jeśli chcesz ręcznie sprawdzić dostępność nowych wersji, możesz wyłączyć automatyczne sprawdzanie aktualizacji. W tym celu przed uruchomieniem zestawu SDK wywołaj następującą metodę:

Distribute.DisableAutomaticCheckForUpdate();

Uwaga

Ta metoda musi zostać wywołana przed wywołaniem AppCenter.Start metody.

Następnie możesz użyć interfejsu CheckForUpdate API opisanego w poniższej sekcji.

Ręczne sprawdzanie aktualizacji

Distribute.CheckForUpdate();

Uwaga

Ręczne sprawdzanie wywołania aktualizacji działa nawet wtedy, gdy aktualizacje automatyczne są włączone. Ręczne sprawdzanie aktualizacji jest ignorowane, jeśli jest już wykonywane inne sprawdzanie. Ręczna kontrola aktualizacji nie zostanie przetworzona, jeśli użytkownik odroczył aktualizacje (chyba że najnowsza wersja jest obowiązkową aktualizacją).

Dostosowywanie lub lokalizowanie okna dialogowego aktualizacji w aplikacji

1. Dostosowywanie lub lokalizowanie tekstu

Możesz łatwo podać własne ciągi zasobów, jeśli chcesz lokalizować tekst wyświetlany w oknie dialogowym aktualizacji. Zapoznaj się z plikami ciągów dla systemu iOS w tym pliku zasobów i plikami dla systemu Android w tym pliku zasobów. Użyj tej samej nazwy/klucza ciągu i określ zlokalizowaną wartość, która ma zostać odzwierciedlona w oknie dialogowym we własnych plikach zasobów aplikacji.

2. Dostosowywanie okna dialogowego aktualizacji

Wygląd domyślnego okna dialogowego aktualizacji można dostosować, implementując ReleaseAvailable wywołanie zwrotne. Przed wywołaniem wywołania zwrotnego należy zarejestrować, AppCenter.Start jak pokazano w poniższym przykładzie:

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

Oto przykład implementacji wywołania zwrotnego, która zastępuje okno dialogowe zestawu SDK niestandardowym:

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

Uwagi dotyczące implementacji platformy Xamarin.Android:

Jak pokazano w przykładzie, musisz wywołać metodę Distribute.NotifyUpdateAction(UpdateAction.UPDATE); lub Distribute.NotifyUpdateAction(UpdateAction.POSTPONE); , jeśli wywołanie zwrotne zwróci wartość true.

Jeśli nie wywołasz NotifyUpdateActionmetody , wywołanie zwrotne będzie powtarzane przy każdej zmianie działania.

Wywołanie zwrotne można wywołać ponownie z tą samą wersją, jeśli działanie zmieni się przed powiadomieniem użytkownika do zestawu SDK.

To zachowanie jest wymagane do obsługi następujących scenariuszy:

  • Aplikacja jest wysyłana do tła (na przykład naciśnięcie klawisza HOME), a następnie wznowiona w innym działaniu.
  • Twoje działanie jest objęte innym działaniem bez opuszczania aplikacji (na przykład kliknięcie niektórych powiadomień).
  • Inne podobne scenariusze.

W takim przypadku działanie hostujące okno dialogowe może zostać zastąpione bez interakcji z użytkownikiem. Dlatego zestaw SDK ponownie wywołuje odbiornik, aby można było przywrócić okno dialogowe niestandardowe.

3. Wykonaj kod, jeśli nie znaleziono aktualizacji

W przypadkach, gdy zestaw SDK sprawdza dostępność aktualizacji i nie znajdzie żadnych dostępnych aktualizacji nowszych niż obecnie używany, NoReleaseAvailable wywołanie zwrotne jest wywoływane. Umożliwia to wykonywanie niestandardowego kodu w takich scenariuszach. Przed wywołaniem wywołania zwrotnego należy zarejestrować, AppCenter.Start jak pokazano w poniższym przykładzie:

// 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.");
}

Włączanie lub wyłączanie dystrybucji usługi App Center w czasie wykonywania

Usługę App Center można włączać i wyłączać w czasie wykonywania. Jeśli ją wyłączysz, zestaw SDK nie udostępni żadnych funkcji aktualizacji w aplikacji, ale nadal będzie można używać usługi distribute service w portalu App Center.

Distribute.SetEnabledAsync(false);

Aby ponownie włączyć usługę App Center Distribute, użyj tego samego interfejsu API, ale przekaż true go jako parametr.

Distribute.SetEnabledAsync(true);

Nie musisz czekać na to wywołanie, aby inne wywołania interfejsu API (takie jak IsEnabledAsync) były spójne.

Stan jest utrwalany w magazynie urządzenia w przypadku uruchamiania aplikacji.

Uwaga

Ta metoda musi być używana tylko po Distribute uruchomieniu.

Sprawdzanie, czy włączono dystrybucję usługi App Center

Możesz również sprawdzić, czy usługa App Center Distribute jest włączona, czy nie:

bool enabled = await Distribute.IsEnabledAsync();

Uwaga

Ta metoda musi być używana tylko po Distribute uruchomieniu. Zawsze będzie ona zwracana false przed rozpoczęciem.

Wykonaj czyszczenie bezpośrednio przed zamknięciem aplikacji na potrzeby aktualizacji (tylko system iOS)

Zarejestruj wywołanie zwrotne, jak pokazano w poniższym przykładzie:

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

W tym celu zostanie wywołana, OnWillExitApp() gdy funkcja Distribute wkrótce zostanie zamknięta.

Jak działają aktualizacje w aplikacji?

Uwaga

Aby aktualizacje w aplikacji działały, należy pobrać kompilację aplikacji z linku. Nie będzie działać, jeśli jest zainstalowany z poziomu środowiska IDE lub ręcznie.

Funkcja aktualizacji w aplikacji działa w następujący sposób:

  1. Ta funkcja działa tylko z kompilacjami RELEASE (domyślnie), które są dystrybuowane przy użyciu usługi rozproszonej Centrum aplikacji . Nie będzie działać, jeśli funkcja dostępu z przewodnikiem systemu iOS jest włączona.

  2. Po zintegrowaniu zestawu SDK skompiluj wersję wydania aplikacji i przekażesz do Centrum aplikacji, użytkownicy w tej grupie dystrybucyjnej będą powiadamiani o nowej wersji za pośrednictwem poczty e-mail.

  3. Gdy każdy użytkownik otworzy link w wiadomości e-mail, aplikacja zostanie zainstalowana na swoim urządzeniu. Ważne jest, aby zainstalować link poczty e-mail — nie obsługujemy ładowania bezpośredniego. Po pobraniu aplikacji z linku zestaw SDK zapisuje ważne informacje z plików cookie w celu późniejszego sprawdzania dostępności aktualizacji. W przeciwnym razie zestaw SDK nie ma tych kluczowych informacji.

  4. Jeśli aplikacja ustawi ścieżkę na prywatną, zostanie otwarta przeglądarka w celu uwierzytelnienia użytkownika i włączenia aktualizacji w aplikacji. Przeglądarka nie zostanie ponownie otwarta, o ile informacje o uwierzytelnianiu pozostaną prawidłowe, nawet po ponownym przełączeniu do publicznej ścieżki i powrotu do prywatności później. Jeśli uwierzytelnianie przeglądarki zakończy się pomyślnie, użytkownik zostanie automatycznie przekierowany z powrotem do aplikacji. Jeśli utwór jest publiczny (co jest ustawieniem domyślnym), następny krok odbywa się bezpośrednio.

    • W systemach iOS 9 i 10 wystąpienie SFSafariViewController programu zostanie otwarte w aplikacji w celu uwierzytelnienia użytkownika. Zostanie ona zamknięta automatycznie po pomyślnych uwierzytelnieniach.
    • W systemie iOS 11 środowisko użytkownika jest podobne do systemu iOS 10, ale system iOS 11 poprosi użytkownika o zgodę na dostęp do informacji logowania. Jest to okno dialogowe na poziomie systemu i nie można go dostosować. Jeśli użytkownik anuluje okno dialogowe, może nadal korzystać z testowej wersji, ale nie będzie pobierać aktualizacji w aplikacji. Użytkownik zostanie poproszony o ponowne uzyskanie dostępu do informacji logowania po następnym uruchomieniu aplikacji.
  5. W nowej wersji aplikacji jest wyświetlane okno dialogowe aktualizacji w aplikacji z prośbą o zaktualizowanie aplikacji, jeśli jest to:

    • iOS:

      • wyższa wartość lub CFBundleShortVersionString
      • równej wartości , CFBundleShortVersionString ale wyższej wartości CFBundleVersion.
      • wersje są takie same, ale unikatowy identyfikator kompilacji jest inny.
    • Android:

      • wyższa wartość lub versionCode
      • równej wartości , versionCode ale innej wartości .versionName

Porada

Jeśli przekażesz ten sam plik apk/ipa po raz drugi, okno dialogowe NIE będzie wyświetlane, ponieważ pliki binarne są identyczne. W systemie iOS, jeśli przekażesz nową kompilację z tymi samymi właściwościami wersji, zostanie wyświetlone okno dialogowe aktualizacji. Przyczyną tego jest to, że jest to inny plik binarny. W systemie Android pliki binarne są traktowane tak samo, jeśli obie właściwości wersji są takie same.

Jak mogę testowanie aktualizacji w aplikacji?

Należy przekazać kompilacje wydania (korzystające z modułu Distribute of the App Center SDK) do portalu Centrum aplikacji w celu testowania aktualizacji w aplikacji, zwiększając liczbę wersji za każdym razem.

  1. Utwórz aplikację w portalu Centrum aplikacji, jeśli jeszcze tego nie zrobiono.
  2. Utwórz nową grupę dystrybucyjną i nadaj jej nazwę, aby można było rozpoznać, że jest przeznaczona do testowania funkcji aktualizacji w aplikacji.
  3. Dodaj siebie (lub wszystkie osoby, które chcesz dołączyć do testu funkcji aktualizacji w aplikacji). Użyj nowego lub odrzuconego adresu e-mail, który nie był używany dla tej aplikacji w Centrum aplikacji. Dzięki temu twoje doświadczenie jest zbliżone do doświadczenia rzeczywistych testerów.
  4. Utwórz nową kompilację aplikacji, która obejmuje dystrybucję usługi App Center i zawiera logikę instalacji, jak opisano poniżej. Jeśli grupa jest prywatna, nie zapomnij ustawić prywatnej ścieżki aktualizacji w aplikacji przed rozpoczęciem UpdateTrackkorzystania z właściwości .
  5. Kliknij przycisk Rozpowszechnij nową wersję w portalu i przekaż swoją kompilację aplikacji.
  6. Po zakończeniu przekazywania kliknij przycisk Dalej i wybierz grupę dystrybucyjną utworzoną jako miejsce docelowe dystrybucji aplikacji.
  7. Przejrzyj sekcję Dystrybucja i rozpowszechnij kompilację do grupy testowania w aplikacji.
  8. Osoby w tej grupie otrzyma zaproszenie do testerów aplikacji. Po zaakceptowaniu zaproszenia użytkownicy mogą pobrać aplikację z portalu Centrum aplikacji z urządzenia przenośnego. Po zainstalowaniu aktualizacji w aplikacji możesz przystąpić do testowania aktualizacji w aplikacji.
  9. Bump the version of your app (CFBundleShortVersionString or CFBundleVersion for iOS, versionCode for Android)
  10. Skompiluj wersję wydania aplikacji i przekaż nową kompilację aplikacji, tak jak w poprzednim kroku, i przekaż ją do utworzonej wcześniej grupy dystrybucyjnej . Członkowie grupy dystrybucyjnej będą monitowani o nową wersję przy następnym uruchomieniu aplikacji.

Porada

Zapoznaj się z informacjami na temat sposobu korzystania z usługi App Center Distribute w celu uzyskania bardziej szczegółowych informacji na temat grup dystrybucyjnych itp. Chociaż można użyć usługi App Center Distribute do dystrybucji nowej wersji aplikacji bez dodawania kodu, dodanie usługi App Center Distribute do kodu aplikacji spowoduje bardziej bezproblemowe środowisko dla testerów i użytkowników w miarę uzyskiwania środowiska aktualizacji w aplikacji.

Wyłączanie automatycznego przekazywania metod delegata aplikacji do usług App Center

Usługa App Center używawizzling do automatycznego przekazywania metod delegata aplikacji do usług App Center w celu ulepszenia integracji zestawu SDK. Istnieje możliwość konfliktu z innymi bibliotekami innych firm lub delegowaniem aplikacji. W takim przypadku można wyłączyć przekazywanie delegowania aplikacji App Center dla wszystkich usług App Center, wykonując poniższe kroki:

  1. Otwórz plik Info.plist projektu.
  2. Dodaj AppCenterAppDelegateForwarderEnabled klucz i ustaw wartość na 0. Spowoduje to wyłączenie przekazywania delegatów aplikacji dla wszystkich usług App Center.
  3. Dodaj OpenUrl wywołanie zwrotne w AppDelegate.cs pliku.
public override bool OpenUrl(UIApplication application, NSUrl url, string sourceApplication, NSObject annotation)
{
    Distribute.OpenUrl(url);
    return true;
}