Próbuję przenieść się do GCM
i mam problem z tym, SENDER_ID
co muszę podać. Używam projektu demonstracyjnego z Google. W tym projekcie muszę, jeśli dobrze to rozumiem, dostarczyć SENDER_ID
do aplikacji plik CommonUtilities.java.
Podany przeze mnie SENDER_ID to klucz API, który zarejestrowałem na https://code.google.com/apis/console/ i ma postać: AIzaSyAxxxxxxx_xxxxxxxxxxxnoGZw
(łącznie 40 znaków).
Używając tego ciągu, gdy SENDER_ID
otrzymuję komunikat „BroadcastReceiver mHandleMessageReceiver”, pojawia się komunikat o błędzie: From GCM: error (INVALID_SENDER). .
Gdzie jest błąd? Podany przeze mnie ciąg nie jest SENDER_ID
?
Dziękuję Ci.
Odpowiedzi:
Nie, SENDER_ID to identyfikator projektu zarejestrowany w konsoli Google API. Powinien to być ciąg liczbowy. np. na URI przeglądarki, powinieneś zobaczyć to:
https://code.google.com/apis/console/#project:4815162342
Identyfikator nadawcy to 4815162342
Zaktualizowana odpowiedź:
Google nie zaktualizował całkowicie swoich dokumentów. Powyższa odpowiedź jest stara i oparta na tej dokumentacji i wydaje się, że nadal nie jest aktualizowana.
Według zaktualizowanych dokumentów Google wydaje się, że numer projektu w Google API Console jest używany jako SENDER ID
źródło
Zrobiłem dla najnowszej konsoli Google API .
Jak zdobyć
SenderId
:Kroki :
SenderId
tam formęOdniesienie:
Mam nadzieję, że to ci pomoże.
źródło
Przejdź do strony konsoli interfejsów API Google . Wybierz projekt, którego używasz z rozwijanego menu po lewej stronie. Wybierz Przegląd i teraz możesz Cię zobaczyć
project number
. To jest to,SENDER_ID
czego musisz użyćInnym sposobem uzyskania numeru projektu jest pobranie wartości „projektu” z adresu URL. Twój adres URL musi wyglądać następująco: „ https://code.google.com/apis/console/b/0/#project:886025556782 ”. Tutaj numer projektu to „886025556782”. ten numer to SENDER_ID
źródło
Zaktualizowana odpowiedź z listopada 2014 r. JEŚLI OSTATNIO TWORZYŁEŚ PROJEKT API .
Przede wszystkim poprawne, absolutnie powinieneś przejść do Google Developers Console i znaleźć projekt, w którym masz włączoną GCM. Patrząc na sekcję Przegląd (panel nawigacyjny po lewej stronie), zobaczysz identyfikator projektu i numer projektu po prawej stronie. Identyfikator projektu zawiódł mnie (co mnie tutaj doprowadziło), ale kiedy wypróbowałem numer projektu, mogę teraz poprawnie rejestrować moich klientów.
Zwróć uwagę, że jest inaczej, ponieważ Google ostatnio zmodyfikowało sposób przypisywania identyfikatorów projektów. W październiku wykonałem projekt i otrzymałem numeryczny identyfikator projektu, który zakładam, że będzie działał dobrze. Ale ten, który stworzyłem dzisiaj, otrzymał identyfikator składający się z dwóch słów i numeru (np. Hamster-Party-420) oraz numeryczny numer projektu. Adres URL mojego projektu zawiera Hamster-Party-420, a numer projektu jest widoczny tylko na ekranie Przegląd.
źródło
Kolejna zaktualizowana odpowiedź z trochę większym wyjaśnieniem dla zdezorientowanego (... tak jak ja). (Z należnym uznaniem dla @azgolfer, @PankajAndroid i @Adam)
1- Jeśli utworzysz projekt na https://console.developers.google.com , w przeglądzie projektu zobaczysz dwie rzeczy: „ID PROJEKTU” i „NUMER PROJEKTU”. Identyfikator projektu nie jest już numeryczny, ale alfanumeryczny, jak master-xxxxx-1234 . Numer projektu to 11-cyfrowy numer, na przykład 123456789100.
2- Nawet jeśli sprawdzisz link przeglądarki, możesz go znaleźć jako: https: // console.developers.google.com / project / master-xxxxx-1234
Czy więc master-xxxxx-1234 to SENDER_ID (w niektórych miejscach określany jako PROJECT ID)? NIE.
Musisz użyć numeru projektu jako identyfikatora projektu w GCM.
3- Gdzie można sprawdzić, czy identyfikator projektu jest używany jako identyfikator projektu?
Na API Dashbaord. (url: https://code.google.com/apis/console/b/0/?noredirect#project:12345678900 - gdzie 12345678900 to numer Twojego projektu w panelu projektu.
PODSUMOWANIE: Identyfikatory projektu na pulpicie nawigacyjnym projektu i panelu interfejsu API są różne. Numer projektu w panelu projektu jest używany jako identyfikator projektu w panelu API, a identyfikator projektu w panelu projektu jako nazwa projektu w panelu interfejsu API. Tak więc numer projektu wyświetlany w panelu projektu podczas tworzenia projektu w konsoli programisty jest używany jako SENDER_ID w GCM.
źródło
Przejdź do „Pulpitu nawigacyjnego” w najnowszej wersji konsoli programisty, kliknij strzałkę w dół pod „Projekt: Turtle Power”, a zobaczysz tam numer projektu! Użyj tego jako SENDER_ID
(fałszywy projekt, więc nawet nie próbuj = P)
źródło
Być może nie aktywowałeś Google Cloud Messaging dla Androida w API COnsole. Oto instrukcje:
http://developer.android.com/google/gcm/gs.html
źródło
Spędziliśmy godziny, próbując to rozgryźć. Problem polegał na tym, że nasz manifest Androida nie zawierał identyfikatora nadawcy!
źródło
Jeśli przyszedłeś tutaj, ponieważ robisz web push, Android push lub tym podobne, istnieje inna odpowiedź.
Źródło: https://firebase.google.com/docs/cloud-messaging/js/client
źródło
używany SENDER_ID to nic innego jak klucz autoryzacji. SENDER_ID możesz znaleźć w swoich projektach URL stron konsoli interfejsów API Google
https://code.google.com/apis/console/#project:8543162367
tutaj 8543162367 będzie twoim SENDER_ID, a także identyfikator projektu nie jest już numeryczny, jego alfanumeryczny lub tylko numeryczny lub tylko alfabetyczny cokolwiek, ale jego pozycja jest taka sama jak pokazana przeze mnie
źródło