Kierowanie na urządzenia umożliwia dostarczanie różnych wersji (np. rozdzielczości) tego samego komponentu na urządzenia na podstawie ich sprzętu. Możesz na przykład dostarczać zasoby o niskiej rozdzielczości na słabsze urządzenia, żeby gra działała szybciej, a zasoby o wyższej rozdzielczości – na urządzenia o lepszych parametrach, które poradzą sobie z grafiką wysokiej jakości. Wszystko to bez zwiększania rozmiaru gry, ponieważ na urządzenia użytkowników dostarczane są tylko niezbędne zasoby. Jest to rozwinięcie koncepcji pakietów zasobów w Play Asset Delivery. Jak się przekonasz, możesz zdefiniować kryteria grup (obecnie na podstawie pamięci RAM, konkretnych modeli urządzeń, dostępnych funkcji systemowych i systemu na chipie).
Plik konfiguracji kierowania na urządzenia
Aby rozpocząć korzystanie z kierowania na urządzenia, utwórz plik konfiguracji kierowania na urządzenia. Instrukcje znajdziesz w dokumentacji kierowania na urządzenia.
Używanie kierowania na urządzenia w przypadku pakietów komponentów
Po utworzeniu pliku konfiguracyjnego możesz podzielić pakiety komponentów według grup urządzeń.
Dokładne czynności różnią się w zależności od tego, czy kompilujesz aplikację za pomocą wtyczki Androida do obsługi Gradle czy wtyczki Unity w Google Play. Zanim przejdziesz dalej, wybierz konfigurację kompilacji:
Weź istniejące katalogi pakietów zasobów i dodaj do nazw odpowiednich folderów (jak opisano poniżej) postfiks #group_myCustomGroup1
, #group_myCustomGroup2
itp. Korzystając z pakietów zasobów w aplikacji, nie musisz adresować folderów za pomocą postfiksów (czyli postfiksy są automatycznie usuwane podczas procesu kompilacji).
Po wykonaniu poprzedniego kroku może to wyglądać tak:
...
.../asset-pack-name/src/main/assets/level#group_myCustomGroup1/
.../asset-pack-name/src/main/assets/level#group_myCustomGroup2/
...
W tym przykładzie odwołujesz się do asset-pack-name/assets/level/
bez żadnych przyrostków.
Urządzenia w grupie myCustomGroup1
otrzymają wszystkie zasoby z grupy level#group_myCustomGroup1/
, a urządzenia w grupie myCustomGroup2
– wszystkie zasoby z grupy level#group_myCustomGroup2/
.
Urządzenia, które nie należą do użytkowników myCustomGroup1
ani myCustomGroup2
, otrzymają pusty pakiet asset-pack-name
.
Dzieje się tak, ponieważ urządzenia, które nie pasują do żadnej grupy urządzeń, otrzymują domyślny wariant pakietu zasobów, który zawiera wszystko, co znajduje się w folderze level#group_other
lub poza katalogiem z #group_suffix
.