Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Program Visual Studio App Center został wycofany 31 marca 2025 r. z wyjątkiem funkcji analizy i diagnostyki, które będą nadal obsługiwane do 30 czerwca 2026 r. Dowiedz się więcej.
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, aby pobrać lub odroczyć nową wersję. Po wybraniu aktualizacji zestaw SDK zacznie aktualizować aplikację.
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. Użyj wariantu zestawu SDK dystrybucji zgodnie z zaleceniami w tej sekcji przed przesłaniem aplikacji do sklepu Google Play. Nie można usunąć kodu aktualizacji w aplikacji może prowadzić do niezgodności i usunięcia aplikacji ze sklepu Google Play.
Uwaga / Notatka
Jeśli uruchamiasz zautomatyzowane testy interfejsu użytkownika, włączone aktualizacje w aplikacji zablokują automatyczne testy interfejsu użytkownika, ponieważ będą one próbowały uwierzytelnić się w zapleczu Centrum aplikacji. Zalecamy, aby nie włączać usługi App Center Distribute dla testów interfejsu użytkownika.
Dodaj aktualizacje wewnątrz aplikacji
Postępuj zgodnie z sekcją Wprowadzenie , jeśli zestaw SDK nie został jeszcze skonfigurowany i uruchomiony w aplikacji.
1. Dodaj moduł dystrybucji App Center
Zestaw SDK centrum aplikacji został zaprojektowany z modułowym podejściem — deweloper musi tylko zintegrować moduły usług, których interesują.
Visual Studio dla komputerów Mac
- Otwórz program 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.
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 aplikację Microsoft.AppCenter.Distribute.
Konsola menedżera pakietów
- Otwórz konsolę w programie Visual Studio. W tym celu wybierz pozycję Narzędzia>Konsola menedżera pakietów>.
- Jeśli pracujesz w programie Visual Studio dla komputerów Mac, upewnij się, że zainstalowano rozszerzenia zarządzania pakietami NuGet. W tym celu wybierz opcję Rozszerzenia programu Visual Studio>, wyszukaj NuGet i zainstaluj, jeśli to konieczne.
- Wpisz następujące polecenie w konsoli programu :
Install-Package Microsoft.AppCenter.Distribute
Uwaga / Notatka
Jeśli używasz zestawu SDK usługi App Center w przenośnym projekcie (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 Programu Visual Studio dla komputerów Mac lub Visual Studio dla systemu Windows .
Uwaga / Notatka
System Android 10 lub nowszy ma ograniczenia dotyczące uruchamiania aplikacji w tle. Zobacz artykuł dotyczący ograniczeń dotyczących uruchamiania działań w tle.
Uwaga / Notatka
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 / Notatka
Począwszy od systemu Android 11, ACTION_MANAGE_OVERLAY_PERMISSION polecenia zawsze przenoszą użytkownika na główny ekran Ustawień, gdzie może on przyznać lub cofnąć SYSTEM_ALERT_WINDOW uprawnienia dla aplikacji. Zobacz artykuł dotyczący aktualizacji uprawnień w systemie Android 11.
2. Rozpocznij dystrybucję przez App Center
Skonfiguruj App Center SDK, wywołując 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 / Notatka
Ta metoda ma wpływ tylko na kompilacje debug i nie ma wpływu na kompilacje wersji.
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, więc aby aktualizacje dystrybuowane za pośrednictwem portalu mogły być prawidłowo obsługiwane, należy określić CFBundleURLSchemes w CFBundleURLTypes sekcji Info.plist pliku:
Uwaga / Notatka
Info.plistlub plik listy właściwości informacji jest plikiem tekstowym ze strukturą, który zawiera 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.
- Dodaj nowy klucz dla
URL typespliku Info.plist lubCFBundleURLTypesw pliku Info.plist (w przypadku, gdy program Xcode wyświetla plik Info.plist jako kod źródłowy). - Zmień klucz pierwszego elementu podrzędnego na
URL SchemeslubCFBundleURLSchemes. - Wprowadź
appcenter-${APP_SECRET}jako schemat adresu URL i zastąp ciąg${APP_SECRET}kluczem tajnym aplikacji.
Wskazówka
Jeśli chcesz sprawdzić, czy zmodyfikowano plik Info.plist 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 to ułatwić, udostępniamy wersję zestawu SDK dystrybucji usługi App Center z zastępczymi API, więc dla Ciebie jedyną zmianą jest wymiana zależności.
Dodaj nową konfigurację kompilacji o nazwie
GooglePlaydla 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 Instrukcje dotyczące programu Visual Studio lub Visual Studio dla komputerów Mac .Otwórz platformę Xamarin.Android i udostępnione projekty w
.csprojdowolnym 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 / Notatka
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.
Zapisz zmiany i przywróć pakiety NuGet.
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 / Notatka
Wartość domyślna to UpdateTrack.Public. Tę właściwość można zaktualizować tylko przed wywołaniem AppCenter.Start metody. Zmiany ścieżki aktualizacji nie są utrwalane po ponownym uruchomieniu procesu aplikacji, więc jeśli właściwość nie jest zawsze aktualizowana przed AppCenter.Start wywołaniem, będzie ona domyślnie publiczna.
Po wywołaniu zostanie otwarte okno przeglądarki w celu uwierzytelnienia użytkownika. Wszystkie kolejne testy aktualizacji otrzymają najnowszą wersję na ścieżce prywatnej. Ś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 otrzymają 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 uzyska 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 przejdzie w tło, a następnie ponownie na pierwszy plan.
- Włączenie modułu Distribute, jeśli był 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 / Notatka
Ta metoda musi być wywoływana przed wywołaniem AppCenter.Start metody.
Następnie możesz użyć interfejsu CheckForUpdate API opisanego w poniższej sekcji.
Ręczne sprawdzanie pod kątem aktualizacji
Distribute.CheckForUpdate();
Uwaga / Notatka
Ręczne sprawdzanie wywołania aktualizacji działa nawet wtedy, gdy są włączone aktualizacje automatyczne. 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 zlokalizować 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 wywołanie ReleaseAvailable zwrotne. Musisz zarejestrować wywołanie zwrotne przed wywołaniem 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ć Distribute.NotifyUpdateAction(UpdateAction.UPDATE); lub Distribute.NotifyUpdateAction(UpdateAction.POSTPONE);, jeśli Twoje wywołanie zwrotne zwróci true.
Jeśli nie wywołasz NotifyUpdateAction, wywołanie zwrotne będzie powtarzane przy każdej zmianie aktywności.
Wywołanie zwrotne można wywołać ponownie z tą samą wersją, jeśli działanie zmieni się przed powiadomieniem zestawu SDK o działaniach użytkownika.
To zachowanie jest wymagane do pokrycia następujących scenariuszy:
- Aplikacja jest wysyłana do tła (na przykład naciśnięcie przycisku STRONA GŁÓWNA), a następnie wznowiona w innym działaniu.
- Twoje działanie jest przykrywane przez inne działanie bez opuszczania aplikacji (na przykład klikając w pewne powiadomienia).
- Inne podobne scenariusze.
W takim przypadku działanie hostujące okno dialogowe może zostać zastąpione bez interakcji użytkownika. Dlatego SDK ponownie wywołuje odbiornik, aby można było przywrócić niestandardowy dialog.
3. Wykonaj kod, jeśli nie znaleziono aktualizacji
Kiedy zestaw SDK sprawdza dostępność aktualizacji i nie znajdzie żadnej aktualizacji nowszej niż aktualnie używana, wywoływane jest NoReleaseAvailable wywołanie zwrotne. Umożliwia to wykonywanie niestandardowego kodu w takich scenariuszach.
Musisz zarejestrować wywołanie zwrotne przed wywołaniem 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 funkcji App Center Distribute w czasie wykonywania
Możesz włączyć i wyłączyć dystrybucję usługi App Center w czasie działania aplikacji. Jeśli wyłączysz zestaw SDK, nie udostępni żadnych funkcji aktualizacji w aplikacji, ale nadal możesz korzystać z usługi Distribute w portalu App Center.
Distribute.SetEnabledAsync(false);
Aby ponownie włączyć funkcję App Center Distribute, użyj tego samego interfejsu API, ale przekaż true 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 ramach uruchamiania aplikacji.
Uwaga / Notatka
Ta metoda musi być używana tylko po uruchomieniu Distribute.
Sprawdzanie, czy usługa App Center Distribute jest włączona
Możesz również sprawdzić, czy usługa App Center Distribute jest włączona, czy nie:
bool enabled = await Distribute.IsEnabledAsync();
Uwaga / Notatka
Ta metoda musi być używana tylko po uruchomieniu Distribute. Zawsze zwróci false przed rozpoczęciem.
Wykonaj czyszczenie bezpośrednio przed zamknięciem aplikacji w celu aktualizacji (tylko system iOS)
Zarejestruj wywołanie zwrotne zgodnie z poniższym przykładem:
// 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 / Notatka
Aby aktualizacje w aplikacji działały, należy pobrać kompilację aplikacji z linku. Nie będzie działać, jeśli zainstalowano je ze środowiska IDE lub ręcznie.
Funkcja aktualizacji w aplikacji działa w następujący sposób:
Ta funkcja działa tylko z wersjami RELEASE (domyślnie), które są dystrybuowane przy użyciu usługi App Center Distribute. Nie będzie działać, jeśli funkcja dostępu z przewodnikiem systemu iOS jest włączona.
Po zintegrowaniu zestawu SDK, skompiluj wersję wydania aplikacji i prześlij ją do App Center, użytkownicy tej grupy dystrybucyjnej zostaną powiadomieni o nowej wersji za pomocą wiadomości e-mail.
Gdy każdy użytkownik otworzy link w wiadomości e-mail, aplikacja zostanie zainstalowana na swoim urządzeniu. Ważne jest, aby użyli linku z e-maila do instalacji — nie wspieramy instalacji z nieoficjalnych źródeł. 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 zawiera tych kluczowych informacji.
Jeśli aplikacja ustawia ścieżkę na prywatną, przeglądarka otworzy się w celu uwierzytelnienia użytkownika i włączenia aktualizacji w aplikacji. Przeglądarka nie będzie ponownie otwierana, o ile informacje o uwierzytelnieniu pozostają prawidłowe, nawet gdy przełączasz się z powrotem na kanał publiczny, a następnie ponownie na kanał prywatny. 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, instancja
SFSafariViewControllerzostanie otwarta w aplikacji, aby uwierzytelnić 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 pozwolenie 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 używać testowej wersji, ale nie uzyska aktualizacji w aplikacji. Po następnym uruchomieniu aplikacji zostanie wyświetlony monit o uzyskanie dostępu do informacji logowania.
- W systemach iOS 9 i 10, instancja
W nowej wersji aplikacji jest wyświetlane okno dialogowe aktualizacji w aplikacji z prośbą użytkowników o zaktualizowanie aplikacji w następujących przypadkach:
Ios:
- wyższa wartość
CFBundleShortVersionStringlub - równą wartość
CFBundleShortVersionString, ale wyższą wartośćCFBundleVersion. - wersje są takie same, ale unikatowy identyfikator kompilacji jest inny.
- wyższa wartość
Android:
- wyższa wartość
versionCodelub - taka sama wartość
versionCode, ale inna wartośćversionName.
- wyższa wartość
Wskazówka
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 przetestować aktualizacje w aplikacji?
Należy przekazać wersje produkcyjne, które używają modułu Distribute Zestawu SDK Centrum Aplikacji, do portalu Centrum Aplikacji w celu testowania aktualizacji aplikacji, zwiększając numer wersji za każdym razem.
- Utwórz aplikację w portalu Centrum aplikacji, jeśli jeszcze tego nie zrobiono.
- Utwórz nową grupę dystrybucyjną i nadaj jej nazwę, aby można było ją rozpoznać do testowania funkcji aktualizacji w aplikacji.
- 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 bliskie doświadczeniu rzeczywistych testerów.
- Utwórz nową kompilację aplikacji, która obejmuje dystrybucję usługi App Center i zawiera logikę konfiguracji zgodnie z poniższym opisem. Jeśli grupa jest prywatna, nie zapomnij ustawić prywatnej ścieżki aktualizacji w aplikacji przed rozpoczęciem
UpdateTrackkorzystania z właściwości . - Kliknij przycisk Dystrybuuj nową wersję w portalu i przekaż kompilację aplikacji.
- Po zakończeniu przekazywania kliknij Dalej i wybierz Grupę dystrybucyjną, którą utworzyłeś jako Miejsce docelowe dystrybucji aplikacji.
- Przejrzyj dystrybucję i przekaż kompilację do grupy testowej w aplikacji.
- Osoby w tej grupie otrzymają zaproszenie do testerów aplikacji. Po zaakceptowaniu zaproszenia 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.
- Zaktualizuj wersję swojej aplikacji (
CFBundleShortVersionStringlubCFBundleVersiondla iOS,versionCodedla Androida) - Skompiluj wersję wydania swojej aplikacji, przekaż nową kompilację aplikacji, podobnie jak w poprzednim kroku, a następnie rozpowszechnij ją w grupie dystrybucyjnej, którą wcześniej utworzyłeś. Członkowie grupy dystrybucyjnej będą monitowani o nową wersję przy następnym uruchomieniu aplikacji.
Wskazówka
Zapoznaj się z informacjami na temat sposobu korzystania z usługi App Center Distribute , aby uzyskać bardziej szczegółowe informacje na temat grup dystrybucyjnych itp. Chociaż można użyć usługi App Center Distribute do dystrybucji nowej wersji aplikacji bez dodawania jakiegokolwiek 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 przesyłania dalej metod delegata aplikacji do usług App Center
Usługa App Center używa swizzlingu, aby automatycznie przekazywać metody delegata aplikacji do usług App Center w celu poprawy integracji pakietu SDK. Istnieje możliwość konfliktów z bibliotekami osób trzecich lub z samym delegatem aplikacji. W takim przypadku możesz wyłączyć przesyłanie delegatów aplikacji App Center dla wszystkich usług App Center, wykonując poniższe kroki:
- Otwórz plik Info.plist projektu.
- Dodaj
AppCenterAppDelegateForwarderEnabledklucz i ustaw wartość na0. Czynność wyłącza przekazywanie delegata aplikacji dla wszystkich usług App Center. - Dodaj
OpenUrlwywołanie zwrotne wAppDelegate.cspliku.
public override bool OpenUrl(UIApplication application, NSUrl url, string sourceApplication, NSObject annotation)
{
Distribute.OpenUrl(url);
return true;
}