Czas wczytywania to nowy atrybut dostępny w narzędziu Android Performance Tuner. Pozwala on wykryć problemy z wydajnością związane z czasem wczytywania gry oraz wskazać sposoby poprawy wydajności. Dzięki temu można zwiększyć utrzymanie użytkowników i ich satysfakcję.
Dane o wpływie czasu wczytywania pomagają wykryć najważniejsze problemy z wydajnością. Są one klasyfikowane, aby ułatwić podjęcie odpowiednich działań. Informacje na poziomie modelu urządzenia i adnotacji do gry pozwalają znaleźć najlepsze rozwiązanie.
Integracja
W zależności od konfiguracji dostępne są 2 sposoby zintegrowania narzędzia Android Performance Tuner z czasem wczytywania: integracja standardowa lub za pomocą wtyczki Unity. Aby przeprowadzić integrację, postępuj zgodnie z instrukcjami na stronie dla deweloperów aplikacji na Androida.
Po jej zakończeniu, ale przed przesłaniem pakietu aplikacji do Konsoli Play i rozpoczęciem zbierania danych o czasie wczytywania zapoznaj się z tą listą kontrolną.
Lista kontrolna po integracji- Przejrzyj i w razie potrzeby zaktualizuj politykę prywatności aplikacji.
- Podaj parametry wierności i wszystkie poziomy jakości aplikacji. Wskazówki znajdziesz w tej dokumentacji:
- Zarejestruj adnotacje dotyczące wczytywania, aby określić czas wczytywania. Wskazówki znajdziesz w tej dokumentacji:
- Uruchom narzędzie do weryfikacji i użyj aplikacji do monitorowania, aby sprawdzić, czy otrzymujesz oczekiwane dane.
- Uruchom grę w trybie debugowania i sprawdź dane wyjściowe w narzędziu logcat lub aplikacji Tuning Fork Monitor.
- Sprawdź, czy Ty i inni inżynierowie macie dostęp do Android Vitals w Konsoli Play.
- Zanim opublikujesz grę dla szerszego grona użytkowników, opublikuj ją na ścieżce testu wewnętrznego, aby sprawdzić, czy dane są prawidłowo zbierane i wyświetlane na stronie Czas wczytywania (Jakość > Android Vitals > Wydajność > Czas wczytywania).
Podstawowe pojęcia związane z czasem wczytywania
Przed skorzystaniem ze strony Czas wczytywania (Jakość > Android Vitals > Wydajność > Czas wczytywania) ważne jest zdefiniowanie i zrozumienie ogólnych pojęć związanych z czasem wczytywania.
Definiowanie czasu wczytywania
Znaczenie terminu „czas wczytywania” różni się w zależności od dewelopera i firmy. Mogą oni definiować korzystny czas wczytywania na różne sposoby. Ważne, aby sprecyzować, czym jest czas wczytywania w odniesieniu do danej gry.
Czas wczytywania może być czasem, przez który wyświetlany jest pusty ekran, gdy użytkownik kliknie ikonę aplikacji, lub czasem, który mija do momentu wyświetlenia interaktywnego menu. Może to być czas między uruchomieniem aplikacji a rozpoczęciem rozgrywki lub też coś zupełnie innego.
Zdajemy sobie sprawę, że każdy deweloper i każda firma ma własne podejście do tej kwestii, dlatego Android Performance Tuner pozwala na elastyczne zdefiniowanie czasu wczytywania. Jeśli nie masz określonej dokładnej definicji czasu wczytywania, zacznij od momentu utworzenia procesu do interakcji użytkownika (np. gdy pojawi się menu) lub do rozpoczęcia rozgrywki.
Typy czasu wczytywania
Jest wiele różnych typów wczytywania zależnych od sytuacji (od pierwszego wczytywania po wczytywanie między poziomami). Zazwyczaj używamy definicji z Android Vitals. Wyróżniamy też jednak dodatkowe definicje, które skupiają się na sposobie zaprogramowania gry:
- Wczytywanie „na zimno”: uruchomienie „na zimno” oznacza uruchomienie aplikacji od zera (proces aplikacji nie jest w danym momencie uruchomiony). Uruchomienie „na zimno” może nastąpić na przykład wtedy, gdy użytkownik otwiera aplikację po raz pierwszy po ponownym uruchomieniu urządzenia. Ten typ stanowi największe wyzwanie pod względem skrócenia czasu uruchomienia, bo zarówno system, jak i aplikacja muszą przeprowadzić więcej procesów niż w przypadku innych stanów uruchomienia.
- Pierwsze wczytywanie: pierwsze wczytywanie to szczególny przypadek wczytywania „na zimno” i ma miejsce wtedy, gdy aplikacja jest uruchamiana po raz pierwszy na danym urządzeniu. Mogą mu towarzyszyć dodatkowe zadania, takie jak pobranie plików z sieci dystrybucji treści (CDN), skompilowanie shaderów czy wyodrębnienie plików z pakietu APK. Pierwsze wczytywanie może trwać znacznie dłużej niż kolejne wczytywania „na zimno”.
- Wczytywanie częściowo z pamięci i wczytywanie z pamięci: wczytywanie częściowo z pamięci i wczytywanie z pamięci ma miejsce wtedy, gdy proces aplikacji już istnieje i zostaje wysunięty na pierwszy plan, ale niektóre dane lub stany (albo większość z nich) muszą być wczytane lub utworzone ponownie.
- Wczytywanie między poziomami: wczytywanie między poziomami ma miejsce w momencie zmiany poziomu, mapy lub scenerii gry, gdy konieczne może być wczytanie dodatkowej zawartości.
Porzucenia i usuwanie danych
Odpowiednią liczbę klatek można z łatwością określić na podstawie badania opinii użytkowników i możliwości telefonów, jednak sprecyzowanie odpowiedniego czasu wczytywania jest już trudniejsze. Nie ma jednoznacznie dobrego lub złego czasu wczytywania. Dlatego uwzględniamy dane o porzucaniu sesji, aby przedstawić czas wczytywania w szerszym kontekście i pomóc określić, na co należy zwrócić uwagę.
Niski współczynnik porzuceń niekoniecznie oznacza, że użytkownicy są zadowoleni. Nawet jeśli użytkownik nie wyjdzie z gry, może być niezadowolony z jej wczytywania. Wysoki współczynnik porzuceń podczas wczytywania to negatywny znak, który wskazuje, że czas wczytywania jest prawdopodobnie za długi. Wyjście z gry przez użytkowników prowadzi do skrócenia czasu gry i zmniejszenia przychodów.
W związku z tym, że tak wiele danych jest powiązanych z porzucaniem, działaniem w tle lub wysuwaniem na pierwszy plan, zamiast skupiać się tylko na sesjach, które ostatecznie zostały zakończone, zalecamy skonfigurowanie integracji w taki sposób, aby dodawać adnotacje i usuwać dane, gdy aplikacja zmieni stan. Dzięki temu porzucone sesje będą rejestrowane.
Typowe przypadki użycia danych o czasie wczytywania
W zależności od potrzeb studia dane o czasie wczytywania w narzędziu Android Performance Tuner można wykorzystać na wiele różnych sposobów. Oto kilka typowych przypadków użycia:
- określanie najdłuższego dopuszczalnego czasu wczytywania,
- porównywanie obecnego czasu wczytywania z docelowym czasem wczytywania,
- określanie obszarów o nieoczekiwanie długim czasie wczytywania.
Rozwiń poniższe sekcje, aby wyświetlić instrukcje dotyczące każdego przypadku użycia.
Określanie dopuszczalnego czasu wczytywaniaWymagania wstępne
Zanim wykonasz poniższe czynności:
- Zintegruj grę z narzędziem Android Performance Tuner (więcej informacji znajdziesz na stronie dla deweloperów aplikacji na Androida).
- Przeczytaj sekcję Podstawowe pojęcia związane z czasem wczytywania powyżej.
- Zintegruj czas wczytywania z grą i zwróć przy tym szczególną uwagę na momenty rozpoczęcia i zatrzymania rejestrowania zdarzeń (więcej informacji znajdziesz na stronie dla deweloperów aplikacji na Androida).
- Opublikuj aplikację (najlepiej najpierw na ścieżce testu wewnętrznego) i zbierz dane (nie będziesz ich widzieć na stronie Czas wczytywania, dopóki ilość danych nie przekroczy minimalnego progu).
Gdy gra zbierze wystarczającą ilość danych, możesz określić jej dopuszczalny czas wczytywania. Aby to zrobić:
- Otwórz Konsolę Play i wejdź na stronę Czas wczytywania (Jakość > Android Vitals > Wydajność > Czas wczytywania).
- Za pomocą filtrów wybierz odpowiedni pakiet aplikacji lub plik APK oraz okres.
- Przejrzyj wykresy w sekcji „Skutki zdarzeń wczytywania według jego typu” dotyczące wszystkich typów wczytywania lub tylko tego typu, który Cię interesuje.
- Poszukaj na wykresie punktu, w którym porzucenie staje się zbyt wysokie. Może to być wyraźny punkt przegięcia lub punkt, w którym porzucenie związane z czasem wczytywania koliduje z celami biznesowymi (na przykład na poziomie 10%). Ten punkt to ostatni czas wczytywania, który jest akceptowalny przez większość użytkowników, zanim zaczną oni porzucać sesję. Musisz zadbać o to, aby większość zdarzeń wczytywania kończyła się przed tym punktem.
Wymagania wstępne
Zanim wykonasz poniższe czynności:
- Zintegruj grę z narzędziem Android Performance Tuner (więcej informacji znajdziesz na stronie dla deweloperów aplikacji na Androida).
- Przeczytaj sekcję Podstawowe pojęcia związane z czasem wczytywania powyżej.
- Zintegruj czas wczytywania z grą i zwróć przy tym szczególną uwagę na momenty rozpoczęcia i zatrzymania rejestrowania zdarzeń (więcej informacji znajdziesz na stronie dla deweloperów aplikacji na Androida).
- Opublikuj aplikację (najlepiej najpierw na ścieżce testu wewnętrznego) i zbierz dane (nie będziesz ich widzieć na stronie Czas wczytywania, dopóki ilość danych nie przekroczy minimalnego progu).
Gdy gra zbierze wystarczającą ilość danych, możesz porównać czas wczytywania z wartościami docelowymi. Aby to zrobić:
- Otwórz Konsolę Play i wejdź na stronę Czas wczytywania (Jakość > Android Vitals > Wydajność > Czas wczytywania).
- Za pomocą filtrów wybierz odpowiedni pakiet aplikacji lub plik APK oraz okres.
- Ustaw docelowy czas wczytywania jako wartość, która została określona jako dopuszczalny czas wczytywania.
- U góry strony wyświetl sekcję podsumowania, aby poznać ogólną wydajność i określić obszary, na których musisz się skupić.
-
Wyświetl wykres dla każdego typu wczytywania i oceń, czy satysfakcjonuje Cię odsetek zdarzeń wczytywania, które ładują się w docelowym czasie. Zauważ, że niebieska linia wzrasta tylko do 95% (ze względu na ewentualne sesje z bardzo długiego ogona). Jeśli okaże się, że mniej niż 90% zdarzeń wczytywania kończy się w docelowym czasie wczytywania, zastanów się, jakie działania możesz podjąć, aby skrócić czas (opisaliśmy je poniżej).
Wymagania wstępne
Zanim wykonasz poniższe czynności:
- Zintegruj grę z narzędziem Android Performance Tuner (więcej informacji znajdziesz na stronie dla deweloperów aplikacji na Androida).
- Przeczytaj sekcję Podstawowe pojęcia związane z czasem wczytywania powyżej.
- Zintegruj czas wczytywania z grą i zwróć przy tym szczególną uwagę na momenty rozpoczęcia i zatrzymania rejestrowania zdarzeń (więcej informacji znajdziesz na stronie dla deweloperów aplikacji na Androida).
- Opublikuj aplikację (najlepiej najpierw na ścieżce testu wewnętrznego) i zbierz dane (nie będziesz ich widzieć na stronie Czas wczytywania, dopóki ilość danych nie przekroczy minimalnego progu).
- Zdecyduj, na jakim typie wczytywania chcesz się skupić, i postaw kilka hipotez dotyczących potencjalnych przyczyn długiego czasu wczytywania. Oto kilka przykładowych:
- wolne działanie na niektórych popularnych urządzeniach,
- dłuższe wczytywanie konkretnych poziomów lub map,
- duże pliki pobierane z CDN.
Gdy gra zbierze wystarczającą ilość danych, możesz określić obszary o szczególnie długim czasie wczytywania. Aby to zrobić:
- Otwórz Konsolę Play i wejdź na stronę Czas wczytywania (Jakość > Android Vitals > Wydajność > Czas wczytywania).
- Za pomocą filtrów wybierz odpowiedni pakiet aplikacji lub plik APK oraz okres.
- Wybierz typ wczytywania.
- Przyjrzyj się kategorii „Model urządzenia”, aby sprawdzić, czy nie występuje problem z konkretnym urządzeniem. Jeśli tak, użyj programu profilującego, aby określić, czy można efektywniej wczytywać treści.
- Przyjrzyj się kategorii adnotacji, aby sprawdzić, czy w jednym z obszarów z adnotacjami nie wystąpił problem. Jeśli tak, rozwiązaniem może być wprowadzenie zmian w samej grze. Konieczna może być zmiana na konkretnym poziomie, w konkretnej mapie lub w określonej części rozgrywki.