Menu Zamknij

(Darmowe) powiadomienia na iOS na podstawie API HTTP na przykładzie sprawdzania ważności biletu MPK z mobilnego nośnika Karty Krakowskiej

Zacznijmy od zdefiniowania problemu – w Krakowie posiadacze Karty Krakowskiej mogą korzystać z biletu na dwóch nośnikach – klasycznej karty zbliżeniowej (takiej jak KKM, albo plastikowa KK), albo w aplikacji mobilnej. I można by oczekiwać że aplikacja raczy przypomnieć że bilet się kończy. Ale najwyraźniej nie w Krakowie.

Zatem trzeba coś samemu wytworzyć. Zacząłem od próby napisania aplikacji na iPhona, ale nieco poległem – trochę to jak strzelanie z armaty na komara – wszak pobranie informacji o ważności biletu to najwyżej 2 strzały HTTP, obliczenie różnicy czasu i wysłanie powiadomienia. Alternatywa wydawałoby się pozostała jedna – skrypt na serwerze który wysyła powiadomienia przez Telegrama, albo inny komunikator obsługujący boty i posiadający przyjemne API – coś w rodzaju skryptu, który napisałem do crawlowania portalu JustJoinIT.

Szukając zupełnie innej rzeczy na iPhona – sposobu na dodanie skrótu łączenia się z VPN (przez natywnego klienta IPsec, nie z aplikacji typu NordVPN) przypomniałem sobie że przecież iOS od wersji 13 posiada aplikację Shortcuts w której można automatyzować czynności między innymi na podstawie wyniku pobierania treści z internetu czy skryptów SSH.

Wystarczyło teraz wystawić tylko proste API, które zwróci liczbę dni do końca ważności biletu i stworzyć automatyzację wyświetlającą ładne natywne powiadomienie. Zalążek projektu krakow-tickets-api wrzuciłem na githuba i zahostowałem w pokątnym miejscu na serwerze zabezpieczając się przez nieprzewidywalną ścieżkę. Docelowo API powinno obsługiwać hasło dostępu do samego siebie i parametry w postaci loginu i hasła do strony posiadającej właściwe dane – takie informacje także można przekazać przez Shortcuts.

Czas na programowanie graficzne. Aplikacja jest odinstalowywalna więc pewnie większość użytkowników się jej pozbyła po aktualizacji. Dostępna jest oczywiście w AppStore.

Kroki przedstawione powyżej raczej nie wymagają komentarza. Testować można klikając przycisk w prawym dolnym rogu. Teraz jeszcze tylko harmonogram – wschód słońca wydał mi się dobrym wyborem i można cieszyć się powiadomieniami.

Aplikacja działa całkowicie na telefonie więc możemy wyświetlać tyle natywnych powiadomień ile chcemy. A i zapytania do API mogą lecieć o ciekawsze i potencjalnie bardziej skomplikowane rzeczy niż liczba dni ważności biletu 🙂 Happy hacking!

Dodaj komentarz