Hirdetés

Új hozzászólás Aktív témák

  • Karma

    félisten

    válasz laslie92 #2519 üzenetére

    Egy értesítéseket fogadó alkalmazáshoz alapvetően három dolgot kell összekapcsolnod: a PHP-s webalkalmazásodat (továbbiakban webapp), a Google Cloud Messaging szolgáltatást (GCM), és az újdonsült Android alkalmazást (mobilapp).

    A folyamat nagy vonalakban így néz ki:
    1) A Google Developers Console-on regisztrálod magadat, és létrehozol egy azonosítót a webappnak (azaz a küldő félnek).

    2) A webappot kiegészíted két modullal:
    a) az egyik a felhasználókat, azon belül a telefonjaikat gyűjti egy adatbázisba (innen fogod tudni, hogy hova kell küldeni az értesítéseket), és ehhez nyújt valamilyen web service-t a mobilappnak;
    b) másrészt a tényleges küldést is a webappban kell megírnod: ha valaki kap egy új üzenetet, akkor meg kell nézni a DB-ben a hozzá tartozó telefont, és arra/azokra lőni egy üzenetet a GCM-en keresztül. Ez egyébként nem bonyolult, csak kell a webapp azonosítója, a címzett, meg a tartalom.

    3) Megírod a mobilappot.
    a) Nem árt, ha a push fogadáson túl van más funkciója is, de ez most mellékes.
    b) A mobilappnak regisztrálnia kell a GCM-hez (ez kód szempontjából egyszerűen, egy BroadcastReceiverrel és pár hívással megoldható). A GCM ad a telefonnak ad egy egyedi azonosítót, amit el kell juttatnod a 2a) pontban írt web service-en keresztül a szerverednek, hogy mostantól meg tudja címezni a telefont. A regisztrációnak egyébként illik minden alkalmazásinduláskor lefutnia, és az appnak frissítenie a szerveren a címét, mert változhat. Az se árt, ha közben belecsempészed a felhasználó nevét is.
    c) Meg kell írnod, hogy mi történjen, amikor jön egy értesítés, például felraknod egy értesítést az értesítési sávra, vagy ha fut a program, egy dialógust feldobni. Az Android semmit se csinál meg helyetted.

    És igazából ennyi.

    Vannak meglévő szolgáltatások, amivel a folyamat egyes részei felgyorsíthatóak/leegyszerűsíthetőek. Kettő jutott eszembe hirtelen, mert ezeket elég sűrűn használom: a PushBullet és az Azure Notification Hub.

    A PushBullet egy önálló alkalmazás és pushküldő szolgáltatás, amivel regisztráció után bármit lehet küldözgetni magadnak az eszközeid, szervereid között. Ha csinálsz a webappodhoz egy modult, ami össze tud kötni egy felhasználót egy PB fiókkal, akkor tudnak értesítéseket fogadni iOS-en, Androidon és asztali böngészőkben is - és akkor nem kell saját appot írnod.

    Az Azure Notification Hub meg a 2)-es pontot tudja lényegesen leegyszerűsíteni. Elvégzi az eszközök begyűjtését, karbantartását, és még a GCM-mel is beszél helyetted, cserébe használat alapon fizetni kell érte. De nagy tételben elég jó dolog.

    Azt te tudod, hogy a konzerv social networködet mennyire tudod módosítani kézzel, nem tudom megítélni azt se, mennyi elszántságod van hozzá. Azzal nyugodtan számolhatsz viszont, hogy egy ilyen fejlesztés hatszámjegyű tétel, ha valakit keresel hozzá.

    Egyébként ez milyen PHP motor? Több helyen láttam, de mindenhol már átírták benne a neveket, nem tudom mi az eredeti.

    “All nothings are not equal.”

Új hozzászólás Aktív témák