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

Push в Android


ruslan

Вопрос

День добрый. Прошу совета.

Необходимо реализовать получение push-сообщений на андроиде.

 

Присутствует следующее:

- проект в Google Console. Имеются project id и project number;

- клиентское приложение на FM

- работающий ruby-скрипт,который можно привязать к любому AppID, способный отправлять пуши через GCM(Google Cloud Messanging)  на конкретный device_token  и доказавший свою корректную работу.

 

Про стандартные BAaS, вроде Kinvey и Parse, кот. раздают СВОИ token'ы слышал -> смотрел -> делал -> не понравилось.

Мне не нужен чужой промежуточный не дешевый AppServer только для отправки push-уведомлений.

 

И так, каким образом я могу реализовать регистрацию устройства напрямую в GCM, получить оттуда DeviceToken, и подписаться на push'и.

 

P.S. Дай бог здоровья человеку, который знает решение данного вопроса и готов им поделится !

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

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

  • 0
  • Администраторы

Добрый вечер,

 

Я не особо в курсе Push уведомлений, так как они введены на уровне RTL. Но судя по коду, вы можете написать свой сервис, по аналогии с FMX.PushNotification.Android.pas, отнаследовавшись от TPushService и реализовав Push сообщение на базе TPushServiceNotification. И по идеи вы сможете использовать свой провайдер Push уведомлений

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

1) Спасибо за отклик.

2) Мне не нужен "свой провайдер". Я могу отправить пуш прямо на device_token. Вопрос в том, как мне "подписаться" на прием пушей. 

3) в FMX.PushNotification.Android  и так есть необходимый сервис для работы с GCM - TGCMPushService

и в принципе, сделав

gcm:= TGCMPushService.create;

gcm.Register('мой app_id');

можно вытащить DeviceToken и это работает и я это знаю

4) Касается не только пушей

Ну вот объясните мне: ЗАЧЕМ описывать типы в implementation ?? ну ЗАЧЕМ ? Из-за этого нельзя унаследоваться от типа, нельзя устранять "баги", потому что эти "баги" задействуют private\protected члены, к которым не получить доступ ни через class-хелперы, ни как по другому.

Приходится тупо копи-пастить в новый юнит и там править баги, наследоваться и т.п.

 

Тот же самый баг с камерой, кот. не исправляется еще с XE<хз_какой_старой> , исправляется ОДНОЙ строкой кода.

Но нет же, нужно все "прятать" в implementation, что б пытливые программеры не лезли куда не нужно и не трогали "наши баги".

 

Может я чего-то конечно не понимаю, но вот какой вообще смысл объявлять типы в implementation, а не как все белые люди ?

Че-то меня опять понесло...

 

А если по теме, то идеально конечно было бы пригласить в топик человека, который писал "систему" push-уведомлений. Думаю он смог бы многое пояснить.

Мне кажется очень многих разработчиков волнует вопрос приема\отправки push'ей, т.к. это единственный(поправьте если не прав) способ гарантированно уведомить юзера 

о каких-то событиях\обновлениях даже если андроид убил приложение. Не в смысле спамить всякую ересь, а реально если логика приложения сильно завязана на работу с БД, взаимодействие юзеров, таски там всякие, обмен сообщениями, и сложную корпоративную бизнес-логику.

Опять понесло...

 

Тема очень актуальная уже для нескольких разрабов, которые рискнули начать фаирманчить под десктоп\иос\андроид.

 

Поправьте если что не так пишу\понимаю\делаю

Заранее спасибо за помощь

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

[оффтоп]

 

Тот же самый баг с камерой, кот. не исправляется еще с XE<хз_какой_старой> , исправляется ОДНОЙ строкой кода.

 

Позвольте полюбопытствовать, о каком баге идет речь и как он лечится?

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

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

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

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

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

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

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

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

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

×
×
  • Создать...