Google Cloud Messaging

  • 5 Antworten
  • Letztes Antwortdatum
S

seaside

Neues Mitglied
0
Hallo zusammen,

ich bin gerade dabei eine App zu entwickeln, bei der mehrere Smartphones Daten austauschen müssen. Mein Plan sah eigentlich vor Google Cloud Messaging (CCS) zu nutzen. Aber wenn ich das jetzt richtig verstanden habe funktioniert das nicht für mehrere Smartphones.

Kennt einer von euch vielleicht eine Alternative oder hat sonst einen Tipp oder ein hilfreiches Tutorial für mich wie ich am besten meine Smartphones an einen Server anbinde?
 
Sonningen guten Tag,

bei der mehrere Smartphones Daten austauschen müssen.
Was für Daten? Wie aktuell? usw?

Ich schmeiße jetzt einfach mal Sockets und REST-Web Service in den Raum ;)

mfg. Dagobert
 
Danke, für die schnelle Antwort.

Also meine App soll so eine Art Stadtführer App werden, die Smartphones sollen die ganze Zeit ihre Positionen austauschen (ca. alle 2 Minuten). Während der Stadtführung werden Spiele gespielt. Die Spielstände sollen zentral gespeichert werden, so dass die anderen Smartphones diese bei Bedarf abrufen können...

Ich bin noch ein absoluter Neuling in der Netzwerkprogrammierung, aber ich werde mir das mal anschauen...
 
Das sollte aber mit GCM machbar sein.

Du brauchst natürlich noch einen Serverteil.
prinzip sieht dann so aus:

Vorhanden sind handy A B C und D und Server S

A schickt seine Position an S, S wiederum schickt eine Cloud Message an alle anderen Telefone B C und D verarbeiten dann diese nachricht und wissen dann wo sich A aufhält.

Natürlich wäre auch Rest und Webservice machbar, aber dann müsstest du alle paar Sekunden (oder Minuten oder Stunden) den Server abfragen ob neue Daten vorhanden sind. Vorallem wenn keine Da sind wäre das unnötige batterie und Datenverschwendung.

GCM, macht zwar im Prinzip das selbe (also nachfragen ob neue Daten vorhanden sind) allerdings Energie und Datenoptimiert, sprich mehrere Anwendungen können sich sozusagen eine Anfrage teilen. Und nicht jede Anwendung muss selbst andauernd nachfragen. Ansonsten hast du im zweifelsfall 60 Anwendungen die 1 mal Pro minute aktualisiert werden so ungünstig gelegt, das jeder sekunde eine davon eine Abfrage rauschickt.
Desweiteren kümmert sich GCM auch darum, dass die nachrichten später ankommen wenn gerade keine Verbindung besteht usw. Google nimmt einem da sehr viel Arbeit ab.

Die beste Doku dafür ist immer noch von Google selbst:
Google Cloud Messaging for Android | Android Developers
 
Meinst du den Http GCM Server oder den Cloud Connection Server (XMPP)?
Ich habe mir die Samples von Google zum GCMServer und GCMClient angeschaut.

Hast du vielleicht irgendwo ein Beispiel, wie ich Daten von der App an den Server schicken kann und der Server diese weiterleitet an die Cloud?
 
Beispiel hab ich leider nicht.
Aber du musst nur gucken wie du Nachrichten an deine Apps verschickt.

Du musst das komplett getrennt sehen.
Einfach Nachricht empfangen vom Telefon die kannst du dann beliebig verarbeiten je nachdem was deine App macht und in dieser Verarbeitung schickst du dann irgendwann die Nachricht an den GCM der diese dann weiterleitet.

Hab ich selbst noch nie in der Praxis eingesetzt daher leider kein beispiel
 
Zurück
Oben Unten