Я реализовал GCM и обрабатываю push-уведомления следующим образом:
Voice.handleMessage(this, data, new MessageListener() {
@Override
public void onCallInvite(CallInvite callInvite) {
//Something
}
@Override
public void onError(MessageException messageException) {
//Somethin else
}
});
Моя проблема в том, что при выполнении Voice.call()
я получаю два push-уведомления.Один из них входит в метод onError (), а другой - push-вызов и входит в метод onCallInvite ().
Моя проблема заключается в том, что я отправляю некоторые пользовательские данные с сервера в процессе push, но пользовательские данные приходяттолько при первом нажатии, тот, который идет в методе onError () (с ошибкой: неверные данные), а второй больше не содержит данных.Мне нужно, чтобы данные поступали в onCallInvite (), потому что именно там я открываю экран и обрабатываю фактический вызов.
Это два нажатия, которые я получаю, первый содержит значения user_id
и listing_id
второй - нет.
from = 759355688627 :: data = Bundle[{
google.sent_time=1535306706989,
google.ttl=2419201,
user_id=31,
google.message_id=0:1535306707009372%112xxxxxx,
google.priority=high,
listing_id=175,
twi_message_id=RU04035bc924b77fba65xxxxx,
twi_body=Calling...}]
from = 759355688627 :: data = Bundle[{
twi_account_sid=AC36a28aff167d5b40199a448eb3a2fc27,
google.sent_time=1535306708163,
google.ttl=2419201,
twi_to=client:user_31,
twi_bridge_token=eyJraWQiOiJKd2VTM.....A_LONG_STRING_HERE,
twi_message_type=twilio.voice.call,
twi_call_sid=CAb397517d8dcb94d5cf18555391e92704,
google.message_id=0:1535306708170826%11xxxxx,
google.priority=high,
twi_message_id=RUcc7d1a0b197000bxxxxxx,
twi_from=+40316309597}]
Что мне нужно, так это ... либо допустим, чтобы первый толчок был действительным, либо пользовательские данные поступают во втором толчке.
Любые идеио том, почему вообще приходит первое push-уведомление ?!Это кажется очень странным.