2016-09-26 52 views
6

Chcę opublikować wiele apków: jeden dla telefonów komórkowych i innych androidtv w obrębie tej samej aplikacji. Zgodnie Publishing Multiple APKs with Different Filters istnieją tylko cztery wyróżniające filtrów w tej samej aplikacji:Publikowanie wielu apek z różnymi filtrami dla urządzeń przenośnych i TV

Obecnie Google Play pozwala publikować wiele plików APK dla samej aplikacji tylko wtedy, gdy każdy APK przewiduje różne filtry oparte na następujących konfiguracjach:

  • formaty kompresji tekstur OpenGL

  • Przekątna (i ewentualnie gęstość ekran)

  • poziom API

  • Architektura CPU (ABI)

Wszystkie pozostałe filtry działają tak jak zwykle, ale te cztery to tylko filtry, które umożliwiają odróżnienie jednego pliku APK od innego w obrębie tego samego zgłoszenia o nazwie w Google Play. Na przykład nie można opublikować wielu plików APK dla tej samej aplikacji, jeśli pliki APK różnią się tylko od siebie pod warunkiem, że urządzenie ma aparat fotograficzny.

I uważa się odróżnić od poziomu API i rozmiarów ekranu, ale wydaje się, że nakładanie:

  1. poziom API (MinSDK) dla androidtv aplikację utrzymuje się w zakresie 21 i aplikacji mobilnej w temperaturze 16. Istnieje więc nakładanie się poziomów API (21 i więcej).

  2. Rozmiar ekranu telewizora z Androidem może pokrywać się z ekranem tabletu: Na przykład. Modele common high-definition TV display resolutions to 720p, 1080i i 1080p. Rozdzielczość Samsung nexus to 720 x 1280.

boję gdybym publikować androidtv apk z wyższej wersji, może zastąpić aplikację mobilną na tablecie z poziomu API> = 21 i rozmiaru ekranu 720x1280 że kwalifikuje także dla wielkości tv aplikacja układu.

Jak zatem wyraźnie rozróżnić te dwa apki, używając różnych filtrów w manifeście aplikacji?

UPDATE

już dodane Leanback, funkcję w androidtv aplikacji oczywisty

<manifest> 
    <uses-feature android:name="android.software.leanback" 
     android:required="true" /> 
    ... 
</manifest> 

widzę 42 obsługiwanych urządzeń do androidtv apk (nie można zobaczyć, które urządzeń) i 10791 dla mobilnego urządzenia apk i łącznie 10832 wszystkich urządzeń obsługiwanych dla całej aplikacji.

10791 + 42 = 10833

więc nadal istnieje możliwość 1 (10833 - 10832 = 1) urządzenie z powodu której wyświetlany jest ostrzeżenie nakładających.

ostrzeżenie pokrywają

enter image description here

androidtv apk

enter image description here

mobile apk

enter image description here

całkowite urządzenia

enter image description here

Nie sądzę nakładających się komunikat z powodu androidtv apk będącego super zestaw mobilnego apk jak wspomniano w jednym z komentarzy, patrząc na liczbę obsługiwanych urządzeń dla androidtv który jest znacznie mniej.

Ponieważ istnieje tylko jedno możliwe zachodzące na siebie urządzenie, opublikuję je, ale chciałbym wiedzieć, które urządzenia nakładają się na oba apki.

Odpowiedz

4

Istnieje "funkcja", która jest przeznaczona do kierowania na Android TV. Możesz zobaczyć instrukcje w docs. Ale po prostu musisz tylko określić, że używa on funkcji leanback, jak poniżej.

<manifest> 
    <uses-feature android:name="android.software.leanback" 
     android:required="true" /> 
    ... 
</manifest> 

To zapewni, że każde urządzenie TV działa Leanback dostanie swój APK (można ustawić wymagany = false jeśli używasz jednego APK). Uważam, że wszystkie oficjalne telewizory z Androidem używają tej funkcji. Możliwe, że Leanback może być na urządzeniu innym niż telewizor, ale w takim przypadku wszystkie jego aplikacje będą wyświetlane jako aplikacje telewizyjne.

Istnieje kilka innych funkcji, które można wyłączyć/włączyć w celu kierowania na Androida TV, można przejrzeć release checklist, aby uzyskać więcej informacji (w szczególności this section).

Należy zwrócić uwagę na kilka nakładających się urządzeń, które mogą spełniać zarówno pakiet APK dla urządzeń przenośnych, jak i telewizyjnych. Po rozmowie z przedstawicielem w zespole Gra Konsola polecili ten sposób, aby dostać się wokół niego:

Jeśli chodzi o multi-apk scenariusz, gdzie trzeba urządzeń nakładających się - tak, Android TV APK zawsze trzeba mieć wyższy kod wersji.Istnieje kilka opcji, które mogą pomóc w rozwiązaniu tego problemu:

  1. Możesz ręcznie zamalować 2 nakładające się urządzenia. Spowoduje to natychmiastowe rozwiązanie problemu z nakładającymi się pakietami APK, jednak jeśli nowe urządzenia zostaną wydane w przyszłości, które kwalifikują się do obu pakietów APK, ponownie napotkasz problem.

  2. Użyj schematu kodu wersji dla pakietu APK Android TV, który jest znacznie wyższy niż plik APK urządzenia przenośnego. Na przykład Twój APK w telewizji może być istniejącym kodem wersji + 100000 lub 100808, a APK urządzenia przenośnego pozostaje na poziomie 838. W tym scenariuszu możesz publikować pliki APK urządzeń przenośnych do kodu wersji 100808 bez konieczności aktualizowania pakietu APK Android TV. każde pchnięcie. Rozwiązałoby to również wszelkie problemy z pakietami APK Android TV w wersji alfa/beta.

Jego odpowiedź jest również objęte w sekcji „Przypisywanie kodów wersja” this doc.

+0

Dodałem funkcję Leanback w manifeście, ale widzę ostrzeżenie dla nakładających się urządzeń w konsoli. Dokładny komunikat: "Niektóre urządzenia mogą uruchamiać wiele plików APK. W takim scenariuszu urządzenie otrzyma plik APK z wyższym kodem wersji." – random

+1

Zgadza się, ale zasadniczo komunikat ten mówi, że pakiet APK dla Androida TV to superkompaktowy pakiet APK dla urządzeń przenośnych, ale sklep z grami jest nadal wystarczająco inteligentny, by wiedzieć, że plik APK Android TV jest bardziej szczegółowy. Powinieneś ustawić required = true na APK telewizora. Szczegółowe zasady znajdują się w sekcji [rules for multiple apks] (https://developer.android.com/google/play/publishing/multiple-apks.html). Ten dokument zaleca zawsze publikowanie pliku APK Android TV z wyższym kodem wersji, aby mieć pewność, że jeśli telewizor ma odchylenie, ZAWSZE wybierze pakiet APK w wersji leanback. –

+0

czy to oznacza, że ​​będę musiał opublikować apk androidtv z przyrostowym kodem wersji za każdym razem, gdy publikuję apk aplikacji mobilnej, mimo że nie mam żadnych zmian w kodzie androidtv? Czy w takim przypadku użytkownicy otrzymają powiadomienie o aktualizacji dla androidtv? – random