Einzelnen Beitrag anzeigen

ueding

Registriert seit: 21. Aug 2005
30 Beiträge
 
Delphi 10.4 Sydney
 
#1

Google firebase push Nachricht IOs Android

  Alt 5. Jan 2021, 18:08
Hallo zusammen,

ich möchte gerne Push Nachrichten auf Smartphones mit Google Firebase für IOs und Android senden.

zum registrieren bei Google benutze ich nachstehenden Code.

Delphi-Quellcode:
procedure TPush.InitPushNotifications; // by google registrieren
var
  PushService: TPushService;
  ServiceConnection: TPushServiceConnection;
  Notifications: TArray<TPushServiceNotification>;
begin
{$IFDEF ANDROID}
  PushService := TPushServiceManager.Instance.GetServiceByName
    (TPushService.TServiceNames.FCM); // <- PushService ist nil nach dem Aufruf
{$ENDIF}

{$IFDEF IOS}

  PushService := TPushServiceManager.Instance.GetServiceByName
   (TPushService.TServiceNames.APS); // <- PushService ist nil nach dem Aufruf
{$ENDIF}

  ServiceConnection := TPushServiceConnection.Create(PushService);
  // <- wird mit nil pointer erstellt, beim active setzen greift er drauf zu


  ServiceConnection.OnChange := OnServiceConnectionChange;
  ServiceConnection.OnReceiveNotification := OnReceiveNotificationEvent;


  ServiceConnection.Active := True;


  FDeviceId := PushService.DeviceIDValue[TPushService.TDeviceIDNames.DeviceId];

  Memo.Lines.Add('DeviceID: ' + FDeviceId);
  Edit2.text := FDeviceId;
  Memo.Lines.Add('Ready to receive!');

  FDeviceToken := PushService.DeviceTokenValue [TPushService.TDeviceTokenNames.DeviceToken];

      Memo.Lines.Add('Firebase Token: ' + FDeviceToken);

  // Checks notification on startup, if application was launched from cold start
  // by tapping on Notification in Notification Center
  Notifications := PushService.StartupNotifications;
  if Length(Notifications) > 0 then
  begin
    Memo.Lines.Add('-----------------------------------------');
    Memo.Lines.Add('DataKey = ' + Notifications[0].DataKey);
    Memo.Lines.Add('Json = ' + Notifications[0].JSON.ToString);
    Memo.Lines.Add('DataObject = ' + Notifications[0].DataObject.ToString);
    Memo.Lines.Add('-----------------------------------------');
  end;
end;
Wenn ich die Registrierung über Android mache bekomme ich ein Token mit 152 Zeichen zurück,
mit einer IOs Anmeldung ist das Token nur 64 Zeichen lang.

Die Push-Nachricht funktioniert nur auf einem Android Gerät.

Hat jemand eine Idee wo ich den Fehler suchen muss?

Danke schonmal

Gregor
  Mit Zitat antworten Zitat