2016-06-27 5 views
3

Я использую в своем приложении Android класс com.google.android.gcm.GCMBaseIntentService и его метод onRegistered(Context context, String registrationId).GCM registrationId редкие символы

Недавно этот метод начал получать значение registerId с редкой строкой в ​​начале, например |ID|1|: dSyzRPhBqSg:, за которой следует правый идентификатор GCM.

Я не знаю, в чем причина этого. Возможно, это потому, что я начал использовать недавно Firebase SDK.

Любые идеи?

Спасибо

EDIT: код onRegistered

@Override 
protected void onRegistered(final Context context, String registrationId) { 
    Log.i(TAG, "Device registered: regId = " + registrationId); 
} 
+0

показать код, который печатает идентификатор –

+0

добавляемый к вопросу – Borja

+0

, что делает его печать точно –

ответ

2

Это называется каноническим ID. В документации Firebase говорит:

Каноническая регистрация ID является регистрация знак последней регистрации, запрошенной клиентским приложением. Это идентификатор, который должен использовать сервер при отправке сообщений на устройство.

Если вы пытаетесь отправить сообщение, используя старый регистрационный знак, GCM будет процесс запроса, как обычно, но она будет включать в себя канонический идентификатор в registration_id поле ответа. Обязательно замените маркер регистрации , хранящийся на вашем сервере, с этим каноническим идентификатором, так как в конечном итоге старый токен регистрации перестанет работать.

И причина в том, что клиентское приложение запускает несколько регистраций для одного и того же устройства.

+0

Почему мои канонические идентификаторы имеют префикс '| ID | 1 |:'? –

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