Interner Serverfehler Gcm Forex


500 ist der HTTP-Fehlercode für internen Fehler. Das Senden einer Google Cloud Message für Chrome von der Google oauthplayground Website gibt dies für mich zurück: HTTP1.1 500 Interner Serverfehler Content-Länge: 52 X-xss-Schutz: 1 modeblock X-content-type-options: nosniff X-google - Cache-control: remote-fetch - content-encoding: gzip Server: GSE Grund: Interner Serverfehler über: HTTP1.1 GWA Cache-Steuerung: privat, max-age0 Datum: Mi, 15 Mai 2013 07:01:40 GMT X - frame-options: SAMEORIGIN Inhaltstyp: applicationjson charsetUTF-8 Gültig bis: Mi, 15 Mai 2013 07:01:40 GMT Ein interner Fehler ist aufgetreten. Dies deutet darauf hin, dass etwas auf der Google-Serverseite schief gelaufen ist (z. B. ein Backend funktioniert nicht oder Fehler im HTTP-Beitrag wie ein fehlendes Zugriffstoken). Im Wesentlichen gibt es etwas falsch auf Googles Seite der Dinge. Wenn man bedenkt, dass Google IO in ein paar Stunden anfangen wird, würde ich davon ausgehen, dass sie derzeit einige Änderungen vornehmen. Versuche es noch einmal in ein paar Stunden zu überprüfen. Einer der möglichen Gründe dafür ist, wenn die App, die Sie zum Testen verwenden, niemals im Chrome Web Store veröffentlicht wurde. Also, wenn du eine App lokal erstellt und in Chrome unverpackt zum Beispiel zum Beispiel geladen hast, wird es immer so ausfallen, weil GCM nicht weiß, wer die App besitzt. Wenn Sie die App im Store veröffentlichen, verwenden Sie das gleiche Google-Konto, das in der Api-Konsole verwendet wurde, um ein Projekt und ein Oauth-ClientIdclient-Geheimnis zu erstellen. Das GCM für Chrome funktioniert nur, wenn diese Google-Konten übereinstimmen. GCM überprüft den Besitzer einer App übereinstimmt den Besitzer eines Zugriffstokens, um sicherzustellen, dass niemand außer Besitzer einer App Nachrichten für sie veröffentlicht. Das Veröffentlichen der App im Web Store erstellt eine Verknüpfung zwischen einem Google-Konto und dem AppID, so dass es überprüft werden kann. Nun, sobald du eine Version deiner App veröffentlicht hast, kannst du das von Web Store generierte Magic-Token zum Manifest deiner lokalen App hinzufügen und modifyreloaddebug lokal fortsetzen und nun deine App korrekt für GCM registriert haben. Sehen Sie meine Antwort in Chrom-apps Gruppe für weitere Details dazu. Antwortete am 21. Mai 13 um 23:01 Ich habe auch den gleichen Fehler. Ich habe das gelöst, indem ich meine App verpacke und in Chrome Webstore hochgeladen habe. Dann benutze ich neue Kanal-ID und es funktioniert jetzt beantwortet 31. Mai 13 um 4:30 Ihre Antwort 2017 Stack Exchange, IncHTTP Connection Server Referenz Dieser Parameter identifiziert eine Gruppe von Nachrichten (zB mit Collapsekey: Updates Available), die zusammengebrochen werden können Nur die letzte Nachricht wird gesendet, wenn die Lieferung wieder aufgenommen werden kann. Dies soll vermeiden, zu viele der gleichen Nachrichten zu senden, wenn das Gerät wieder online kommt oder aktiv wird. Beachten Sie, dass es keine Garantie für die Reihenfolge gibt, in der Nachrichten gesendet werden. Hinweis: Es sind maximal 4 verschiedene Kollapsschlüssel erlaubt. Dies bedeutet, dass ein GCM-Verbindungsserver gleichzeitig 4 verschiedene Send-to-Sync-Nachrichten pro Client-App speichern kann. Wenn Sie diese Zahl überschreiten, gibt es keine Garantie, welche 4 Collapse-Tasten der GCM-Verbindungsserver behalten wird. Legt die Priorität der Nachricht fest. Gültige Werte sind normal und hoch. Bei iOS entsprechen diese APNs Priorität 5 und 10. Standardmäßig werden Benachrichtigungsnachrichten mit hoher Priorität gesendet und Datennachrichten werden mit normaler Priorität gesendet. Normale Priorität optimiert den Client-Akku-Verbrauch und sollte verwendet werden, es sei denn, sofortige Lieferung ist erforderlich. Bei Nachrichten mit normaler Priorität kann die App die Nachricht mit nicht spezifizierter Verzögerung empfangen. Wenn eine Nachricht mit hoher Priorität gesendet wird, wird sie sofort gesendet, und die App kann ein Schlafgerät wecken und eine Netzwerkverbindung zu Ihrem Server öffnen. Optional, JSON boolean Auf iOS, verwenden Sie dieses Feld, um Inhalte zu repräsentieren, die in der APNS-Payload verfügbar sind. Wenn eine Benachrichtigung oder Nachricht gesendet wird und diese auf true gesetzt ist. Eine inaktive Client-App ist erwacht. Auf Android wecken Datennachrichten die App standardmäßig. On Chrome, derzeit nicht unterstützt. Delaywhileidle Abgelehnt Wirksam 15. November 2016 Optional, JSON boolean Dieser Parameter ist veraltet. Nach dem 15. November 2016 wird es von GCM akzeptiert, aber ignoriert. Wenn dieser Parameter auf true gesetzt ist. Es bedeutet, dass die Nachricht nicht gesendet werden sollte, bis das Gerät aktiv wird. Der Standardwert ist falsch. Optional, JSON-Nummer Dieser Parameter gibt an, wie lange (in Sekunden) die Meldung im GCM-Speicher gehalten werden soll, wenn das Gerät offline ist. Die maximale Spieldauer beträgt 4 Wochen und der Standardwert beträgt 4 Wochen. Weitere Informationen finden Sie unter Festlegen der Lebensdauer einer Nachricht. Dieser Parameter gibt den Paketnamen der Anwendung an, in dem die Registrierungsmarken übereinstimmen müssen, um die Nachricht zu erhalten. Optional, JSON boolean Dieser Parameter, wenn auf true gesetzt. Ermöglicht es Entwicklern, eine Anfrage zu testen, ohne tatsächlich eine Nachricht zu senden. Der Standardwert ist falsch. Optional, JSON-Objekt Dieser Parameter gibt die benutzerdefinierten Schlüsselwertpaare der Nachrichten-Nutzdaten an. Zum Beispiel mit Daten:: Auf Android würde dies zu einer Absicht extra benannte Partitur mit dem String-Wert 3x1 führen. Auf iOS, wenn die Nachricht über APNS gesendet wird, stellt es die benutzerdefinierten Datenfelder dar. Wenn es über den GCM-Verbindungsserver gesendet wird, wäre es in der AppDelegate-Anwendung als Schlüsselwertwörterbuch dargestellt: didReceiveRemoteNotification. Der Schlüssel sollte kein reserviertes Wort sein (von oder irgendein Wort, das mit Google oder gcm beginnt). Verwenden Sie keine der in dieser Tabelle definierten Wörter (wie z. B. collapsekey). Werte in String-Typen werden empfohlen. Sie müssen Werte in Objekten oder anderen Nicht-String-Datentypen (z. B. Integer oder Booleans) in String umwandeln. Optional, JSON-Objekt Dieser Parameter gibt die vordefinierten, vom Benutzer sichtbaren Schlüsselwertpaare der Meldungs-Nutzlast an. Weitere Informationen finden Sie unter Benachrichtigungs-Payload-Unterstützung. Weitere Informationen über Benachrichtigungsnachrichten - und Datennachrichtenoptionen finden Sie unter Payload. Benachrichtigungs-Payload-Unterstützung In der folgenden Tabelle sind die vordefinierten Parameter aufgelistet, die für die Verwendung in Benachrichtigungsnachrichten verfügbar sind. Tabelle 2. Parameter für Benachrichtigungsnachrichten nach Plattform Dieser Parameter gibt die Schlüsselwertpaare der Nachrichten-Nutzdaten an. Es gibt keine Begrenzung für die Anzahl der Schlüsselwertparameter, aber es gibt eine Gesamtsignalgröße von 4kb. Zum Beispiel, in Android, data. score.3x1 würde in einer Absicht extra benannte Partitur mit dem String-Wert 3x1 führen. Der Schlüssel sollte kein reserviertes Wort sein (von oder irgendein Wort, das mit Google oder gcm beginnt). Verwenden Sie keine der in dieser Tabelle definierten Wörter (wie z. B. collapsekey). Interpretation einer nachgeschalteten Nachrichtenantwort Der App-Server sollte sowohl den Message-Response-Header als auch den Body auswerten, um die von GCM gesendete Nachrichtenantwort zu interpretieren. Die folgende Tabelle beschreibt die möglichen Antworten. Tabelle 4. Nachgeschaltete HTTP-Nachrichtenantwort-Header. Nachricht wurde erfolgreich verarbeitet. Der Antwortkörper enthält weitere Details über den Nachrichtenstatus, aber sein Format hängt davon ab, ob die Anfrage JSON oder Klartext war. Siehe Tabelle 5 für weitere Details. Gilt nur für JSON-Anfragen. Gibt an, dass die Anforderung nicht als JSON analysiert werden konnte oder wenn sie ungültige Felder enthielt (z. B. eine Zeichenfolge, bei der eine Nummer erwartet wurde). Der genaue Fehlergrund wird in der Antwort beschrieben und das Problem sollte angesprochen werden, bevor die Anfrage wiederholt werden kann. Es gab einen Fehler, der das Absenderkonto authentifiziert. Fehler im Bereich von 500-599 (z. B. 500 oder 503) zeigen an, dass im GCM-Verbindungsserver ein interner Fehler aufgetreten ist, während versucht wird, die Anforderung zu verarbeiten, oder dass der Server vorübergehend nicht verfügbar ist (z. B. wegen Timeouts). Absender muss sich später wiederholen, indem er jeden in der Antwort enthaltenen Retry-After-Header ehrt. Anwendungsserver müssen exponentielle Backoffs implementieren. In der folgenden Tabelle sind die Felder in einem nachgeschalteten Message Response Body (JSON) aufgelistet. Tabelle 5. Nachgeschalteter HTTP-Nachrichtenantwortkörper (JSON). Prüfen Sie, ob die Anforderung ein Registrierungs-Token enthält (in der Registrierung in einer Klartextnachricht oder im Feld "Registrierungen" in JSON). Ungültiges Registrierungs-Token Überprüfen Sie das Format des Registrierungs-Tokens, das Sie an den Server übergeben. Vergewissern Sie sich, dass es mit dem Registrierungs-Token übereinstimmt, das die Client-App von der Registrierung mit GCM erhält. Nicht abschneiden oder zusätzliche Zeichen hinzufügen Ein vorhandenes Registrierungs-Token kann in einer Reihe von Szenarien nicht mehr gültig sein, einschließlich: Wenn die Client-App mit GCM registriert wird. Wenn die Client-App automatisch nicht registriert ist, was passieren kann, wenn der Benutzer die Anwendung deinstalliert. Zum Beispiel, auf iOS, wenn der APNS Feedback Service das APNS-Token als ungültig gemeldet hat. Wenn das Registrierungs-Token abläuft (z. B. könnte Google beschließen, Registrierungs-Token zu aktualisieren, oder das APNS-Token ist für iOS-Geräte abgelaufen). Wenn die Client-App aktualisiert wird, ist die neue Version jedoch nicht für den Empfang von Nachrichten konfiguriert. Für alle diese Fälle, entfernen Sie dieses Registrierungs-Token vom App-Server und beenden Sie es, um Nachrichten zu senden. Invalid Paketname Stellen Sie sicher, dass die Nachricht an ein Registrierungs-Token adressiert wurde, dessen Paketname mit dem in der Anforderung übergebenen Wert übereinstimmt. Das Absenderkonto, das zum Senden einer Nachricht verwendet wurde, konnte nicht authentifiziert werden. Mögliche Ursachen sind: Autorisierungs-Header fehlt oder mit ungültiger Syntax in HTTP-Anfrage. Ungültige Projektnummer als Schlüssel verschickt. Schlüssel gültig aber mit GCM-Dienst deaktiviert. Die Anforderung wurde von einem Server ausgegeben, der in den Server Key IPs nicht aufgegeben wurde. Überprüfen Sie, ob das Token, das Sie in den Authentifizierungs-Header senden, der richtige Server-Schlüssel ist, der mit Ihrem Projekt verknüpft ist. Weitere Informationen finden Sie unter Überprüfen der Gültigkeit eines Serverschlüssels. Ab September 2016 können Sie mit der Registerkarte "Cloud Messaging" im Bedienfeld "Einstellungen" neue Server-Schlüssel nur in der Firebase-Konsole erstellen. Bestehende Projekte, die einen neuen Serverschlüssel erstellen müssen, können in die Firebase-Konsole importiert werden, ohne ihre vorhandene Konfiguration zu beeinflussen. Ein Registrierungs-Token ist an eine bestimmte Gruppe von Absendern gebunden. Wenn eine Client-App für GCM registriert ist, muss sie angeben, welche Absender Nachrichten senden dürfen. Sie sollten eine dieser Absender-IDs verwenden, wenn Sie Nachrichten an die Client-App senden. Wenn Sie zu einem anderen Absender wechseln, funktionieren die vorhandenen Registrierungs-Token nicht. Überprüfen Sie, ob die JSON-Nachricht korrekt formatiert ist und gültige Felder enthält (z. B. sicherstellen, dass der richtige Datentyp eingegangen ist). Meldung zu groß Überprüfen Sie, ob die Gesamtgröße der in einer Nachricht enthaltenen Nutzdaten die GCM-Grenzwerte nicht überschreitet: 4096 Byte für die meisten Nachrichten oder 2048 Bytes bei Nachrichten zu Themen oder Benachrichtigungsmeldungen auf iOS. Dazu gehören sowohl die Tasten als auch die Werte. Ungültiger Datenschlüssel 200 Fehler: InvalidDataKey Prüfen Sie, ob die Nutzdaten keine Schlüssel enthalten (z. B. von. Oder gcm oder einen von Google vorangestellten Wert), der intern von GCM verwendet wird. Beachten Sie, dass einige Wörter (wie Collapsekey) auch von GCM verwendet werden, aber in der Nutzlast erlaubt sind. In diesem Fall wird der Nutzdatenwert durch den GCM-Wert überschrieben. Ungültige Time to Live Prüfen Sie, ob der in timetolive verwendete Wert eine Ganzzahl ist, die eine Dauer in Sekunden zwischen 0 und 2.419.200 (4 Wochen) darstellt. 5xx oder 200 Fehler: Nicht verfügbar Der Server konnte die Anforderung nicht rechtzeitig verarbeiten. Wiederholen Sie die gleiche Anforderung, aber Sie müssen: Ehren Sie die Retry-After-Header, wenn es in der Antwort vom GCM Connection Server enthalten ist. Implementieren Sie exponentielle Back-off in Ihrem Wiederholungsmechanismus. (Z. B. wenn du eine Sekunde vor dem ersten Wiederholen gewartet hast, warte mindestens zwei Sekunden vor dem nächsten, dann 4 Sekunden und so weiter). Wenn Sie mehrere Nachrichten senden, verzögern Sie jede einzelne unabhängig durch eine zusätzliche zufällige Menge, um zu vermeiden, dass eine neue Anfrage für alle Nachrichten zur gleichen Zeit ausgegeben wird. Absender, die Probleme verursachen, werden auf die schwarze Liste gesetzt. Interner Serverfehler 500 oder 200 Fehler: InternalServerError Der Server hat beim Versuch, die Anforderung zu verarbeiten, einen Fehler aufgetreten. Sie können die gleiche Anforderung nach den in Timeout aufgeführten Anforderungen wiederholen (siehe Zeile oben). Wenn der Fehler weiterhin besteht, melden Sie bitte das Problem in der android-gcm Gruppe. Device Message Rate Exceeded 200 Fehler: DeviceMessageRate Exceeded Die Rate der Nachrichten zu einem bestimmten Gerät ist zu hoch. Verringern Sie die Anzahl der Nachrichten, die an dieses Gerät gesendet wurden, und versuchen Sie nicht sofort, das Senden an dieses Gerät zu senden. Themen Message Rate Exceeded 200 error: TopicsMessageRate Exceeded Die Rate der Nachrichten an Abonnenten zu einem bestimmten Thema ist zu hoch. Reduzieren Sie die Anzahl der Nachrichten, die für dieses Thema gesendet wurden, und versuchen Sie nicht sofort, das Senden zu senden. Ungültige APNs-Anmeldeinformationen 200 Fehler: InvalidApnsCredential Eine Nachricht, die auf ein iOS-Gerät gerichtet ist, konnte nicht gesendet werden, da das erforderliche APNs SSL-Zertifikat nicht hochgeladen wurde oder abgelaufen ist. Überprüfen Sie die Gültigkeit Ihrer Entwicklungs - und Produktionszertifikate. Sofern nicht anders angegeben, ist der Inhalt dieser Seite unter der Creative Commons Attribution 3.0 Lizenz lizenziert. Und Code-Samples sind unter der Apache 2.0 Lizenz lizenziert. Weitere Informationen finden Sie in unseren Website-Richtlinien. Java ist ein eingetragenes Warenzeichen von Oracle und seinen Tochtergesellschaften. 31, 2017 Check out GCM Videos auf YouTube Entdecken Sie unsere Beispiel-Apps oder gib sie, um Ihre eigenen zu erstellen Fragen Sie mit dem Google-Cloud-Messaging-Tag

Comments