Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Google firebase push Nachricht IOs Android (https://www.delphipraxis.net/206556-google-firebase-push-nachricht-ios-android.html)

ueding 5. Jan 2021 17:08

Google firebase push Nachricht IOs Android
 
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

Rollo62 5. Jan 2021 17:44

AW: Google firebase push Nachricht IOs Android
 
Schau Dir besser auch mal das hier an.
https://www.google.com/search?client...om%2F+fcm+push

ueding 24. Jan 2021 15:50

AW: Google firebase push Nachricht IOs Android
 
Hallo

Danke das Funktioniert wunderbar.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz