Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi 11 IOS Push Notification Token Sorunu
#1
Merhaba, 
Yazmadan önce çok araştırdım ama bir türlü yapamadım. IOS uygulamam geliştirici lisansı dolduğu için bir süredir markette yoktu. Tekrar geliştirici lisansı aldım ve yeni delphi ile derledim yayınladım. Ama bir türlü bildirim için token alamadım. eski versiyondan kalan tokenlara bildirim gidiyormuş ama yeni yüklenen cihazlar token alamadığı için bildirim göndermiyorum. Delphi 11 de IOS tarafında token alabililen varmı aşağıda yaptığım adımları yazdım. Dikkat etmem gereken yada yanlış yaptığım birşey varmı. 

Delphi Versiyon : 11.1
MAC Versiyon : Monterey 12.0.1
XCode Versiyon : 13.1

Mac Cihazda Anahtar Zincir Erişimin den CertificateSigningRequest.certSigningRequest oluşturdum bilgisayarıma aldım.

Apple Geliştirici Sayfasından,
1-Keys Oluşturdum ve İndirdim AuthKey_XXXXXXXXX.p8
2-Identifiers den uygulamamın  içinden Push Notifications seçitim ve Edit ile
“Development SSL Certificate “ve “Production SSL Certificate” Sertifikaları oluşturdum ve indirdi. (aps.cer ve aps_development.cer)
Bu sertifikaları Mac Cihazında açtım. Sonra onları p12 olarak kaydettim.

Firebase Sayfasından
1-Oluşturduğum projemin ios app ekledim.
2- GoogleService-Info.plist dosyasını indirdim. (Delphide Project-Deployment kısmına ekledim) Yanlış olabilir !!!!
3-Cloud Messaging kısmından AuthKey_XXXXXXXXX.p8 ve p12 uzantılı dosyaları tanımladım.

procedure TformAna.SetFCMKayitYap;
var
FPushService: TPushService;
FPushServiceConnection: TPushServiceConnection;
begin
try
FPushService := nil;
FPushServiceConnection := nil;
{$IF defined(ANDROID)}
FPushService := TPushServiceManager.Instance.GetServiceByName
(TPushService.TServiceNames.FCM);
FPushService.AppProps[TPushService.TAppPropNames.GCMAppID] := FAndroidServerKey;
{$ENDIF}
{$IF defined(IOS) AND defined(CPUARM)}
FPushService := TPushServiceManager.Instance.GetServiceByName
(TPushService.TServiceNames.APS);
{$ENDIF}
if Assigned(FPushService) then
begin
FPushServiceConnection := TPushServiceConnection.Create(FPushService);
FPushServiceConnection.Active := True;
FCihazId := FPushService.DeviceIDValue[TPushService.TDeviceIDNames.DeviceID];
FCihazToken := FPushService.DeviceTokenValue[TPushService.TDeviceTokenNames.DeviceToken];
end;
except
on E:Exception do
     begin
showmessage(E.Message);
     end;
end;
end;
 
Cevapla
#2
FCM 'e  ya .p8 sertifikasını yüklersiniz, yada p12 uzantılı Developer ve Production sertifikalarını ayrı ayrı yüklersiniz.
- P8 sertifikasını yüklemeyin. Yalnızca .p12 sertifikalarını yükleyin.
- Proje ayarlarında, version info sekmesinde UIBackgroundModes alanında remote notification seçili olsun.
Begin : = end / 2;
Cevapla
#3
(05-04-2023, Saat: 09:43)RAD Coder Adlı Kullanıcıdan Alıntı: FCM 'e  ya .p8 sertifikasını yüklersiniz, yada p12 uzantılı Developer ve Production sertifikalarını ayrı ayrı yüklersiniz.
- P8 sertifikasını yüklemeyin. Yalnızca .p12 sertifikalarını yükleyin.
- Proje ayarlarında, version info sekmesinde UIBackgroundModes alanında remote notification seçili olsun.

Cevap için teşekkürler.
UIBackgroundModes =  remote notification seçili
p8 serfitikasını sildim yine uygulama token almadı.

