3

для отправки GCM, у нас есть идентификатор SENDER из консоли Google API, важно ли защищать этот идентификатор SENDER? Я имею в виду, кто-то сможет делать плохие вещи, если они знают этот идентификатор? Я сделал ошибку, и я думаю, что ID был в одном из моих проектов ... я могу как-то изменить его? Я все равно не смог его изменить, посмотрев консоль Google API !. Должен ли я беспокоиться об этом? или это нормально?Идентификатор отправителя GCM/номер проекта

ключей API сервера и браузера может быть изменен, но не Sender ID, номер проекта ...

+0

Рассмотрите возможность изменения заголовка на вопрос. –

ответ

5

Да, вы должны держать project number (который является Sender Id, а также для GCM) защищены; в противном случае любой может использовать его, и он будет рассчитывать на использование вашего API-интерфейса. Он похож на ключ API для любого другого сервиса, например. Карты Гугл.

Мне неизвестен какой-либо метод его изменения, кроме создания новой учетной записи Google, но в панели инструментов консоли Google API есть возможность зарегистрировать/сгенерировать Project ID, но я не уверен, что GCM примет это как Sender Id. Вы можете попробовать.

Edit:

Это может быть опасно, если ваш project number подвергается (в старых API, идентификатор отправителя был ваш адрес электронной почты), потому что до сих пор вы будете нуждаться в API key, чтобы иметь возможность отправить уведомление через GCM

+1

iTech, спасибо за ответ, но, насколько я проверял, идентификатор SENDER не будет работать, если вы не знаете КАРЬЕР API СЕРВЕР. поэтому, если я сохраню ключ защиты сервера api, будет ли это проблемой? – MyFlashLab

+0

Да, вы правы. Оба необходимы, чтобы отправлять сообщения через GCM – iTech

2

Я хотел бы добавить, что, хотя только project ID не может использоваться для отправки уведомлений через GCM, его можно использовать другим приложением Android для регистрации в GCM и получения уведомлений с вашего сервера. Конечно, чтобы получать уведомления с вашего сервера, это приложение должно будет сначала связаться с вашим сервером, чтобы отправить его Registration Id, поэтому в зависимости от реализации сервера вы можете заблокировать это.

0

Как я понимаю:

1) SenderID == ProjectID (как отмечает ITech)

2) SenderID/ProjectID является встроенный в ваше приложение, во время сборки, через «googleservices. JSON»

3) Ваше приложение использует & требует вашего SenderID (через R.string.gcm_defaultSenderId) для регистрации с GCM, используя следующий код:

String token = instanceID.getToken(getString(R.string.gcm_defaultSenderId), GoogleCloudMessaging.INSTANCE_ID_SCOPE, null); 

4) Таким образом, согласно моему пониманию, по умолчанию дизайн SenderID должен быть включен в ваше приложение GCM и не защищен.