Hallo Michael,
du hast Recht. Es funktioniert. Ich bekomme keine Fehlermeldung und die Nachricht kommt auch an wenn ich über firebaase notivication eine Nachricht sende direkt an das Token. Wenn ich in firebaase notivication als Ziel Nutzersegment(default) und meine App auswähle, wird die Nachricht nicht empfangen. Ich muss also direkt über das Token gehen.
Aktuell ist es so, wenn die App aktiv ist, wird der Event
AServiceConnection.OnReceiveNotification
gefeuert. Ist sie nicht aktiv kommt die Meldung nur in das Notification-Center.
Klicke ich auf die Nachricht wird die App gestartet. Gibt es eine Möglichkeit die Notification vom Notification-Center nochmals "abzuholen" so das der Event gefeuert wird incl. der übergebenen Notification damit sie behandelt wird?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
TThread.CreateAnonymousThread(procedure ()
const
Senderid: String = '383490665090';
var
ADeviceID, ADeviceToken: string;
begin
APushService := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.GCM);
APushService.AppProps[TPushService.TAppPropNames.GCMAppID]:=SenderID;
AServiceConnection:=TPushServiceConnection.Create(APushService);
AServiceConnection.Active:=True;
AServiceConnection.OnChange := OnChange;
AServiceConnection.OnReceiveNotification := OnReceiveNotificationEvent;
ADeviceID := APushService.DeviceIDValue[TPushService.TDeviceIDNames.DeviceID];
ADeviceToken := APushService.DeviceTokenValue[TPushService.TDeviceTokenNames.DeviceToken];
TThread.Synchronize(TThread.CurrentThread,
procedure()
begin
Memo1.Lines.Add('DeviceID = ' + ADeviceID);
Memo1.Lines.Add('DeviceToken = ' + ADeviceToken);
end);
end).Start;
end;
Gruß Kostas