500 è il codice di errore HTTP per errore interno. Invio di un messaggio di Google Cloud per Chrome dal sito web oauthplayground Google restituisce questo per me: HTTP1.1 500 Internal Server Error Content-Length: 52 X-XSS-protezione: 1 modeblock X-Content-type-opzioni: NOSNIFF X-Google - cache-control: remote-fetch - CONTENUTO-encoding: gzip Server: Motivo GSE: Internal Server Error Via: HTTP1.1 GWA cache-control: private, max-age0 Data: mercoledì, 15 maggio 2013 07:01:40 GMT X - frame-options: SAMEORIGIN Content-Type: applicationjson charsetUTF-8 Scadenza: mer, 15 maggio 2013 07:01:40 GMT si è verificato un errore interno. Questo indica qualcosa è andato storto sul lato server di Google (ad esempio, un po 'di back-end non funzionante o errori nel post HTTP, come un token di accesso mancante). theres Essenzialmente qualcosa di sbagliato sul lato Googles delle cose. Considerando Google IO sta per iniziare in poche ore Vorrei assumere theyre attualmente fare alcuni cambiamenti. Prova a controllare di nuovo in poche ore. Una delle possibili ragioni di questo è se l'applicazione si utilizza per il test non è mai stato pubblicato nel Chrome Web Store. Quindi, se si è creato un app a livello locale e caricarlo in Chrome non imballati per il test, per esempio - sarà sempre esito negativo come questo perché GCM non sa chi possiede l'applicazione. Quando si pubblica l'applicazione al negozio, utilizzare lo stesso account Google che è stato utilizzato in Api Console per creare un progetto e Oauth clientIdclient segreto ecc Il GCM per Chrome funziona solo se gli account quelli google partita. GCM verifica il proprietario di un app corrisponde al proprietario di un token di accesso per assicurarsi che nessuno, ma proprietario di un app pubblica messaggi per esso. Pubblicazione l'applicazione in Web Store crea un collegamento tra un account Google e la appID in modo che possa essere verificato. Ora, una volta che si pubblica una qualche versione della vostra applicazione, è possibile aggiungere il token magia generata dal Web Store al manifesto della vostra applicazione locale e continuare modifyreloaddebug a livello locale, avendo ora la vostra applicazione correttamente registrato per GCM. Vedere la mia risposta nel gruppo cromo-apps per maggiori dettagli su questo. risposto 21 Maggio 13 ad 23:01 ho ottenuto lo stesso errore troppo. Ho risolto questo da imballaggio mia app e caricare sul Chrome Web Store. Poi io uso nuovo ID Channel e ora funziona risposto 31 Maggio 13 ad 4:30 tua risposta 2017 Stack Exchange, IncHTTP connessione server di riferimento Questo parametro identifica un gruppo di messaggi (ad esempio con collapsekey: Aggiornamenti disponibili) che possono essere crollato, in modo che solo l'ultimo messaggio viene inviato quando la consegna può essere ripreso. Questo ha lo scopo di evitare l'invio di troppi gli stessi messaggi quando il dispositivo torna in linea o diventa attiva. Si noti che non vi è alcuna garanzia di l'ordine in cui i messaggi vengono inviati. Nota: È consentito un massimo di 4 tasti collasso differenti in un dato momento. Ciò significa che un server di connessione GCM può contemporaneamente memorizzare 4 diversi messaggi send-to-sync per cliente app. Se si supera questo numero, non vi è alcuna garanzia che 4 tasti collasso del server di connessione GCM manterrà. Imposta la priorità del messaggio. I valori validi sono normali e alta. Su iOS, questi corrispondono a APN priorità 5 e 10. Per impostazione predefinita, i messaggi di notifica vengono inviati con priorità alta, e messaggi di dati vengono inviati con priorità normale. Priorità normale ottimizza il consumo di client applicazioni della batteria, e dovrebbe essere usato a meno che non sia richiesto la consegna immediata. Per i messaggi con priorità normale, l'applicazione può ricevere il messaggio con ritardo non specificato. Quando un messaggio viene inviato con la massima priorità, viene inviato immediatamente, e l'applicazione può riattivare un dispositivo a pelo e aprire una connessione di rete al server. Opzionale, JSON booleano Su iOS, utilizzare questo campo per rappresentare contenuti disponibili nel payload APNS. Quando una notifica o messaggio viene inviato, e questo è impostato su true. un client App inattivo è risvegliato. Su Android, messaggi di dati svegliano l'applicazione di default. Su Chrome, attualmente non supportato. delaywhileidle deprecato Efficace 15 novembre 2016 opzionale, JSON booleano Questo parametro è deprecato. Dopo 15 Novembre 2016, essa sarà accettata dal GCM, ma ignorato. Quando questo parametro è impostato su true. indica che il messaggio non deve essere inviato finché il dispositivo si attiva. Il valore predefinito è falso . Opzionale, il numero JSON Questo parametro specifica per quanto tempo (in secondi) il messaggio deve essere tenuto in deposito GCM se il dispositivo è offline. Il tempo massimo per vivere supportata è di 4 settimane, e il valore di default è di 4 settimane. Per ulteriori informazioni, vedere Impostazione del ciclo di vita di un messaggio. Questo parametro specifica il nome del pacchetto di applicazione in cui i token di registrazione devono corrispondere al fine di ricevere il messaggio. Opzionale, JSON booleano Questo parametro, se impostato su true. consente agli sviluppatori di testare una richiesta senza in realtà l'invio di un messaggio. Il valore predefinito è falso . Opzionale, oggetto JSON Questo parametro specifica le coppie chiave-valore personalizzato delle segnalazioni di carico utile. Ad esempio, con i dati:: Su Android, ciò si tradurrebbe in un intento punteggio di nome in più con il 3x1 valore stringa. Su iOS, se il messaggio viene inviato tramite APNS, che rappresenta i campi di dati personalizzati. Se viene inviato tramite il server di connessione GCM, sarebbe rappresentato come dizionario valore chiave in applicazione AppDelegate: didReceiveRemoteNotification. La chiave non deve essere una parola riservata (da o qualsiasi parola che inizia con google o GCM). Non utilizzare una delle parole definite in questa tabella (ad esempio collapsekey). Si consigliano valori in tipi di stringa. È necessario convertire i valori in oggetti o altri tipi di dati non di tipo stringa (ad esempio numeri interi o booleani) a stringa. Opzionale, oggetto JSON Questo parametro specifica i predefiniti, coppie chiave-valore visibili dall'utente del payload di notifica. Vedere il supporto di notifica payload per i dettagli. Per ulteriori informazioni sul messaggio di notifica e le opzioni dei messaggi dati, vedere Payload. Notifica payload supporta Nella tabella seguente sono elencati i parametri predefiniti disponibili per l'utilizzo nei messaggi di notifica. Tabella 2. Parametri per la messaggistica notifica da parte della piattaforma Questo parametro specifica il coppie chiave-valore delle segnalazioni di carico utile. Non vi è alcun limite al numero di parametri chiave-valore, ma c'è un limite totale dimensione del messaggio di 4KB. Per esempio, in Android, data. score.3x1 si tradurrebbe in un intento punteggio di nome in più con il 3x1 valore stringa. La chiave non deve essere una parola riservata (da o qualsiasi parola che inizia con google o GCM). Non utilizzare una delle parole definite in questa tabella (ad esempio collapsekey). Interpretare un messaggio di risposta a valle Il server applicazione deve valutare sia l'intestazione del messaggio di risposta e il corpo di interpretare la risposta messaggio inviato dal GCM. La seguente tabella descrive le possibili risposte. Tabella 4. intestazione della risposta HTTP messaggio valle. Il messaggio è stato elaborato correttamente. Il corpo della risposta conterrà ulteriori dettagli sullo stato del messaggio, ma il suo formato dipenderà se la richiesta è stata JSON o solo testo. Si veda la tabella 5 per maggiori dettagli. Vale solo per le richieste JSON. Indica che la richiesta non può essere analizzato come JSON, o conteneva campi non validi (per esempio, passando una stringa in cui ci si aspettava un numero). Il motivo esatto fallimento è descritta nella risposta e il problema dovrebbe essere affrontato prima che la richiesta può essere ripetuta. C'è stato un errore autenticazione dell'account mittente. Errori nel 500-599 gamma (ad esempio, 500 o 503) indicano che c'è stato un errore interno nel server di connessione GCM durante il tentativo di elaborare la richiesta, o che il server è temporaneamente non disponibile (per esempio, a causa di timeout). Mittente deve riprovare più tardi, in onore di qualsiasi intestazione Riprova-Dopo aver incluso nella risposta. I server di applicazioni devono implementare esponenziale di back-off. La seguente tabella elenca i campi in un corpo di messaggio di risposta a valle (JSON). Tabella 5. corpo della risposta HTTP messaggio a valle (JSON). Verificare che la richiesta contiene un token di registrazione (nel registrationid in un messaggio di testo normale, o in campo o registrationids in JSON). Registrazione Invalid Token controllare il formato del token di registrazione si passa al server. Accertarsi che corrisponda il token di registrazione l'applicazione client riceve dalla registrazione con GCM. Non troncare o aggiungere ulteriori caratteri. Un token registrazione esistente può cessare di essere valida in un certo numero di scenari, tra cui: se il client App annulla la registrazione con GCM. Se l'applicazione client viene automaticamente registrato, che può accadere se l'utente disinstalla l'applicazione. Ad esempio, su iOS, se il feedback Servizio APNS riportato la APNS token come valido. Se il token di registrazione scade (ad esempio, Google potrebbe decidere di aggiornare i token di registrazione, o il token APNS è scaduto per i dispositivi iOS). Se l'applicazione client viene aggiornato ma la nuova versione non è configurato per ricevere i messaggi. Per tutti questi casi, rimuovere questo token di registrazione dal server app e smettere di usarlo per inviare messages. Invalid Nome pacchetto Assicurarsi che il messaggio è stato indirizzato a un token di registrazione il cui nome del pacchetto corrisponde al valore passato nella richiesta. L'account del mittente utilizzato per inviare un messaggio non poteva essere autenticato. Le possibili cause sono: intestazione di autorizzazione mancante o con la sintassi non valida in richiesta HTTP. numero di progetto non valido inviato come chiave. Chiave di servizio GCM valido, ma con disabilitata. Richiesta origine da un server non consentiti nella IP chiave del server. Controllare che il youre Token invio dentro l'intestazione di autenticazione è la chiave server corretto associato con il progetto. Vedere Verifica della validità di una chiave del server per i dettagli. A partire dal settembre 2016, è possibile creare nuove chiavi di server solo nella console Firebase utilizzando la scheda Nube di messaggistica del pannello Impostazioni. I progetti esistenti che hanno bisogno di creare una nuova chiave del server possono essere importati nella console Firebase senza compromettere la loro attuale token di registrazione configuration. A è legato ad un certo gruppo di mittenti. Quando un'applicazione client registra per GCM, è necessario specificare quali mittenti sono autorizzati a inviare messaggi. Si dovrebbe usare una di quelle ID mittente quando si inviano messaggi al app client. Se si passa a un mittente diverso, i token di registrazione esistenti non funzioneranno. Verificare che il messaggio JSON sia correttamente formattato e contiene i campi validi (ad esempio, assicurandosi che il tipo di dati a destra viene passato). Messaggio troppo grande Verificare che la dimensione totale dei dati di payload inclusi in un messaggio non superi i limiti GCM: 4096 byte per la maggior parte dei messaggi o 2048 byte nel caso di messaggi per argomenti o messaggi di notifica su iOS. Questo include sia le chiavi ed i valori. Non valido Dati chiave 200 errore: InvalidDataKey Controllare che il carico utile di dati non contiene una chiave (ad esempio da o GCM o qualsiasi valore prefissato da google..) Che viene utilizzato internamente da GCM. Nota che alcuni parole (come collapsekey) vengono utilizzati anche da GCM, ma sono ammessi nel payload, nel qual caso il valore di carico verrà sostituita dal valore GCM. Ora non valida a Live Verificare che il valore utilizzato in TimeToLive è un numero intero che rappresenta una durata in secondi tra 0 e 2.419.200 (4 settimane). 5xx o 200 errore: Non disponibile Il server di processo couldnt la richiesta in tempo. Riprovare la stessa richiesta, ma è necessario: Onora l'intestazione Riprova-Dopo se è incluso nella risposta dal server GCM Connection. Implementare esponenziale di back-off nel meccanismo di riprovare. (Ad esempio, se si aspettava un secondo prima del primo tentativo, attendere almeno due secondi prima di quello successivo, poi 4 secondi e così via). Se youre invio di più messaggi, ritardare ognuno indipendentemente da una quantità casuale aggiuntivo per evitare l'emissione di una nuova richiesta per tutti i messaggi contemporaneamente. Mittenti che causano problemi rischiano di essere sulla lista nera. Internal Server Error 500 o 200 errore: InternalServerError Il server ha rilevato un errore durante il tentativo di elaborare la richiesta. Si potrebbe ripetere la stessa richiesta che segue i requisiti elencati nella Timeout (vedi riga sopra). Se l'errore persiste, si prega di segnalare il problema nel gruppo android-GCM. Dispositivo Messaggio Tasso superato i 200 errore: DeviceMessageRate superato il tasso di messaggi a un particolare dispositivo è troppo alto. Ridurre il numero di messaggi inviati a questo dispositivo e non immediatamente ritentare l'invio a questo dispositivo. Argomenti Messaggio Tasso superato i 200 errore: TopicsMessageRate superato il tasso di messaggi agli abbonati a un particolare argomento è troppo alto. Ridurre il numero di messaggi inviati per questo argomento, e non immediatamente ritentare l'invio. APN credenziali non valide 200 errore: InvalidApnsCredential Un messaggio mirato a un dispositivo iOS non potrebbe essere inviato perché il certificato SSL APN richiesta non è stato caricato o è scaduta. Verificare la validità dei certificati di sviluppo e produzione. Salvo quanto diversamente specificato, i contenuti di questa pagina è sotto licenza 3.0 Licenza Creative Commons Attribution. e esempi di codice sono rilasciate sotto la licenza Apache 2.0. Per i dettagli, vedere le nostre politiche del sito. Java è un marchio registrato di Oracle Andor i suoi affiliati. 31 2017 Guarda i video su YouTube GCM esplorare il nostro applicazioni di esempio o una forchetta loro di costruire il proprio Fai domande con il tag google-cloud-messaging
Comments
Post a Comment