Перейти к содержанию
Fire Monkey от А до Я
  • 0

Push сообщение для одного конкретного клиента


krapotkin

Вопрос

2 дня пытаюсь продолбиться сквозь эти дебри ((

прошу помощи тех, кто уже прошел этот уровень...

 

Мне нужен способ послать сообщение одному конкретному клиенту.

Например, мобильный клиент шлет данные на мой сервер, через какое-то время сервер шлет клиенту push - ваши данные проверены, все ок...

 

Я использовал Parse Provider, т.к. не нашел другого способа получить DeviceToken от GCM

теперь уперся сюда, пример взят из инструкции:

https://developers.google.com/cloud-messaging/downstream

 

отправляю сообщение

 

https://gcm-http.googleapis.com/gcm/send
Content-Type:application/json
Authorization:key=AIzaSyZ_мой_серверный_ключ

{ "data": {
    "score": "5x1",
    "time": "15:10"
  },
  "to" : "APA91..._мой_device_token"
}

 

сейчас приходит ответ

HTTP/1.1 200 OK

Content-Type: application/json; charset=UTF-8

...

{"multicast_id":4890281057234742377,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]}

 

Кто такой SenderID ??? и где его указать ?? ((

 

 

p.s.

заголовок вроде верный, т.к. если что-то менять в Authorization, сразу ошибка 401 Unauthorized

если менять параметр "to", то ответ 

400 Bad Request

INVALID_REGISTRATION

 

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Спасибо за голосование! У меня были сомнения или это моя тупость или баг ембаркадеро. Но поскольку Равиль подтвердил, то это баг эмбаркадеро.

Этот баг отрезает билдер от серьёзной разработки с пушами... 

Изменено пользователем Kitty
Ссылка на комментарий
  • 0
  • Модераторы
11 час назад, Kitty сказал:

Спасибо трем проголосовавшим. Решение найдено.

неплохо бы сюда решение, с пошаговой инструкцией на русском

Ссылка на комментарий
  • 0
8 часов назад, Равиль Зарипов (ZuBy) сказал:

неплохо бы сюда решение, с пошаговой инструкцией на русском

Эмбаркадеро забыло включить в соответствующие Н файлы необходимые инструкции:
_INIT_UNIT(Fmx_Pushnotification_Android); //для андроида
_INIT_UNIT(Fmx_Pushnotification_Ios); //для ios

Поэтому решением является вместо кода:

#if defined(_ANDROID_)
#include <FMX.PushNotification.Android.hpp>
#endif
#if defined(_APPLE) && (defined(arm) || defined(arm64_))
#include <FMX.PushNotification.IOS.hpp>
#endif

Написать код включения этих строк кода с учетом пространства имен:

#if defined(__ANDROID__)
#include <FMX.PushNotification.Android.hpp>
  
namespace Fmx { 
 namespace Pushnotification { 
  namespace Android {
   _INIT_UNIT(Fmx_Pushnotification_Android); 
  } 
 } 
}
  
#endif

#if defined(_APPLE) && (defined(arm) || defined(arm64_))
#include <FMX.PushNotification.IOS.hpp>
  
namespace Fmx { 
 namespace Pushnotification { 
  namespace Ios {
   _INIT_UNIT(Fmx_Pushnotification_Ios); 
  } 
 } 
}
  
#endif

Если бы Равиль не исследовал эту проблему, я бы не написала в тех.поддержку и билдер был бы в пролете с пушами...:)

Изменено пользователем Kitty
Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...