2017-01-13 8 views
0

Я заметил проблему в нашем бэкэнде, которая началась в октябре. 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 совсем не идеальное, и это будет первое, что я изменил, однако эта проблема началась без каких-либо изменений кода вокруг даты, о которой я упоминал.

Любое понимание было бы очень полезно. Благодарю.

ответ

1

Это то, что подходит для меня, и начинается с APA9.

Токен не обязательно должен начинаться с APA9. В моей базе данных у меня есть идентификаторы, начинающиеся буквально с любой буквы (но никогда не числа).

У меня есть все мои идентификаторы, это : как 12-й символ, и APA9 сразу после этого.

Ваш токен недействительный, который выглядит как csPVRloDPzc%3AAPA91bFFU2DOGLg3hXoOvQ9vnhN3gMA4aalBAhGGJzAqt4Jtyy, также имеет один из 12-го символа, но он, по-видимому, URL кодируется как %3A.

Я подозреваю, что если вы его декодируете, это будет действительный идентификатор.

+0

Спасибо за подсказку, я расшифровал токен и поместил его в инструмент диагностики FCM на консоли разработчика Google Play, но он выдает ошибку, сообщая мне ввести действительный токен. Поэтому я могу только предположить, что он по-прежнему недействителен. –

+0

@RED_ Я вижу. Но является ли 'APA91bFolo25yEfP2_3wUt3bPO08S3Hz1NBpJbyWkW5_hhsQ6WggOogQOXPYohmh' действительным? Если я тестирую его, он говорит, что это не –

+0

Увы, вы правы, я получал только частичный токен со страницы, с которой я их скопировал. Я проверил оба против полного токена, и оба они появились после того, как были декодированы. Что-то настолько простое, что я и бэкэнд-разработчик пропустили. +1 и помечен как ответ. –