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

[Android] Push в 10.4.1


Ingalime

Вопрос

Здравствуйте.

Создано приложение для получения пушей. Материалы отсюда:

https://fire-monkey.ru/topic/3840-статья-настройка-пуш-уведомлении-через-сервис-firebase-для-android-и-ios-часть-2/

Отсюда стало понятно что для 10.4.1 надо сделать изменение:

http://docwiki.embarcadero.com/RADStudio/Sydney/en/Firebase_Android_Support

TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.FCM);

Однако при старте приложения сыпались ошибки:

java.lang.RuntimeException: Unable to get provider com.embarcadero.firebase.provider.FirebaseInitProvider: java.lang.IllegalStateException: ApplicationId must be set.

at android.app.ActivityThread.installProvider(ActivityThread.java:6398) и т.д.

При полностью закоментированном коде ошибка не пропадала.

Выяснилось, что ошибка возникает если установить в true в опциях проекта Entitlement List-> Receve push notifications тогда ошибка. Снять галочку ошибки нет.

Кому либо удалось сделать приложение с поддержкой пушей в 10.4.1?

Для 10.3.1 был какой-то патч:

https://blog.marcocantu.com/blog/2019-05-android-firebase-patch-blog.html

Но у меня 10.4.1

Спасибо.

 

 

 

 

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

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

  • 0

Прошу прощения исправлено. Забыла что для новых версий надо импортировать google-services.json из коносли firebase

Ошибка пропала, однако токен устройства пустой.

В манифесте из статьи

https://fire-monkey.ru/topic/3840-статья-настройка-пуш-уведомлении-через-сервис-firebase-для-android-и-ios-часть-2/

указано

        <%receivers%>
        <service android:name="com.embarcadero.gcm.notifications.GCMIntentService" />

В опциях проекта api key указан. true в опциях проекта Entitlement List-> Receve push notifications указано

Из консоли firebse взят Sender ID

const
  FAndroidServerKey = '1036128679228';

Но не выходит каменный цветок. :)

Цитата

procedure TForm1.PushServiceRegister;
begin

  if CheckInet() then begin

  FPushService := nil;
  FPushServiceConnection := nil;

  FPushService := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.FCM);


  if Assigned(FPushService) then begin
    FPushService.AppProps[TPushService.TAppPropNames.GCMAppID] := FAndroidServerKey;
  end;


  if Assigned(FPushService) then
  begin
    FPushServiceConnection := TPushServiceConnection.Create(FPushService);
    FPushServiceConnection.Active := true;
    FPushServiceConnection.OnChange := OnServiceConnectionChange;
    FPushServiceConnection.OnReceiveNotification := OnReceiveNotificationEvent;

    FDeviceID := FPushService.DeviceIDValue[TPushService.TDeviceIDNames.DeviceID];
    FDeviceToken := FPushService.DeviceTokenValue[TPushService.TDeviceTokenNames.DeviceToken];
    ShowMessage('Вижу что пусто: ' + FDeviceToken);//FDeviceID есть
    // тут отправляем в хранилище токенов (на сервер с БД например)
    if(Trim(FDeviceID) <> EmptyStr) and (Trim(FDeviceToken) <> EmptyStr) then
    begin
               

          RegisterDevice();

    end;

  end;

 end;

end;

Это не помогло пустой токен

http://fire-monkey.ru/topic/4839-fpushservicedevicetokenvalue-nil-что-делать/?page=3#comment-32995

 

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

У кого в 10.4 не пустой токен устройства покажите, пожалуйста, ваш манифест. Может помимо этой строки еще что-то надо:

<service android:name="com.embarcadero.gcm.notifications.GCMIntentService" />

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

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

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

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

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

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

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

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

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

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

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