@TescilsizUzman Şimdi farkettim benim test cihazım ipad onda almıyor ama telefonlarda token alıyor. bunun nedeni ne olabilir ?
Cevapla
#4
Merhaba çok ilginç,
Ipad için hiç deneme şansım olmadı fakat Version Info alanında UIDeviceFamily satırını Iphone & Ipad seçtiniz mi?
Muharrem ARSLAN
WWW
Cevapla
#5
(05-04-2023, Saat: 13:17)arsl01 Adlı Kullanıcıdan Alıntı: Merhaba çok ilginç,
Ipad için hiç deneme şansım olmadı fakat Version Info alanında UIDeviceFamily satırını Iphone & Ipad seçtiniz mi?

Seçili. Zaten orayı sadece Iphone de bırakırsan program görseli telefon gibi küçük oluyor
Cevapla
#6
Ipad cihazı provizyona eklemiş miydiniz?
Begin : = end / 2;
Cevapla
#7
(05-04-2023, Saat: 14:00)RAD Coder Adlı Kullanıcıdan Alıntı: Ipad cihazı provizyona eklemiş miydiniz?

Tam sorunuzu anlayamadım.

Ipad cihazımı apple developer dan profile ekledim.
Cevapla
#8
(05-04-2023, Saat: 14:07)elixir84 Adlı Kullanıcıdan Alıntı:
(05-04-2023, Saat: 14:00)RAD Coder Adlı Kullanıcıdan Alıntı: Ipad cihazı provizyona eklemiş miydiniz?

Tam sorunuzu anlayamadım.

Ipad cihazımı apple developer dan profile ekledim.

Apple developer / Devices kısmına cihazı ekledikten sonra, Profiles kısmında provizyon alırken de bu cihazı seçip, provizyona dahil etmeniz gerekiyor.
Begin : = end / 2;
Cevapla
#9
(05-04-2023, Saat: 14:10)RAD Coder Adlı Kullanıcıdan Alıntı:
(05-04-2023, Saat: 14:07)elixir84 Adlı Kullanıcıdan Alıntı: Tam sorunuzu anlayamadım.

Ipad cihazımı apple developer dan profile ekledim.

Apple developer / Devices kısmına cihazı ekledikten sonra, Profiles kısmında provizyon alırken de bu cihazı seçip, provizyona dahil etmeniz gerekiyor.

 Daha sonra tekrar sertifikaları yüklemesi gerekiyor diye hatırlıyorum.
Muharrem ARSLAN
WWW
Cevapla
#10
(05-04-2023, Saat: 14:16)arsl01 Adlı Kullanıcıdan Alıntı:
(05-04-2023, Saat: 14:10)RAD Coder Adlı Kullanıcıdan Alıntı: Apple developer / Devices kısmına cihazı ekledikten sonra, Profiles kısmında provizyon alırken de bu cihazı seçip, provizyona dahil etmeniz gerekiyor.

 Daha sonra tekrar sertifikaları yüklemesi gerekiyor diye hatırlıyorum.

Bunları neden yapmama gerektiğini anlamadım.

Profilden cihaz ekledim sertifikaları da yeni oluşturmuştum.
Uygulama çalışıyor sadece ipad de token vermiyor.
Uygulamayı marketten indirince de vermiyor.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi 12 IOS Simulatorde Uygulama Çalışmıyor elixir84 13 1.467 07-05-2024, Saat: 08:33
Son Yorum: elixir84
Exclamation Delphi 12 - Android 14 nevez 22 1.098 26-04-2024, Saat: 22:54
Son Yorum: nevez
  Delphi FMX Enter tuşu (dpad_center) yakalama tarkancengiz 8 403 20-03-2024, Saat: 15:54
Son Yorum: tarkancengiz
  Delphi 12 Boş Form Derleme Hatası [Çözüldü] codder71 4 601 21-02-2024, Saat: 22:09
Son Yorum: codder71
  CTRL + D delphi versiyon farkı Altıner 5 734 16-01-2024, Saat: 11:15
Son Yorum: yhackup



Konuyu Okuyanlar: 1 Ziyaretçi