Server für GCM und Verständnisfrage

  • 10 Antworten
  • Neuester Beitrag
Diskutiere Server für GCM und Verständnisfrage im Android App Entwicklung im Bereich Betriebssysteme & Apps.
T

toomuchcoffeeman

Ambitioniertes Mitglied
Hallo,

ich würde gerne Notifications in meine App einbinden. Dazu habe ich mich ein wenig auf deloper.android.com und in diversen Blogs herumgetrieben.

Allerdings blieben für mich noch 2 Fragen offen.

1) Meine App arbeitet mit Accounts. Ich kann serverseitig also schon mal den Benutzer identifizieren. Nun möchte ich gerne die Notifications nicht an meine App, sondern nur bestimmte Accounts schicken.

Habe ich das richtig verstanden, dass jeder meiner Nutzer, unter einer unterschiedlichen RegistrationID gelistet ist? Ich könnte also zu einem Useraccount die RegistrationID mit ablegen und dann bestimmte Usern eine Notification schicken?

(Ist hoffentlich verständlich, worauf ich hinaus will :-D)

2) In der von Google beschriebenen Demoapp GCM Demo Application | Android Developers stehen als Requirements gewisse Voraussetzungen an den Web-Server.
Nun finde ich kaum andere Informationen über die Umsetzung der server-seitigen Komponente. Und zu allem Überfluss geben viele Hoster kaum Infos raus, was mit ihren Servern machbar ist. Daher weiß ich momentan auch nicht, bei welchem Hoster sich der Server für Android mieten lässt.

Ich möchte (zumindest zu Beginn) einen möglichst günstigen WebServer. Es geht mir vorerst nur darum, das System kennen und verstehen zu lernen. Falls sich mein Vorhaben umsetzen lässt, könnte man ja immer noch ein paar Euro mehr in die Hand nehmen.

Habt Ihr weiterführende Infos, wie sich die serverseitige Komponente für Notifications umsetzen lässt und bei welchen Hostern man das preisgünstig machen kann?

Vielen Dank und beste Grüße,
Thomas
 
S

swordi

Lexikon
also
1) ja jeder app user meldet sich beim app start einfach bei GCM an, erhält eine ID von Google, die schickst du dann zu deinem server und kannst jeden dann identifieren

2) nutze doch einfach google app engine. kostet für deinen gebrauch nichts und bietet alles, was du dafür benötigst. push integration in deine app in einem tag ohne vorwissen sicher schaffbar.
 
T

toomuchcoffeeman

Ambitioniertes Mitglied
Okay, meine App wird installiert, eine RegistrationID wird vergeben. Diese kann ich auslesen, wenn die App mit meinem Server kommuniziert. Während der Registrierung als User lege ich die RegID mit in der Usertabelle (oder wo auch immer) ab. Wenn der User mir nun über die App zu verstehen gibt "Informiere mich bitte, wenn Ereignis X eintritt", speichere ich dieses in der DB. Tritt Ereignis X ein, kann ich die Usertabelle nach Usern, die informiert werden wollen durchsuchen, und anhand der RegID nur diesen Usern eine Notfication schicken. Das ließe sich umsetzen? Oder wird die RegID bei jedem Start vergeben? (weil Du schreibst "bei app start" - ich vermute aber, die meinst erstmaliger Start?)

Sorry, will nur sicher gehen, dass ich die Arbeit nicht umsonst investiere. :)

Die Google App Enginge war mir bisher kein Begriff, das werde ich mir mal ansehen. Wenn ich Dich richtig verstehe kann ich den reinen Notification-Dienst dahin auslagern? Meine Datenbank würde ich nur ungern da in die Cloud schmeissen ... (auch wenn ich nicht sicher sein kann, dass mein Hoster die nicht auch in der Cloud speichert ;-))
 
S

swordi

Lexikon
ja beim ersten start wird eine id angefordert. diese nutzt du dann solange der user die app installiert hat.


du hast deine db bei einem hoster liegen? aber google willst net vertrauen ? irgendwie widersprüchlich oder ? kannst aber sich auch von deinem backend über app engine dann die notifications verschicken. aber warum das ganze an 2 orten liegen lassen ?
 
T

toomuchcoffeeman

Ambitioniertes Mitglied
Hi,

erst einmal vielen Dank noch mal für die Bestätigung. Damit weiß ich also, dass es keine vergebene Liebesmüh ist :)

Das Misstrauen hege ich nicht Google gegenüber, sondern der Cloud :)
Aber Du hast recht. Das auf zwei Orte zu verteilen ist nicht so der Hit. Ich schaue mir das mal an und treffe da eine Entscheidung, sobald es akut wird. Vorerst geht es ja mal darum die Optionen azuklopfen.
 
S

swordi

Lexikon
was genau meinst du mit cloud ?

eine cloud ist ein speicherplatz der im internet zu erreichen ist. ob das jetzt auf servern von google liegt oder auf servern von deinem hoster macht absolut keinen unterschied.
 
T

toomuchcoffeeman

Ambitioniertes Mitglied
Nein, bei meinem Hoster ist der Rechner bekannt, auf dem meine Daten gespeichert sind. Das ist in der Cloud nicht gewährleistet. Datenschutztechnisch macht es für mich sehr wohl einen Unterschied, ob mir bekannt ist, wo meine Daten liegen (und auch sensible Daten anderer) und wer "rein theoretisch" Zugriff darauf hat.

Bei der Cloud sind es theoretisch hunderte unterschiedliche psysikalische Speicherorte.
 
S

swordi

Lexikon
verstehe net ganz wo da jetzt der unterschied ist.

woher weißt du wo die server von deinem hoster stehen ? der kann doch auch ein rechenzentrum in der schweiz haben oder in skandinavien
 
ChrisiBoy

ChrisiBoy

Erfahrenes Mitglied
Also ich verstehe deine sorgen Jetzt nicht so.... (Solange es nicht Syrien oder NKR ist wo das Internet jederzeit "unterbrochen" werden kann) macht es eigentlich nicht viel Unterschied. Wenn du den Hostern nicht traust hoste die Dateien doch am Heim PC ;)

Sent from my GT-I9100 using Android-Hilfe.de App
 
T

toomuchcoffeeman

Ambitioniertes Mitglied
Ja, ihr versteht das tatsächlich nicht :-D ;-)

Wenn es für euch keinen Unterschied macht, ob ihr wisst, an welchem Ort Eure (zum Teil sensiblen) Daten PHYSIKALISCH gespeichert sind ist es doch in Ordnung. Ich mag ganz sicher keine Diskussion vom Zaun brechen.

Unterm Strich kann es ja egal sein, in welchem Land er steht. Bei meinem Hoster habe ich einen fixen definierten Server, der zwar auch mal wechseln kann, aber grundsätzlich ist das die Ausnahme. In der Cloud sind meine Daten verteilt da "wo grad Platz ist" ... das definiert die Cloud doch und macht Sinn für verteilte Anwendungen, nicht aber für Daten.

Wie gesagt, jedem seine Meinung und bloss keine Diskussion. Ich habe nicht gesagt, dass es "besser" ist, sondern, dass es mir "lieber" ist. :)
 
S

swordi

Lexikon
ja brauchen wir e nicht drüber diskutieren.

ich gehe nur davon aus, dass du auch bei deinem hoster net unbedingt weißt wo die daten tatsächlich liegen. aber wahrscheinlich eher als bei google. das kann schon sein ja
 
Ähnliche Themen - Server für GCM und Verständnisfrage Antworten Datum
4
Ähnliche Themen
TCP Server mit Java