Я заметил проблему в нашем бэкэнде, которая началась в октябре. 15 октября, если быть точным. Кажется, что я получаю недействительные токены от GCM на Android, которые мой бэкэнд затем сохраняет и не может отправлять push-уведомления.Неисправности Push-сообщений из-за недействительных токенов, отправляемых с GCM?
Следует отметить, что я использую устаревший api. Это может быть частью проблемы, но я не могу подтвердить это. This is the API I'm using to register users with GCM.
Значки, в которые я возвращаюсь, имеют форматирование, с которым я не знаком. Это то, что для меня выглядит действительный токен, начинается с APA9
.
Valid token: APA91bFolo25yEfP2_3wUt3bPO08S3Hz1NBpJbyWkW5_hhsQ6WggOogQOXPYohmh
Однако я получаю обратно маркеры, которые выглядят следующим образом:
Invalid token: csPVRloDPzc%3AAPA91bFFU2DOGLg3hXoOvQ9vnhN3gMA4aalBAhGGJzAqt4Jtyy
Обратите внимание на дополнительные символы в начале перед обычной APA9. Если я удалю эти дополнительные символы, токен по-прежнему недействителен. Поэтому я не знаю, какая именно проблема. Проблема происходит очень случайным образом, иногда я получаю правильные жетоны, иногда я этого не делаю.
Очевидно, что использование устаревшего API совсем не идеальное, и это будет первое, что я изменил, однако эта проблема началась без каких-либо изменений кода вокруг даты, о которой я упоминал.
Любое понимание было бы очень полезно. Благодарю.
Спасибо за подсказку, я расшифровал токен и поместил его в инструмент диагностики FCM на консоли разработчика Google Play, но он выдает ошибку, сообщая мне ввести действительный токен. Поэтому я могу только предположить, что он по-прежнему недействителен. –
@RED_ Я вижу. Но является ли 'APA91bFolo25yEfP2_3wUt3bPO08S3Hz1NBpJbyWkW5_hhsQ6WggOogQOXPYohmh' действительным? Если я тестирую его, он говорит, что это не –
Увы, вы правы, я получал только частичный токен со страницы, с которой я их скопировал. Я проверил оба против полного токена, и оба они появились после того, как были декодированы. Что-то настолько простое, что я и бэкэнд-разработчик пропустили. +1 и помечен как ответ. –