Внедряване на един към един и групов чат в android

Разработвам приложение за Android, в което трябва да внедря съобщения в чата. Бих искал чат индивидуално или групов чат.

Но нямам идея как да започна. Моля, помогнете ми с тези неща. Всяка помощ ще бъде оценена.


person Community    schedule 07.01.2013    source източник


Отговори (2)


Един прост механизъм за чат ще има 2 основни функции

  1. Изпратете съобщението до сървъра (с информация за получателя)

  2. Получаване на съобщението от сървър (определен за моето потребителско име)

Първата стъпка е проста, можем да създадем уеб услуга, която ще приеме съобщението с допълнителна информация за получателя(ите). Можем да го създадем, като използваме всеки език от страната на сървъра.

Стъпка 2, която е извличането на съобщението от сървъра, може да се извърши с помощта на 2 техники, изтегляне на съобщението (използване на анкета) от сървъра или изпращане на съобщението от сървъра към телефон с Android

  1. Анкета: При това Android устройството ще продължи да осъществява достъп до сървъра след няколко секунди, за да провери дали има налично съобщение за потребителя. Това отново може да се приложи с помощта на проста асинхронна задача от страна на клиента, която ще продължи да извиква уеб услуга след да речем 2-3 секунди. Това е добре да се използва, ако планираме да активираме чат само когато потребителят има достъп до приложението (без известия като gmail или facebook), така че да можем да убием услугата за гласуване, когато не се използва (в противен случай тя ще изяде ресурси).

  2. Насочени известия: по-добър вариант е да използвате насочени известия. Android предоставя облачни съобщения на Google или GCM (http://developer.android.com/google/gcm/index.html), което ще помогне лесно да се постигне натискане от сървъра. В противен случай можете да опитате API на трета страна като urbanairship или pushwoosh в зависимост от вашите изисквания. Push известията ще помогнат на потребителя да получава съобщения дори когато не използва приложението.

Така че накратко, уеб услуга за получаване на съобщенията и механизъм за насочено уведомяване трябва да са достатъчни за внедряване на услуга за чат в android.

Малко за UrbanAirship

Използвах UA в един от моите проекти за насочени известия, тъй като трябваше да поддържам iOS и Android. Ако просто искате да поддържате Android, GCM също може да е добър вариант.

Връщайки се към UA, проверете това за примерен код и използване: https://docs.urbanairship.com/display/DOCS/Home

Начинът, по който работи е прост, когато някой инсталира приложението и е свързан с интернет, приложението се регистрира в услугата UA. Уникален код е посочен за всяко инсталирано приложение (това е времето, когато можете да заснемете потребителското име и уникалния код и да ги съхраните някъде във вашата DB). Next UA предоставя API, чрез който можете да изпратите съобщение до определен(и) получател(и), като използвате уникалните кодове, които са налични с UA. Тези съобщения могат да бъдат получени от приложението за Android и използвани според изискванията. Дори ако приложението не работи, можем да покажем известие точно както когато получим имейл или съобщение

person Kamal    schedule 07.01.2013
comment
Много добре обяснен Камал .. Можете ли да разработите стъпка 2 с някакъв код или връзки - person Aditya1510; 07.01.2013
comment
Благодаря, Камал.. Можеш ли да хвърлиш малко светлина върху средствата за насочени съобщения как да внедриш urbanship.. - person ; 07.01.2013
comment
Здравей, това, което обясни, е наистина полезно Камал. Имам само едно съмнение, надявам се, че можете да го разрешите, като отговорите. Според I know UA изпраща насочено известие за всички устройства, на които е инсталирано това приложение. Но в едно към едно насочено известие за чат трябва да се изпраща само до един конкретен споменат потребител. Как да постигнете това. Ако някой може да отговори на въпроса ми, наистина ще ми е от полза. Благодаря предварително - person newBie; 22.10.2013
comment
@Kamal Използвам FCM за известия, когато приложението не се използва, но какво ще стане, ако той е в разговор „един към един“ с някого или се провежда групов чат? За предпочитане ли е да се съгласувам само с FCM известия, или трябва да внедря нещо друго за това? По този начин може да се случи огромен брой разговори. Моля, предложете.. - person Ari; 27.10.2016

Можете да използвате съществуваща платформа като Scringo. Предоставя ви чат един на един, както и групов чат (както на клиента, така и на сървъра), както и услугата за насочени известия.

person hungary54    schedule 29.04.2013
comment
Връзката не работи, можете ли да я актуализирате? - person Phalgun; 12.10.2014