Как да изпратите голям размер данни на съобщение (›10 KB) с помощта на Push известие до Android

Имам приложение за Android, което иска конкретен списък с данни на всеки 10 секунди. Размерът на отговора е по-голям от 10 kb. Но имам проблем с изтощаването на батерията с този вид архитектура. Така че си помислих, че би било по-разумно да внедря услуга за насочени известия, която да се задейства от сървъра всеки път, когато се задейства действие.

Докато извършвах проверка за осъществимост, открих, че размерът на GCM съобщение е ограничен до 4KB.

Как мога да изпълня изискванията си, като използвам насочено известие? или има ли друг вариант, който мога да разгледам?


person Sathya    schedule 24.03.2015    source източник
comment
Ако вашият полезен товар е твърде голям за съобщението, ще трябва да накарате клиента да поиска данните. След това насоченото съобщение се използва просто като „побутване“, за да се каже хей, има нови данни, отидете и ги вземете. Предполагам, че можете да опитате да „компресирате“ данните, за да намалите размера им, но това до голяма степен ще зависи от типа данни, които натискате. Може да е всичко: от минимизиране на съдържанието чрез премахване на всички бели интервали до нещо, което наподобява алгоритъма за „компресиране“, наличен в Unix системите, или комбинация от неща.   -  person MH.    schedule 24.03.2015


Отговори (1)


  1. Моля, изпратете насочено известие на устройството и изпратете произволен код, за да идентифицирате какво ще правите в това известие.

  2. След получаване на известие, моля, използвайте уеб услуга (API), за да получите отговора си от сървъра.

person Yogendra    schedule 24.03.2015
comment
Вече правя заявка за списъка и всеки път ще получавам отговор от сървъра. Основната функционалност, която искам да постигна тук, е да получа списъка от сървъра, без да го изисквам. - person Sathya; 24.03.2015
comment
Но целта на gcm е да се събуди към устройството. Не можете да изпращате големи данни в gcm. Така че трябва да следвате горния процес или друг, защото е посочен от Google. Сблъсках се със същия проблем, така че следвах същия процес. - person Yogendra; 24.03.2015