Android GCM spolupracující s RESTful službou rubrika: Návrh

6 Michal Vyšinský
položil/-a 7.9.2014

Zdravím,
dělám na Android aplikaci pro sledování buildů na CircleCI, která bude využívat GCM na notifikace o změně stavu buildu (success/fail atd.). CircleCI má jednoduché REST api, pomocí kterého načítám data přímo z aplikace. Chci ale při určitém stavu poslat notifikaci do aplikace. Plánuji napsat jednoduchého démona/server, který se bude přes REST api dotazovat na změny. Taddy jsem se ale zadrhnul, myslím, že je celkem hloupost každých pár sekund posílat request z mého serveru a zatěžovat tak jak můj, tak server oné služby. Máte někdo z něčím takovým zkušenosti, nebo jak byste postupovali?

odkaz
9 Honza Břešťan
odpověděl/-a 7.9.2014

To dotazovani nemusi byt nakonec tak drahe, ne?

Pokud bych to chtel ale opravdu bez nej, nezbude nez pouzit jakekoliv push moznosti CircleCI. V dokumentaci jsem nasel jenom e-mail notifikace, coz sice neni nejsikovnejsi, ale pokud to nema jine push API a fakt nechci pollovat, slo by nastavit pro vsechny projekty notifikace na adresu, kde pobezi nejaky mail daemon, ktery z mailu vytaha potrebne info a udela z toho GCM notifikace. Slo by to pak ruzne zjednodusit - napr. dat maily jen do filesystemu a cist rovnou, ale i tak mi to prijde jako skrabat se levou rukou za pravym uchem. Jako simple reseni to ale muze stacit.

Jinak se CircleCI chlubi na webu "smart notifications" - integraci s nejakymi notifikacnimi systemy. Klidne bych nakopnul jejich support, jestli k tomu muzou rict vic nez dokumentace.

Komentáře

  • Michal Vyšinský : Mají možnost přidat k projektu webhook na jakoukoliv adresu. Když build doběhne, tak se tento webhook aktivuje - to by bylo jedno z řešení. Nicméně jsem se webhookům chtěl vyhnout, jelikož si je musí uživatel přidat sám do konfigurace. Na stáhnutí dat o projektech a buildech používám zatím API token, který si uživatel v aplikaci nastaví. 7.9.2014
  • Honza Břešťan : Mozna by to slo nejak globalne hooknout v circle.yml pod machine: post: - tam by pak asi slo zavesit uplne cokoliv. Ale tady uz fakt varim z vody, nemam nejmensi tuseni, jak pak dostat potrebne info o buildu a komu notifikace poslat. Muze to byt ale taky cesta. 7.9.2014
  • Michal Vyšinský : No hook (url) by vedl na můj server, kde bych request zpracoval. V těle požadavku je veškeré info o buildu, takže z implementačního hlediska by to bylo asi nejjednodušší. Po zpracování requestu by se za určitých podmínek rozeslaly notifikace na zařízení. 7.9.2014

Pro zobrazení všech 2 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.