Android App mit GCM

A

AndrejEdd

Neues Mitglied
0
Hallo zusammen ich bin eine Android App am entwickeln und nun wäre sie fast fertig. Es fehlen nur noch die Push Notifications. Die Android app ist keine Offline App sondern es geht um eine Applikation mit welcher Freunde untereinander Spielen können.

Die App beinhalter die Spiele sowie die kommunikation zum externen Server. Auf dem Server läuft eine PHP Applikation welche eine Datenbankanbindung hat um die Benutzer, Freunde, Spiele sowie Spielresultat zu storen. Da ich nicht will das der Benutzer jedesmal die App aufmachen muss um zu Überprüfen ob ein Benutzer die Freundschaftsanfrage bestätigt hat, ob er das Spiel gewonnen oder verloren hat, wollte ich dies mit GCM regeln. Das GCM sollte von der PHP Applikation versendet werden bzw. die Nachricht sollte an das richtige Gerät gesendet werden, dafür wurde die Applikation auch geschrieben (nehme mal an das dies funktioniert). Nun habe ich gelesen das GCM deprecated ist und das man neu firebase verwendet, stimmt das? Muss ich wirklich Firebase verwenden? Sollte ich dies auch so implementieren oder sollte ich trotzdem das alte GCM verwenden?

Das eigendliche Problem ist nicht die Frage ob ich GCM oder Firebase verwende, sondern folgendes:

Ich habe im Netz mich erkundigt und ein Example herunter geladen und es auch getestet, dies scheint zu funktionieren (deshalb nehme ich an das die PHP Applikation funktioniert). Nun wollte ich dies genau gleich einfach in meine Applikation verwenden/einbinden jedoch funktionierte dies nicht.

Beim erstenmal verwenden der App muss man sich registrieren, da wird nur ein neue Benutzer in die DB angelegt.
Danach kann man sich einloggen (LoginActivity). Da wird folgendes aufgerufen:

Code:
String gcm_id = GCMRegistrar.getRegistrationId(getapplicationContext());
Die wird dann an den Server gesendet und im Backend sollte die gcm_id in die Datenbank gespeichert werden.
Jedoch bleibt gcm_id (null oder empty String, weiss es nicht mehr genau).

Sobald man sich dann eingelogt hat kommt man auf die MainActivity und dort wird folgendes gemacht.
Code:
GCMRegistrar.checkDevice(this);
GCMRegistrar.checkManifest(this);
registerReceiver(mHandleMessageReceiver, new IntentFilter(DISPLAY_MESSAGE_ACTION));
final String regId = GCMRrgistrar.getregistrationId(this);
if ("".equals(regId)) {
   GCMRegistrar.register(this, SENDER_ID);    // SENDER_ID ist vorhanden und kriege trotzdem beim debuggen ein undefined
} else {
   if (GCMRegistrar.isRegistredOnServer(this)) {
       Toast.makeText(getApplicationContext(), "Registred!", Toast,LENGTH_LONG).show();
   } else {
     registiser();
   }
}

Fehler ist also das man das Gerät nicht registrieren kann. Was habe ich falsch gemacht? Was muss ich beachten?
 
@swa00 heisst dies das ich das GCMRegistrar vergessen kann und mich dem neuen Widmen soll?
 
Bingo :)

Viel Erfolg
 

Ähnliche Themen

B
Antworten
4
Aufrufe
494
bb321
B
FabianDev
Antworten
5
Aufrufe
559
swa00
swa00
D
Antworten
23
Aufrufe
2.551
Data2006
D
Zurück
Oben Unten