2014-12-29 2 views
0

Когда другой пользователь регистрируется с того же устройства после переустановки приложения, для того же пользователя на сервере приложений вставлены несколько токенов устройств. Это связано с тем, что на сервере приложений мы отключили все пользовательские идентификаторы, сопоставленные с тем же самым регистрационным регистром GCM. Это было сделано для обработки входа другого пользователя с одного и того же устройства путем очистки данных (в этом случае токен устройства остается таким же, поэтому сравнение устраняет проблему). И поскольку мы отправляем уведомление навалом, мы не можем получить карту канонических идентификаторов для пользователей и отключить их.Точки жетонов с несколькими устройствами GCM

Мой код на сервере:

  MulticastResult result = null; 
      Sender sender = new Sender(GOOGLE_SERVER_KEY); 
      Message messag = new Message.Builder().timeToLive(86400) 
        .delayWhileIdle(false) 
        .addData(MESSAGE_KEY, notificationJsonObject.toString()) 
        .build(); 
      try { 
       Result result = sender 
         .sendNoRetry(messag, androidDevicesTokens); 
       result.getResults().get(0).getCanonicalRegistrationId(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 

ответ

0

И как мы посылаем уведомление в объеме мы не можем получить карту канонические Id к пользователям и отключить их

У вас не должно возникнуть проблемы с отображением Canonical ID в старый идентификатор регистрации, который необходимо удалить.

Если result.getResults().get(i) содержит канонический регистрационный идентификатор, соответствующий старый регистрационный идентификатор, который необходимо удалить, составляет androidDevicesTokens.get(i).

+0

Спасибо, Eran, это сработало. – user2201332

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