Sisällys
Mikä on UnifiedPush?
Normaalisti Android-järjestelmät käyttävät reaaliaikaisten push-ilmoitusten vastaanottamiseen Googlen Firebase Cloud Messaging -palvelua. Tämä systeemi on kehitetty akunsäästön takia, ainakin hyväntahtoisesti ajatellen. Karvalakkimallin vaihtoehto olisi toteuttaa jokaisessa sovelluksessa oma tarkkailu ilmoituksille. Tähän todennäköisimmät vaihtoehdot ovat joko ajoittainen ilmoitusten tarkistus palvelimilta, tai pysyvän yhteyden pitäminen auki kyseisiin palvelimiin. Kun nykyälypuhelimen käyttäjällä on todennäköisesti asennettuna usein toistakymmentä eri ilmoituksia vastaanottavaa sovellusta, näiden erillisten ilmoitusten hakujen virrankulutus nousee äkkiä suureksi, ja akku tyhjenee nopeasti.
Lisäksi nyky-Android on todella vastahakoinen antamaan sovellusten toimia taustalla, ja syykin on sama akunkesto, edelleen sinisin silmin katsellen. Samalla iso G saa kätevästi dataa ihmisten elämästä, kun kaikki tieto pikaviesteistä pitsan toimituksiin kulkee heidän palvelimiensa kautta.
Yksityisyyttään arvostaville tämä on hieman harmillista, koska esimerkiksi avoimen lähdekoodin viestisovellusten kuten Element (Matrix) vaativat reaaliaikaisiin ilmoituksiin edelleen isojen firmojen välikäden. Vaikka suurin osa nykysovelluksista toimiikin siten, että ilmoituspalvelun kautta välitetään ainoastaan tieto uudesta ilmoituksesta ilman varsinaista sisältöä, voi siitäkin päätellä jo yhtä ja toista - IP-osoitteen kautta käyttäjän sijainnin, vastaanottavan sovelluksen, ilmoituksen ajankohdan, ilmoitusten määrän jne. Näistä data-analyytikot voivat keksiä kaikenlaista kivaa mainosten kohdentamiseksi.
Applen laitteissa vastaavana välikätenä toimii Apple, ja valitettavasti iOS:lle ei ole varteenotettavaa vaihtoehtoa olemassa.
UnifiedPush taas on avoin protokolla, joka astuu tämän kaupallisen ilmoitusmallin tilalle. Systeemi toimii siten, että asiakaslaiteella on yksi sovellus, joka vastaanottaa ilmoituksia sovellusten puolesta erilliseltä palvelimelta. Näitä ovat esimerkiksi tässä artikkelissa käytetty ntfy ja Gotify, lisäksi juuri Talkiin liittyen on olemassa Nextcloudin omissa artikkeleissaan käyttämä Sunup.
UnifiedPushia tukevat sovellukset, kuten Talk, tunnistavat että tällainen ilmoitusjakelija on puhelimella asennettuna, ja kertovat omalle palvelimelleen (tässä tapauksessa Pilviboksin Nextcloud), että toimitappas minulle ilmoitukset tämän palvelimen kautta Googlen sijasta.
Tässä esimerkissä Pilviboksin palvelimet ilmoittavat siis ntfy-palvelimelle uniikin ID:n omaavalle kanavalle, että nyt olisi luettavaa Talkissa, josta käyttäjän puhelimelle asennettu ntfy taas tunnistaa ilmoituksen ja ilmoittaa puolestaan puhelimelle asennetulle Talk-sovellukselle. Sovellus sitten hakee Pilviboksilta ilmoituksen sisällön ja näyttää ilmoituksen.
Vaatimukset
- Nextcloudin palvelin vähintään versiossa 34, ts. kaikki Pilviboksin Nextcloudit sopivat
- Talk Android-sovelluksen versio 24.0.2 (sekä F-Droid että Play kauppa ovat jo tässä versiossa)
- UnifiedPush-sovellus asennettuna sekä siihen liittyvä palvelin
- Android-sovellus: https://f-droid.org/en/packages/io.heckel.ntfy/ (löytyy myös Play-kaupasta)
- Pilviboksi ylläpitää avointa ntfy-palvelinta osoitteessa https://push.pilviboksi.fi
- Voit käyttää myös muita ylläpidettyjä palvelimia, kuten ntfyn oma lippulaivainstanssi ntfy.sh tai pyörittää omaasi
Esimerkissä käytetään ntfy:ä ja Pilviboksin palvelinta, mutta mikä tahansa palvelu pitäisi toimia samalla periaatteella
Käyttöönotto
Asenna ensin ntfy-sovellus ja vaihda oletuspalvelimen URL haluaamasi:

Avaa sen jälkeen Talk-sovelluksen asetukset ja laita sieltä Enable UnifiedPush -asetus päälle:

Huom! voit joutua käynnistämään sovelluksen uudelleen, jotta UnifiedPush-jakelija havaitaan
Myönnä Talkille lisäksi lupa näyttää ilmoituksia sekä oikeus toimia taustalla ilman rajoituksia. Taustatoimintarajoituksen poistaminen vaihtelee puhelinmalleittain.
Varmista vielä ntfy-sovelluksesta, että Talk rekisteröityi siihen vastaanottamaan ilmoituksia:

Ja valmista tuli! Nyt voit viesteillä Talkilla luovuttamatta ilmoitusten tietoja mainostajien käyttöön! UnifiedPush-tuki Talkissa on loistava askel Nextcloudilta oikeaan suuntaan. Mielenkiinnolla odotetaan, saadaanko Files-sovellukseen myös UP-tuki, tällä hetkellä sen ilmoitukset kulkevat edelleen Googlen palvelimien kautta.
Apple-käyttäjät valitettavasti ovat toistaiseksi jumissa Applen kanssa, iOS ei ilmeisesti salli vastaavaa ilmoituspalvelua.
Tämän kakun pohja on toki karrelle palanut Googlen siirtyessä yhä enemmän ja enemmän suljetun ympäristön suuntaan aiemmin niin avoimesta Androidista. Vielä voi kuitenkin taistella tuulimyllyjä vastaan, onhan meillä edelleen mm. /e/OS, GrapheneOS ja LineageOS vaihtoehtona kaupan Androidille.
Palvelinpään asetukset
Loppuun vielä tiedoksi myös omaa Nextcloudiaan ylläpitäville, UnifiedPush vaatii Nextcloud-palvelimelta Web Push -tuen, joka on lisätty versiossa 34. Päivitettyäsi palvelimen, löydät Web Push -asetuksen admin-käyttäjällä osiosta Ylläpitäjän asetukset -> Ilmoitukset:

Asetus on oletuksena pois päältä, ja Talk-sovelluksen UnifiedPush-kytkin ei näy ennen asetuksen päälle laittamista. Asetuksen ilmaantuminen voi vaatia Talk-sovelluksen lopettamisen ja uudelleenkäynnistyksen.