1. Skąd aplikacja bierze przewodnik
Adres pliku XMLTV może pochodzić z trzech miejsc. Aplikacja sprawdza je w tej kolejności:
- Z nagłówka listy. Wiele playlist M3U ma w pierwszej linii wpis
url-tvglubx-tvg-urlz adresem przewodnika. Jeśli tak jest, nie musisz nic wpisywać - przewodnik pobierze się sam po otwarciu listy. Kafelek listy na ekranie głównym pokazuje wtedy odznakę EPG auto. - Z adresu wpisanego przy liście. Przy dodawaniu lub edycji listy jest pole „Adres EPG (XMLTV)". Jeśli je wypełnisz, ma pierwszeństwo przed nagłówkiem. Odznaka na kafelku: EPG własne.
- Z domyślnego adresu w ustawieniach. W Ustawieniach można wpisać jeden adres przewodnika dla wszystkich list, które nie mają własnego. Przy konkretnej liście można też zaznaczyć „Użyj domyślnego EPG", żeby zignorować adres z jej nagłówka.
Na liście kanałów, w nagłówku, aplikacja pisze wprost, z którego źródła korzysta: „Przewodnik z listy dostawcy", „Przewodnik z wpisanego adresu" albo „Przewodnik z ustawień aplikacji". Gdy coś nie działa, to pierwsze miejsce, w które warto spojrzeć.
2. Obsługiwane formaty pliku
Aplikacja przyjmuje XMLTV jako zwykły plik .xml oraz skompresowany
.xml.gz. Kompresja jest rozpoznawana po treści, nie po rozszerzeniu, więc
adres bez końcówki .gz też zadziała, jeśli serwer wysyła gzip.
Nieobsługiwane: archiwa .xz, .zip
i .7z. Jeśli dostawca udostępnia przewodnik tylko w takiej postaci, zapytaj go
o wersję .xml lub .gz - większość paneli ma obie.
Z pliku aplikacja odczytuje: identyfikatory i nazwy kanałów, logotypy stacji, a dla każdej audycji czas rozpoczęcia i zakończenia, tytuł, opis, kategorię, rok produkcji i oznaczenie wiekowe, jeśli dostawca je podaje.
Godziny w XMLTV powinny mieć przesunięcie strefy czasowej, np.
20260904200000 +0200. Jeśli plik podaje godziny bez strefy, aplikacja
traktuje je jako czas lokalny urządzenia - przy przewodniku z innej strefy audycje
będą wtedy przesunięte.
3. Jak kanały z listy są łączone z przewodnikiem
Playlista i przewodnik to dwa osobne pliki, często z dwóch różnych źródeł. Żeby wiedzieć, który program należy do którego kanału, aplikacja próbuje trzech reguł, po kolei:
- Identyfikator - atrybut
tvg-idkanału w playliście musi zgadzać się zidkanału w XMLTV. To najpewniejsza metoda i tak powinna działać każda porządna lista. - Nazwa - jeśli identyfikatora nie ma albo się nie zgadza, porównywana jest nazwa kanału (bez rozróżniania wielkości liter).
- Nazwa uproszczona - z obu nazw usuwane są oznaczenia jakości (HD, FHD, UHD, SD, 4K, PL), spacje i znaki specjalne. Dzięki temu „TVP 1 HD" w playliście trafia w „tvp1" w przewodniku.
Wystarczy trafienie jednej reguły. W nagłówku listy kanałów widać, ile audycji udało się wczytać - jeśli liczba jest bliska zeru przy dużej liście, identyfikatory i nazwy w obu plikach najpewniej do siebie nie pasują (patrz punkt 7).
Na telewizorze
Dopasowanie kanałów i import przewodnika działają tak samo na telefonie, tablecie, Android TV i Google TV. Różni się tylko sposób nawigacji - na TV przewodnik konkretnego kanału otwierasz z menu po przytrzymaniu OK, a szczegóły bieżącej audycji strzałką w górę w odtwarzaczu.
4. Gdzie przewodnik jest widoczny w aplikacji
- Lista kanałów - pod nazwą każdego kanału bieżąca audycja.
- Pasek w odtwarzaczu - godzina i tytuł, pasek postępu audycji, pod spodem „Następne".
- Szczegóły audycji - okno z pełnym opisem, godzinami i postępem.
- Program kanału - dni w zakładkach, wszystkie audycje z opisami, bieżąca wyróżniona. Przy audycjach przyszłych jest dzwonek: ustawia przypomnienie, a aplikacja przełączy kanał sama minutę przed startem. Zaplanowane audycje widać na ekranie głównym.
- Archiwum - jeśli dostawca udostępnia catch-up, z tego samego programu kanału uruchamia się audycje, które już się skończyły (patrz punkt 5).
5. Historia przewodnika i archiwum
Dostawcy zwykle wysyłają w pliku XMLTV tylko 2-3 dni wstecz. Archiwum (catch-up) sięga często dalej - 7 czy 14 dni - ale bez przewodnika z tych dni nie ma jak wybrać audycji do odtworzenia.
Dlatego IPappTV nie zastępuje przewodnika przy każdym pobraniu, tylko dokłada nowe dane do już zebranych. Przyszłość jest nadpisywana świeżą wersją (bo układ ramówki się zmienia), a przeszłość zostaje. Po kilku dniach używania aplikacja ma w pamięci więcej dni historii, niż dostawca kiedykolwiek wysłał naraz.
Ile dni trzymać, decyduje ustawienie „Liczba dni historii przewodnika". Wartość
Automatycznie bierze tyle, ile deklarują listy w atrybucie
catchup-days. W ustawieniach widać też, ile dni udało się dotąd zebrać,
i jest przycisk resetu, gdyby dane wyglądały na błędne.
Uwaga: odinstalowanie aplikacji albo „Wyczyść pamięć" w ustawieniach kasuje zebraną historię. Buduje się ona od nowa, po jednym dniu.
6. Odświeżanie: kiedy aplikacja pobiera nowy plik
Pliki XMLTV bywają duże - kilkadziesiąt megabajtów przed kompresją - a dostawcy ograniczają liczbę pobrań. Aplikacja robi trzy rzeczy, żeby nie pobierać niepotrzebnie:
- Pobieranie warunkowe. Przy każdym sprawdzeniu wysyła nagłówki
If-None-MatchiIf-Modified-Since. Jeśli plik u dostawcy się nie zmienił, serwer odpowiada 304 i nic nie jest przesyłane - przewodnik wczytuje się z pamięci w ułamku sekundy. - Odstęp odświeżania. Ustawienie „Odświeżanie list i EPG": 12, 24 lub 48 godzin. Rzadziej znaczy mniejsze ryzyko limitów u dostawcy.
- Odświeżanie w tle. Można włączyć aktualizację przewodnika, gdy aplikacja jest zamknięta. Na telefonie i tablecie działa tylko po Wi‑Fi, na telewizorze przy dowolnym połączeniu. Po wyłączeniu przewodnik i tak odświeża się przy otwartej aplikacji.
Ręczne odświeżenie jest zawsze pod ręką: „Odśwież listę i EPG" w menu listy kanałów.
7. Gdy przewodnik nie działa
Najczęstsze przyczyny, od najbardziej prawdopodobnej:
- Lista nie ma adresu przewodnika. W nagłówku listy kanałów widać „brak EPG". Sprawdź u dostawcy, czy udostępnia plik XMLTV, i wpisz adres przy liście albo w ustawieniach.
- Przewodnik się pobrał, ale kanały nie mają programu. Identyfikatory
tvg-idw liście nie pasują doidw XMLTV, a nazwy różnią się bardziej niż o „HD". Najskuteczniejsze rozwiązanie: przewodnik od tego samego dostawcy, co lista - wtedy identyfikatory są spójne. - Audycje są przesunięte o godzinę lub dwie. Plik ma godziny bez strefy czasowej albo w innej strefie. Do poprawienia po stronie źródła.
- „EPG - błąd wczytywania". Adres jest niedostępny, wymaga logowania,
które nie jest w adresie, albo plik jest w nieobsługiwanym formacie (np.
.xz). - Przewodnik wczytuje się za każdym razem od nowa. Serwer dostawcy nie obsługuje nagłówków warunkowych - aplikacja musi pobrać cały plik. Pomaga zwiększenie odstępu odświeżania do 48 h.
Jeśli nic z tego nie pasuje, napisz na kontakt@ipapptv.com - z nazwą listy (bez adresu i danych logowania) i tym, co pokazuje nagłówek listy kanałów.
8. Prywatność
Przewodnik jest pobierany bezpośrednio z adresu, który wskazałeś, i przechowywany wyłącznie na Twoim urządzeniu. Aplikacja nie ma własnego serwera i nie przesyła nigdzie informacji o tym, jakie listy, kanały czy programy oglądasz.
