Wie man Beluga oder WhatsApp wie Messaging-System in Android 2.1 implementieren

8

Ich versuche eine Nachrichten App in meiner Android App zu entwickeln. Die Nachricht wird wie WhatsApp und Beluga sein. Ich googelte es und fand C2DM Android 2.2 kann die Push-Benachrichtigungen an das Gerät senden. Dies ist jedoch nicht für Android 2.1 verfügbar. Weiß jemand, wie whatsapp die Benachrichtigungen für 2.1-Geräte sendet?

    
angelokh 27.04.2011, 09:17
quelle

3 Antworten

13

Für Android: Whatsapp baut auf C2DM auf und wenn die App geöffnet wird, öffnet es eine XMPP-Verbindung zu ihrem Dienst, um die Nachrichten sofort zu übermitteln. Sie könnten auch MQTT als Protokoll verwenden, um den Batterieverbrauch zu minimieren. Das ist es im Grunde.

Bearbeiten: Ich habe mehr gelernt, Facebook verwendet MQTT in seiner Messaging App. WhatsApp baut auf XMPP mit eigenen Erweiterungen auf. Ihre Serverseite läuft auf Ejabbard (XMPP-Implementierung in Erlang). Ссылка

Auf Pre 2.1-Geräten WhatsApp hält wahrscheinlich eine Verbindung zu ihren XMPP-Servern im Hintergrund offen, aber das ist nicht wirklich gut für die Akkulaufzeit.

    
TjerkW 19.12.2011, 08:51
quelle
2

C2DM wird jetzt durch GCM (Google Cloud Messaging) ersetzt. Sie können es verwenden, um die Benachrichtigungen an Ihre App zu übermitteln. Für den Nachrichtenaustausch sollte man sich auf Protokolle wie xmpp (whatsapp), mqtt (Facebook Messenger), mtproto (Telegramm) usw. Verlassen.

Wenn Sie sich mit GCM vertraut machen möchten. Probieren Sie dieses Tutorial von appsrox aus - Erstellen Sie eine Instant Messaging-App mit Google Cloud Messaging (GCM)

Sie verwenden GCM auch für die Nachrichtenübermittlung. Es ist nicht für die Produktion geeignet, aber es ist eine hervorragende Ressource für Leute, die eine Instant Messaging Android App entwickeln möchten.

    
Sojan V Jose 02.10.2014 19:37
quelle
0

Ich weiß nicht, welche genaue Technologie in WhatsApp verwendet wird. Wenn ich jedoch Benachrichtigungen implementieren soll, bei denen keine Push-Benachrichtigungen vom Betriebssystem unterstützt werden, kann ich zwei Dinge tun:

  1. Beantworten Sie alle x Sekunden einen Remote-Server und suchen Sie nach neuen Benachrichtigungen (dies ist die teurere Wahl).
  2. Führen Sie einen Hintergrunddienst aus, pflegen Sie eine Verbindung mit einem entfernten Server, was mir alle Benachrichtigungen, die empfangen werden sollen, pumpt (so wie meine eigene Push-Benachrichtigungsimplementierung).
thekindofme 28.04.2011 05:40
quelle