Push Notifications

  • 4 Antworten
  • Letztes Antwortdatum
M

MaikB85

Gast
Hallo

Ich möchte mir ganz gerne eine Android App erstellen mit der ich die Technik meines Aquariums steuern kann. Ich bin noch in der Anfangsphase und überlege wie ich was am Besten realisieren kann.

Das Aquarium selber wird über ein Arduino MEGA 2560 microcontroller gesteuert welcher von mir programmiert wurde. Dieser soll nun ins Netzwerk eingebunden werden und dann halt über Smartphone oder Tablet gesteuert werden können.

Zusatzlich möchte ich gerne Benachrichtigungen an alle von mir registrierten Geräten schicken falls irgendwelche Störungen auftreten, z.B. Wassertemperatur hat Grenzwert überschritten.

Ich habe mich ein bisschen informiert und bin beim Google Cloud Messaging hängen geblieben. Ich würde praktisch von dem Arduino eine Nachricht an den GCM Server schicken und dieser schickt eine push Nachricht an meine Android Geräte.

Jetzt zu meinen Fragen:
Muss dabei ein Service von meiner App im Hintergrund laufen haben um auf Push Nachrichten reagieren zu können?
Wie sieht es aus wenn die app von anderen Leuten benutzt werden würde mit ihren eigenen Steuerungen. Wird die nachricht dann auch nur and deren Android Geräte verschickt?

Wäre super wenn da jemand ein wenig licht ins dunkle für mich bringen könnte bevor ich mich jetzt auf den falschen Weg begebe.

Gruß Maik
 
Muss dabei ein Service von meiner App im Hintergrund laufen haben um auf Push Nachrichten reagieren zu können?

Das macht das Androidsystem von alleine. Du musst nur einen BroadcastReceiver schreiben. Der wird aktiviert sobald eine PushNachricht für Dich eintrifft.

siehe tutorial auf den AndroidDevSeiten


Wie sieht es aus wenn die app von anderen Leuten benutzt werden würde mit ihren eigenen Steuerungen. Wird die nachricht dann auch nur and deren Android Geräte verschickt?

Naja das kann man so schon schreiben/programmieren. Hierbei wäre es wichtig das Handy (google cloud id) und die Aquariumsteuerung miteinander zu verknüpfen. Da brauchst du noch einen Server der als Vermittlungsstelle fungiert. (eigener Server oder AppEngine)
 
Danke das hilft mir schonmal weiter. Der arduino Server kann ja nur nachrichten an die clients verschicken die er kennt oder? Also er brauch ja die id. Oder ist es auch moglich eine nachricht ohne bestimmten empfanger zu verschicken und alle würden die empfangen
 
Bei GCM wird eine ewig-lange ID erstellt. Diese musst du irgendwie mit einer verknüpfung zum gerät hochladen.
Am besten also das der User ein Benutzernamen (oder nur Passwort) angibt. Dieses speicherst du auf deinem Server in der DB.
[id] + [gcmId] + [uId]
1 + ljk2390h89vehr + ersterUser
2 + lkfoiwj2309490 + zweiterUser
[...]
Wenn jetzt ein User eine GCM bekommen soll, dann schaust du in der Datenbank wie der user heißt, holst dir die gcmID und schickst das an den GCM server. (Er pusht dann zum device).

Wenn du an alle schicken willst, dann schickst du eben ALLE gcmId's zum GCM-Server. Dann schickt dieser an alle Devices...

Gruß
 
Ah ok. Hab mir das gestern nochmal durchgelesen mit dem gcm. Der Server der eine Nachricht schicken muss brauch ja zwingend eine Ziel id. Von daher ist es ja gar nicht möglich eine Nachricht an dem Server unbekannte Geräte zu schicken. Dann sollte ja alles so klappen wie ich vor habe!
Danke nochmal!

Gruß Maik
 

Ähnliche Themen

Mr-Fisch
Antworten
0
Aufrufe
506
Mr-Fisch
Mr-Fisch
AnnaBauer21
Antworten
0
Aufrufe
487
AnnaBauer21
AnnaBauer21
Zurück
Oben Unten