Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
FCM v1 API Push Notification Servisini Kullanmak (OAuth2.0 ile)
#1
Google FCM ile push notification göndermek için önceden klasik (legacy) server key ve api key'ler kullanılıyordu. Bu yöntemin kullanımı kolay olmasının yanında, güvenlik riski barındırıyordu. 
Bu nedenle 22 Temmuz 2024 tarihinden başlamak üzere tüm Google Cloud API'lere, Auth2.0 güvenlik protokolü ile istek yapılmasını zorunlu hale getirdi.
FCM ile push notification gönderme yöntemi de bu işten nasibini aldı. 
FCM v1 API servisi etkinleştirilince eski kullanım yöntemi de ortadan kaldırılmış oldu. 

Aşağıdaki linkte bu geçişin nasıl yapılacağı detaylı bir şekilde anlatılmış.
Migrate from legacy FCM APIs to HTTP v1

Bu kılavuza göre; 
  - RS256 hash algoritmasına göre JWT Token üretilmeli
  - Yeni bir erişim token'ı (Access token) alınmalı
  - Tüm istekler, header'da Bearer + access token olacak şekilde yapılmalı.

Tüm bu süreçleri %100 Delphi kodu ile yapacak şekilde uzun soluklu bir çalışmam oldu. 
Çalışmalarım neticesinde, yukarıda belirttiğim tüm işlem adımlarını gerçekleştiren bir demo ortaya çıkardım. 
FCM console ve Apple developer hesap üzenindeki tanımlamalar, demo uygulama ve fonksiyonları, entegrasyon süreci ve doğrudan eğitim/canlı bağlantı ile ücretli bir destek vermeyi düşünüyorum.
Ücretlendirme ilk altı madde tek paket ve iki opsiyonel paket olmak üzere yapılacaktır. Opsiyonel olan maddeler kendi içinde ayrı ayrı üclendirilecektir. 
ÖM ile aşağıdaki maddelerden hangilerini kapsayacak destek talebinizin olduğunu yazarak fiyat isteyebilirsiniz.  
Yapılacak iş/işlemler aşağıda detaylı olarak yazılmıştır.  

Firebase Cloud Messaging (FCM) v1 API Servisini Kullanmak (OAuth2.0 ile)
1- FCM servis kullanıcı dosyasını (service account file) okuyarak, proje bilgilerini almak.
2- Lokalde (kişisel bilgisayar veya kişisel sunucu üzerinde), RS256 hash algoritmasına göre JWT Token (Refresh Token) üretilmek.
3- Refresh token ile FCM servislerine erişmek için gerekli olan Access Token bilgisini almak. 
4- Acces token ile Push Notification göndermek.
5- Access token ile iOS push notification token değerinin (APNs token), FCM token değerine dönüştürülmesi.
6- FCM console üzerinden kullanıcı servis dosyasının oluşturulması (Application Default Credentials (ADC) işlemleri) ve indirilmesi (Opsiyonel-1.1 tamamlanmış olmalı).

Opsiyonel-1
1- FCM console üzerinden Android ve iOS Push Notification tanımlamaları yapmak (Uygulama PN ayarları ve Apple Developer PN tanımlamaları yapılmış olmalı).
2- Apple Developer hesabı üzerinden, iOS Push Notification tanımlamaları, sertifikasyonu ve provizyonlarının oluşturulması.

Opsiyonel-2
1- Demo uygulamada yer alan fonksiyonların projeniz üzerine entegrasyonu.
2- Demo uygulamada yer alan Refresh Token alma işleminin REST API olarak yayınlanması ve REST API'den istekle refresh token alınması.
3- Mobil uygulamadan, cihaz UUID ve Token değerinin alınması (Opsiyonel-1 deki, 1 ve 2. madde tamamlanmış olmalı). 

Notlar
1- Tüm kaynak kodlar tamamen Delphi ile yazılmıştır. Harici kütüphane olarak açık kaynak kodlu JWT kütüphanesi kullanılmıştır.
2- Pratik olması açısından tüm işlemler tek bir uygulama gövdesi üzerinden gerçekleştirilecek şekilde hazırlandı.
3- İçerik; 1 adet demo uygulama ve yarım saatlik eğitim/anlatım (opsiyonel tercihinde toplamda 2 saat eğitim). 
4- Belirtilen saatlerin üzerindeki online çalışmalar ayrıca ücrete tabidir.
Begin : = end / 2;
Cevapla
#2
Konu yanlış anlaşılmış olabilir;
Eğitim seti değil. Push notification sisteminin başta sona projenize dahil edilmesini kapsayan süreçte telefon görüşmeleri, online uzaktan bağlantı ile işlem yapma ve kodun anlatımını kapsar. 
Aynı zamanda Push notificatin örnek uygulamasını içerir.
Begin : = end / 2;
Cevapla
#3
Hocam, örnek uygulamayı verecek misiniz yoksa sadece bir exe olarak mı teslim edeceksiniz?
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Cevapla
#4
(11-04-2025, Saat: 14:43)shooterman Adlı Kullanıcıdan Alıntı: Hocam, örnek uygulamayı verecek misiniz yoksa sadece bir exe olarak mı teslim edeceksiniz?

Kodun tümü teslim edilecek.
Begin : = end / 2;
Cevapla
#5
FCM v1 API ile push notification göndermek için iki farklı demo hazırladım. 

1. Uygulama Token oluşturma
Uygulama VCL tabanlı (Kolayca web servise veya FMX mimarilerine dönüştürülebilir)

1- FCM servis kullanıcı dosyasını (service account file) okuyarak, proje bilgilerini alır.
2- Lokalde (kişisel bilgisayar veya kişisel sunucu üzerinde), RS256 hash algoritmasına göre JWT Token (Refresh Token) üretir.
3- Refresh token ile FCM servislerine erişmek için gerekli olan Access Token üretir.   




2. Uygulama push notification göndermek ve iOS APNs token'ı FCM token'a dönüştürme
Uygulama mobil (FMX) tabanlı.

1- Acces token ile Push Notification gönderir.
2- Access token ile iOS push notification token değerinin (APNs token), FCM token değerine dönüştürür.




Kod oldukça sade olduğundan, ana uygulamaya entegrasyonu çok kolaydır.

   
Begin : = end / 2;
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  FMX Mimarisinde Harici FONT (True - Type) Kullanmak RAD Coder 1 572 26-10-2023, Saat: 18:40
Son Yorum: SamerAssil
  Notification Action click emrahozten 2 623 27-09-2023, Saat: 16:18
Son Yorum: emrahozten
  Delphi 11 IOS Push Notification Token Sorunu elixir84 9 2.274 05-04-2023, Saat: 14:20
Son Yorum: elixir84
  Rad Server Push Notification emrahozten 2 1.027 24-01-2023, Saat: 21:31
Son Yorum: Hayati
  FCM Push Notification Resim Ekleme vedat33 0 695 15-12-2022, Saat: 13:56
Son Yorum: vedat33



Konuyu Okuyanlar: 1 Ziyaretçi