Powered by
Übersetzen ![]() Hallo! Du bist nicht angemeldet. Wenn Du Dich anmeldest, dann kannst Du hier Kommentare verfassen
und Dich mit anderen Nutzern austauschen. Es werden keine
Daten von Dir ausspioniert und nach einer Stunde wirst Du
hier automatisch wieder abgemeldet. Internet (31) Technik (28) Programmierung (13) Linux (10) OpenWrt (5) Sonstiges (5) WLAN (5) Web Analytics (3) Weiterempfehlen « Push Notification » (20.11.2011 16:50)
In diesem Artikel über Push Notifications möchte ich einmal detailliert darauf eingehen, wie diese Push Notifications technisch funktionieren, was die Unterschiede zwischen Android, iPhone und Blackberry Push ist und warum Push Notification eigentlich häufig garkeine echte "Push" Methode sind. Was ist eine Push NotificationBeim Datentransfer hat man sich eine logische Unterscheidung ausgedacht. Da wäre zum Einen "Pull" (zu Deutsch "ziehen"), welches das aktive Abholen von Daten von einem Server durch den Client bzw. das Gerät beschreibt. Dazu gibt es dann eben das sog. "Push", bei welchem der Client die Daten nicht aktiv abholen muss, sondern einfach zugesendet bekommt.
Im Mobilfunk ist da als Pendant z.B. der SMS (Short Messaging Service oder auf dt. "Kurznachrichtendienst"), die als Nachricht so gut wie unmittelbar auf dem Mobiltelefon erscheint. Man muss nicht erst auf "Abholen" drücken, sondern die Nachricht erscheint direkt im Display. Früher, also zu Palm-Zeiten, hatte man noch das Problem, dass man E-Mails immer vom Server "abholen" musste. Durch die Einführung des Blackberry änderte sich dies. E-Mails landeten direkt und fast unmittelbar auf dem Telefon. Android und iPhone Telefone folgten dem Blackberry und Push E-Mail ist mittlerweile üblich geworden. Push-Verfahren im UMTS und GSM MobilfunknetzBevor Ich jetzt im Detail auf Android, iPhone und Blackberry eingehe, sollte ich einmal erläutern, wie Push Notification schon seit Mitte der 90er Jahre (seit Existenz von GSM) bereits einwandfrei funktioniert und die Basis für Telefonate und Textnachrichten (SMS) bildet. Der Hintergrund, den wir uns gleich im Detail ansehen werden, ist relativ einfach: Jemand ruft ein Mobiltelefon an, während dieses scheinbar aus ist. Das Telefon muss erkennen, dass ein Anruf eingeht, sich vollständig einschalten und das Gespräch bei Wunsch entgegennehmen können.
Egal ob komplett eingeschaltet oder nur im Stand By überwacht das Gerät bzw. der Funkchip permanent den sogenannten Paging Channel (kur PCH), über welchen das Netzwerk "Notifications" also zu Deutsch Benachrichtigungen versendet. Das sind also die Push Notifications im GSM/UMTS Mobilfunknetz. Ruft also nun ein Teilnehmer einen anderen an, so baut der anrufende Teilnehmer einen Kanal zur BTS auf und der BSC baut dann über die dahinterliegenden Systeme eine Verbindung zum BSC auf, der sich im Bereich des Zielteilnehmers befindet. Dieser erhält dann über den PCH die Information, dass er bitte einen Kanal aufbauen soll. Er baut dann einen SDCCH (Standalone Dedicated Control Channel) auf, identifiziert sich am Netz, bestätigt gegebenenfalls das Telefonat und baut dann mit dem FACCH später den Traffic Channel (TCH) auf.
Man sieht also, wei schnell, effizient und energieoptimiert Push Notifications im Mobilfunknetz versendet werden. Die Verfahren sind zudem erprobt und lange Jahre in der Praxis bewährt. Sie bilden die Grundlage für den SMS Versand, den wir heute kennen und der in wenigen Sekunden komplett vollzogen ist. Es handelt sich hierbei um "echtes" Push, da das Telefon hier nicht ständig und wechselndem Abstand Daten zur BTS senden muss. Bei einem eingehenden Anruf gehen die Daten direkt zum Telefon ohne dass dieses sich vorher melden muss. Blackberry's Push NotificationRIM, der Hersteller der Blackberry Geräte, war zwar nicht erste Anbieter, der Push Notification anbot, aber hat diese in gewisser Weise auf dem Massenmarkt durchgesetzt. Mittlerweile verwenden Blackberry Geräte Push Notification nicht nur für E-Mail sondern auch für den Blackberry Messenger, welcher es erlaubt Kurznachrichten zu versenden. Im Gegensatz zu SMS verwendet der Messenger hierfür die Verbindung zu seinem Blackberry Server. Blackberry verwendet für Push Notification mit WAP PAP 2.2 das Push Access Protocol (Nachweis: Technische Funktionen des Blackberry Push Service), welches auch als WAP Push bekannt ist. Bei der Entwicklung von WAP Push legten die Mobilfunkbetreiber große Hoffnung in diese Technologie. Da jedoch weder Microsoft noch Netscape damals Interesse daran hatten eine solche Push Technologie zu entwickeln, verschwand letztendlich nicht nur WAP Push sondern das komplette WAP Protokoll wieder und setzte sich nicht durch. Der Ein oder Andere mag jetzt schmunzeln oder lachen, aber es sei gesagt, dass das WAP PAP unter Verwendung von SMS über die SMS Zentrale SMSC technisch sehr effizient und energieschonend ist. Das Gerät kann sich in Standby versetzten und auf dem Paging Channel PCH auf die Push Notification in Form einer SMS warten. Der Nachteil hier ist, dass man einen Blackberry Server benötigt, der die Push Notification versendet und zudem auch beim Netzbetreiber eine Blackberry Option gebucht werden muss, damit entsprechende WAP Push Nachrichten empfangen werden können, was mit einem gewissen Entgelt verbunden ist, da der Netzbetreiber ja SMS versenden muss. Push Notification unter AndroidSeit Android Version 2.2 gibt es das sog. Google Android Cloud To Device Messaging Framework, welches als permanenter Dienst auf dem Gerät lauft. In regelmäßigen Abständen verbindet sich dieser Dienst mit dem Google Server und holt dort jede etwaige "Push Notification" ab. Man spricht bei dieser Implementierung von einem sog. Poller, also einer Applikation die permanent im Hintergrund läuft und in regelmäßigen Abständen eine Verbindung zum Server aufbaut, um Push Notifications abzuholen. Bei deisem Verfahren kann man keinenfalls ernsthaft von Push sprechen. Eher von einer Art Pseudo-Push, da zwar die Nachrichten auf dem Display des Benutzers automatisch erscheinen, aber nicht automatisch auf das Gerät gelangen. Abgesehen von der Tatsache, dass dies ein absolut energieineffizientes Verfahren für den Akku ist, unnötig Signale versendet und das Mobilfunknetz belastet, ist dieses Vefahren auch noch extrem langsam. Gleichwohl ich meine Artikel hier immer sachlich schreibe, möchte ich als persönliche Meinung noch hinzufügen, dass dieses Vorgehen so dermaßen unglaublich unglücklich ist, dass ich bis heute nicht verstanden habe, warum man ein solches Verfahren einsetzen sollte. Zu den genauen Folgen und der dadurch verzögerten Versandabfolge gehe ich weiter unten noch ein. Man kann aber sagen, dass es bei dem Cloud To Device Messaging Framework gegenüber WAP PAP bzw. WAP Push in der Entwicklung um einen klaren Rückschritt im Bezug auf Push Notifications handelt. Push Notification auf dem iPhoneNachdem ich von RIM und Google eine recht gute Anzahl an Informationen bzgl. Push Notification gefunden habe, wie Push Notifications dort funktioniert, musste ich bei Apple sehr lange suchen. Defakto gibt es keine detaillierte Beschreibung, wie Push Notifications im Detail funktionieren. Man muss die Einzelteile hier zusammensuchen und das habe ich einmal gemacht. Es handelt sich bei Apple's Push Verfahren ebenso um Pseudo-Push, da hier Long Polling über TCP Port 5223 mit permanent offen stehender verschlüsselter TCP Verbindung eingesetzt wird. Es besteht also dauerhaft eine Verbindung zum Apple Server, was in UMTS als voll paketorientiertem System noch halbwegs passabel geht, aber in GSM mit GPRS schon sehr auf die Batterie schlägt. Weswegen ich zudem las und selber bestätigen kann, dass im GRPS Apple Push Notifications sehr langsam, verzögert oder gar nicht erscheinen. Der Vorteil bei diesem Verfahren ist, dass - im Gegensatz zum Google Push Notification Polling - der Overhead für neue Verbindungen entfällt und die TCP Pakete entsprechend sofort zum Gerät gelangen. Das Gerät kann jedoch nicht vollständig in den Standby Modus gehen, da es permanent einen Datenkanal benötigt. Das Apple Push Verfahren ist ein bisschen geschickter als das Google Push Verfahren, schlägt nichts desto trotz genauso auf das Mobilfunknetz, verbraucht im Vergleich zu normalen Telefon unglaublich viel Strom und benötigt deutlich intensivere Sendekapazitäten. Versanddauer einer Push Notification nach VerfahrenBevor ich detailliert darauf eingehen möchte, warum Google und Apple sich gegen die gängigen Verfahren in Mobilfunknetzen für ihre exzessiven Verfahren mit Pseudo-Push entschieden haben, führe ich einmal die zweite Kehrseite der Medaillie auf und zeige, wie lange die Push Nachrichten im Schnitt brauchen, bis diese Ihren Empfänger erreichen getestet habe ich hier Push Notifications direkt von den Anbietern zum Gerät und auch zwischen Mobilfunknetzen hin- und her, wobei ich Vodafone, T-Mobile und O2 verwendet habe.
Die Laufzeiten beim iPhone hängen stark davon ab, ob man im GSM/GPRS oder UMTS Netzwerk unterwegs ist und ich habe hier einfach einmal einen Mittelwert genommen. Immer ausgehend vom Quellsignal, also dem Dienst, der die Push Notification beauftragt hat. Android hat hier am schlechtesten abgeschnitten, gleichwohl es hier immer davon abhängt, wie gut man gerade den Zeitpunkt des Pollings erwischt. Wie bereits eingangs erwähnt schlägt das Mobilfunknetz mit seinen eingebauten Singalisierungmethoden bzw. "eingebauten Push Notifications" die Push Notification Implementierung von Google und Apple bei Weitem. Da stellt sich dem neutralen Beobachter die Frage, wieso Google und Apple dann eben solche Pseudo-Push Verfahren einsetzen und nicht einfach analog RIM auf den Mobilfunkstandard GSM und UMTS setzen. Anrufsignalisierung mit iPhone und Android Push nicht möglichBei solche Reaktionszeiten von größer 30 Sekunden erklärt sich auch von selbst, warum VoIP Applikationen wie Skype sowohl auf dem iPhone als auch auf Android Geräten kein Push für eingehende Anrufe verwenden. Es wäre schlicht und einfach sinnlos: 30 Sekunden entspricht etwa 5 Freizeichen, da jedes eine Sekunde braucht und danach etwa 5 weitere Sekunden pause sind. Noch dazu würde dann nach 30 Sekunden es beim Teilnehmer überhaupt erst klingeln. Das entspricht einer Telefonie-Qualität, die selbst die Dame vom Amt wahrscheinlich besser geboten hätte. Skype hat sich deshalb auch lange durchringen müssen, um schlussendlich eine Version herauszubringen, die einen Hintergrunddienst hat, der im Endeffekt durchgehend eine aktive Verbindung hält - also eben kein Push. Gründe für Pseudo-Push von Push NotificationsBeschäftigen wir uns also einmal mit den Gründen, warum man Pseudo-Push Verfahren einsetzen sollte anstelle von gängigen Push-Verfahren im GSM und UMTS, die ja dort bereits existieren und etabliert sind. Betrachtet man die Geräteklassen und die technischen Ausstattungen, dann stellt man auch schnell fest, dass z.B. der iPod, das iPad und so einige Android Geräte nur mit WLAN ausgestattet sind und daher garkeine GSM oder UMTS Chipsätze an Bord haben. Im Angesicht der massiven Nachteile der Pseudo-Push Methoden gegenüber dem gängigen Standard Push-Verfahren im Mobilfunk hätte man hier jedoch getrost zwei Methoden implementieren können. Ein weiterer Grund ist mit Sicherheit wirtschaftlicher Natur. Netzbetreiber wollen für SMS, Telefonate und eine Blackberry Option vom Teilenehmer Geld sehen. Möchte man die Limitierung des Netzbetreibers umgehen und den Endnutzern am "Netzbetreiber vorbei" solche Push-Dienste anzubieten. Das macht dann in der Wertschöpfungskette Einen weniger. Gleichwohl ich nicht bei Google und Apple hineinschauen kann, wird dies wohl eines der größten Gründe gewesen sein. Dies bedeutet aber eben auch, dass aufgrund der enormen Zusatzbelastung der Netze die Netzbetreiber in den Ausbau eben jener investieren müssen. D.h. solch kleine Implementierungen wie eben diese Pseudo-Push Dienste, die die Netze enorm beanspruchen ist der Leidtragende der Netzbetreiber und dadurch auch dessen Kunde. Denn selbst jener, der garkein Smartphone besitzt, muss durch seine Entgelte den dafür nötigen Ausbau mittragen. Die Diskussion über Netzneutralität hat also auch mit solchen Fehlimplementierungen wie Pseudo-Push Diensten zu tun. Darüber mehr im Detail in folgendem Abschnitt. Pseudo-Push Notifications und Ihre Negativfolgen
Der normale Endnutzer eines Smartphones zahlt zusätzlich Datenverbindungen für Pseudo-Push Nachrichten, gleichwohl er vielleicht überhaupt garkeine Nachrichten erhält. Er zahlt also beim Netzbetreiber für Nichts. Bei einem solchen "Verseuchen" der Mobilfunknetze, wird verständlich wieso insbesondere Mobilfunknetzbetreiber das Thema Netzneutralität ansprechen. Selbstverständlich möchte der Netzbetreiber zum Sichern seines Netzbetriebes den Pseudo-Push Datenverkehr möglichst gering halten, um die Kapazitäten für "echte" Datenverbindungen, Textnachrichten über SMS und Sprachtelefonie frei zu halten. Im Zuge dessen ist es dann verständlich, dass Google sich auf die Seite der Netzneutralisten schlägt. Da das jetzt jedoch zu sehr vom sachlichen abschweift, habe ich mir überlegt zum Thema Push Notification mit einem persönlichen Kommentar abzuschließen. Abschließender Kommentar zu Push NotificationsSelbstverständlich ist es schön, E-Mails direkt auf das Telefon zu bekommen, für Bilder von Freunden keine 0,39 € pro MMS bezahlen zu müssen, ständig über Facebook-Neuigkeiten informiert und von der Tagesschau auf aktuellem Stand gehalten zu werden. Aber zu welchem Preis? Diesen Komfort aus dem Hause Google und Apple liefert man uns wirtschaftlich auf Kosten der Mobilfunknetzbetreiber, die hier als Geknechtete mitlaufen müssen, um nicht Gefahr laufen zu müssen hier Einbußen gegenüber Konkurrenten hinnehmen zu müssen. Im Gegenzug wird massiv ausgebaut und das geht auf Kosten der Umwelt. Mutter Natur muss hier einen sehr hohen Preis für einen sehr kleinen Komfort bezahlen. Einmal mehr zeigt dies auch, wie weit Umweltbelange nach Hinten rücken müssen, wenn es um wirtschaftliche Vorteile geht. Sowohl Google als auch Apple verfügen über genug Experten und sollten sich ihrem umweltschädlichen Verhalten bewusst sein. Hier scheint der finanzielle Anreiz größer gewesen zu sein, aber auch die Netzbetreiber wie die Telekom, Vodafone, E-Plus oder O2 hätten rechtzeitig einlenken und effizientere Möglichkeiten bereitstellen können, wenn man sie nur danach gefragt hätte. Bei RIM scheint es mit den Blackberrys ja auch funktioniert zu haben. Wer also schnelle, zuverlässige und weniger umweltschädliche Push Notifications haben möchte, verwendet also entweder direkt SMS oder eben WAP PAP auf dem Blackberry. Technisch wäre es für jeden App Entwickler auch einfach möglich WAP PAP auf dem iPhone und Android in seiner App zu implementieren - das geht schon heute mit Android und iOS einfach so. Bücher zum Thema „Android Programmierung“ Es sind eine Reihe interessanter Android Programmierung-Bücher und Veröffentlichungen rund um das Thema „Android Programmierung“ erschienen, wozu unter
Anderem „Jetzt lerne ich Android: Der schnelle und einfache Einstieg in die Programmierung und Entwicklungsumgebung“ von Dirk Louis, erschienen bei
Markt und Technik für 29,95 €, zählt. Gut und empfehlenswert ist auch das 382-Seiten starke Buch „Android-Apps entwickeln: Ideal für Programmiereinsteiger geeignet (Galileo Computing)“ von Uwe Post (erschienen bei Galileo Computing). Der Autor Uwe Post bietet ein paar sehr hilfreiche Details zum Thema Android Programmierung in seinem Buch, welches mit einem Preis von 24,90 € auch noch recht erschwinglich für ein Android Programmierung-Buch ist. Wenn es um Android Programmierung-Wissen geht sollte das Buch
„Android 3: Apps entwickeln mit dem Android SDK (Galileo Computing)“ ebenfalls nicht ungenannt bleiben. Thomas Künneth hat hier viele gute Informationen
über Android Programmierung festgehalten. „Android 3: Apps entwickeln mit dem Android SDK (Galileo Computing)“ wird
durch Galileo Computing herausgegeben, kostet
34,90 € und umfasst insgesamt 419
äußerst informative Seiten. Gleichwohl hier im Artikel Push Notification und auch in anderen Artikeln zahlreiche Informationen über Android Programmierung zu finden sind, empfiehlt sich immer ein Blick auf aktuelle Buchveröffentlichungen, da natürlich auch im Bereich Android Programmierung sich die Dinge mit der Zeit ändern. Besonders empfehlen kann ich das Lesen auf dem Amazon Kindle, welches eine besonders angenehme Möglichkeit ist, Android Programmierung-Bücher unterwegs zu lesen. 53 Besucher haben auch das gelesen 45 Besucher haben auch das gelesen 19 Besucher haben auch das gelesen 19 Besucher haben auch das gelesen 7 Besucher haben auch das gelesen 7 Besucher haben auch das gelesen Du musst Dich lediglich mit deinem Benutzer über Facebook anmelden,
um hier Kommentare schreiben zu können.
» Mit Facebook anmelden. Diese Website wird im Rechenzentrum von GoDaddy.com in Amsterdam betrieben. Telefon +49 2241 955 98 60 oder E-Mail Kontakt. Das Kammerath Network Website System ist unter der Mozilla Public License 1.1 veröffentlicht. Diese Website wurde von Jan Kammerath entwickelt und ist
in Ihren Bestandteilen somit teilweise Eigentum von Jan
Kammerath. Sie besteht jedoch auch aus Teilen, die unter der
Open Source Lizenzen veröffentlicht wurden. Die Familie Kammerath besitzt
zudem E-Mail Adressen unter dieser Domain und wenn Du auch ein Kammerath bist, dann kannst Du Dich gerne melden und vielleicht bekommst Du
dann auch eine E-Mail Adresse bei Kammerath.net oder Kammerath.com.
Wenn Du Dich fragst, woher der Name Kammerath kommt, dann
können selbst die besten Ahnenforscher Dir dies nicht so richtig
beantworten, denn Kammerath ist schon ein sehr spezieller
Nachname. |