2015-08-16 5 views
0

Я хочу, чтобы мое заявление о регистрации по теме сообщений, но каждый раз, когда я пытаюсь вызвать регистрацию в теме он возвращается нижеGCM Тема сообщения об ошибке

GcmPubSub.getInstance(context).subscribe(regToken, "/topics/testTopic", null); 
ошибку ниже

java.lang.IllegalArgumentException: Invalid topic name:

Использование метода

Я использую учебное пособие по этой ссылке https://developers.google.com/cloud-messaging/topic-messaging. Я буду очень признателен за вашу помощь в этой ошибке.

+0

Я получаю ту же ошибку. Использование «IIML» в качестве имени группы, которое полностью соответствует регулярному выражению, предоставленному в учебниках GCM. Могли ли вы это разрешить? – karan

+0

Я решил свою проблему, используя службу намерения, чтобы выполнить все соединение gcm, то есть регистрацию, групповую подписку и другие. проверьте эту ссылку, это было более полезно, чем тот, который предоставляет Google. [Ссылка] (https://github.com/googlesamples/google-services/tree/master/android/gcm) – aloismumera

ответ

0

Пожалуйста, попробуйте это с помощью sample app. "/ themes/testTopic" должно быть хорошо. Как упоминалось в documentation, любое имя темы, соответствующее этому регулярному выражению, должно быть прекрасным: /topics/[a-zA-Z0-9-_.~%]+

0

Для всех, кто работает с этой ошибкой: дважды проверьте, что вы соответствуете к specification по названию темы: /topics/[a-zA-Z0-9-_.~%]+.

Оригинальный вопрос на самом деле соответствует спецификации, и у меня нет ответа на вопрос, почему возникает ошибка. Однако другой способ вызвать ошибку не соответствует спецификации. В моем случае я ошибочно предположил, что символы разделителя пути разрешены и используют такую ​​тему, как /topics/users/123, чтобы имитировать мой REST API. Последняя косая черта не допускается.

Смежные вопросы