05-11-2021, Saat: 09:23
(04-11-2021, Saat: 17:47)emrahozten Adlı Kullanıcıdan Alıntı:(04-11-2021, Saat: 16:46)RAD Coder Adlı Kullanıcıdan Alıntı: "Firebase' de Send Test Message gönderdiğimde bildirim geliyor." demişsiniz.
O halde PN gönderme yönteminizde bir sorun olabilir mi?
Denemediğim yöntem kalmadı. İlgilendiğiniz için çok teşekkür ederim, fakat sizce yukarıda yazığım kodları incelediğinizde hata görüyor musunuz? @RAD Coder
Uygulamayı çalıştırdım, 64 karakterli Apn anahtarını DoParseResult(dmMain.RESTResponse2.Content); procedurune gönderip FMC token elde edebiliyorum.
Sonra o tokeni alıp Send Test Message ile gönderirsem geliyor. Fakat bildirim geldiğinde şu procedure çalışıyor ve normalde bu procedurdeki;
ShowMessage('obj value:'+aObj.Value); değerinde mesaj içeriği gelmesi lazım dimi, burası boş geliyor. Ama Androidde hem bildirim hemde buraya Firebase' de yazdığım mesaj geliyor. Zaten anlamadığım durum Test Bildirimi cihazın üstünden açılır mesajda düzgün geliyor ama aObj := ANotification.DataObject.GetValue(APNsSignature); burası boş geliyor.
Bir de Send Test Message göndermeyip mesajı yazıp en alttan Review > Publish dersem hiç bir gelen giden yok. Bu procedure ün içine dahi girmiyor. Dünyadan bi haber
procedure TFormAna.OnReceiveNotificationEvent(Sender: TObject;
const ANotification: TPushServiceNotification);
const
FCMSignature = 'gcm.notification.body';
GCMSignature = 'message';
APNsSignature = 'alert';
var
aText: string;
aObj: TJSONValue;
begin
ShowMessage('bildirim geldi ama boş');
{$IFDEF ANDROID}
aObj := ANotification.DataObject.GetValue(GCMSignature);
if aObj <> nil then
aText := aObj.Value
else
aText := ANotification.DataObject.GetValue(FCMSignature).Value;
{$ELSE}
aObj := ANotification.DataObject.GetValue(APNsSignature);
ShowMessage('obj value:'+aObj.Value);
if aObj <> nil then
aText := aObj.Value;
{$ENDIF}
end;
Yazdığınız bu metod içindeki tüm kod satırlarını kapatarak, yalnızca aşağıdaki kod satırı ile FCM tarafından gelen JSON veriyi yakalayıp bizimle paylaşabilir misiniz?
ANotification.JSON.ToString;
Begin : = end / 2;