2016-01-28 3 views
1

Приложение, в котором я сейчас работаю, должно реализовать push-сервис. У нас есть альтернативное приложение, которое разрабатывается с использованием JavaScript и такое, и разрабатывается параллельно (другое название пакета и т. Д.). Это приложение уже реализовало push и работает сервер. я получил URL-адрес сервера и SenderId, который я использовал, как это (на основе направляющих):Могу ли я зарегистрировать новое приложение для существующего сервера GCM?

InstanceID instanceID = InstanceID.getInstance(this); 
      String token = instanceID.getToken(ServerRequests.senderId, 
        GoogleCloudMessaging.INSTANCE_ID_SCOPE, null); 

Затем я использовал маркер для регистрации на сервере в соответствии с инструкциями. Проблема в том, что я не получаю никаких сообщений. Я что-то пропустил? Будет ли он работать без необходимости внесения изменений (крайне маловероятно) на сервер?

ответ

1

Проверить это апи-ключ действителен, используя метод здесь: https://developers.google.com/cloud-messaging/http

Проверка достоверности с API ключа Если вы получаете ошибки проверки подлинности при отправке сообщений, проверьте правильность ключа API. Например, на Android, выполните следующую команду:

# api_key=YOUR_API_KEY 

# curl --header "Authorization: key=$api_key" \ 
     --header Content-Type:"application/json" \ 
     https://gcm-http.googleapis.com/gcm/send \ 
     -d "{\"registration_ids\":[\"ABC\"]}" 

Если вы получили код статуса 401 HTTP, ваш ключ API не является действительным. В противном случае вы должны увидеть что-то вроде этого:

{"multicast_id":6782339717028231855,"success":0,"failure":1, 
"canonical_ids":0,"results":[{"error":"InvalidRegistration"}]} 

Если вы хотите, чтобы подтвердить правильность регистрации маркеров, вы можете сделать это, заменив «ABC» с регистрационным маркером.

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