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?
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.
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.
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:
Tags und Links java android push-notification mobile