Ich versuche, Google Cloud Messaging in meiner Anwendung zu implementieren. Dennoch kann ich nicht herausfinden, warum ich nicht die richtige Nachricht auf meinem Telefon erhalte. Mein Server sendet eine Nachricht, der GCM-Server antwortet darauf und sendet eine Nachricht zurück an mein Telefon, die wie folgt aussieht
{\"multicast_id\":8186678237008516542,\"success\":1,\"failure\":0,\"canonical_ids\":0,\"results\":[{\"message_id\":\"0:1356727074650189%12aaaeccf9fd7ecd\"}]}"
Ich denke, das bedeutet, dass ich eine Nachricht erhalte, das Problem ist, dass meine App nur Nullwerte anzeigt. Ich bin mit dem Browser-Api-Schlüssel jetzt und erhalten diese Ergebnisse, aber ich habe versucht, Server-Schlüssel zu verwenden (die theoretisch mehr geeignet für meine Bedürfnisse ist), aber ich bekomme Fehler 401.
Für den Empfang der Nachricht verwende ich einen Rundfunkempfänger
public void onReceive(Context context, Intent intent){
String newMessage = intent.getExtras().getString(EXTRA_MESSAGE);}
EXTRA_MESSAGE = Nachricht
Dies ist der Code, den ich auf meinem Server verwende.
$fields = array(
'registration_ids' => $registatoin_ids,
'data' => $message,
);
$headers = array(
'Authorization: key=' . GOOGLE_API_KEY,
'Content-Type: application/json'
);
// Open connection
$ch = curl_init();
// Set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Disabling SSL Certificate support temporarly
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
Weiß jemand, was das Problem sein könnte?