Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
iOS Bildirim hakkında
#17
(01-02-2025, Saat: 13:50)barissagir Adlı Kullanıcıdan Alıntı: Merhabalar, yorumlarınız çok teşekkür ederim.

Muammer hocam, Sanırım çözüm Serhat beyin dediği gibi,

ios ta ki gelen tokenın APN token muş. Onu AccessToken ile birlikte kullanıp registration_token u bulmak lazım.

Serhat bey PHP kodunda bunu yapmış. (ama ben kullanmayı beceremedim  Sad

Sanırım aşağıdaki kod örneğini delphiye aktarabilirsem sorunu çözmüş olacağım.


Örnek POST isteği

https://iid.googleapis.com/iid/v1:batchImport
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
access_token_auth:true
{
 "application": "com.google.FCMTestApp",
 "sandbox":false,
 "apns_tokens":[
      "368dde283db539abc4a6419b1795b6131194703b816e4f624ffa12",
      "76b39c2b2ceaadee8400b8868c2f45325ab9831c1998ed70859d86"
   ]
}


Örnek sonuç

HTTP 200 OK
{
"results":[
       {
        "apns_token": "368dde283db539abc4a6419b1795b6131194703b816e4f624ffa12",
         "status": "OK",
         "registration_token":"nKctODamlM4:CKrh_PC8kIb7O...clJONHoA"
       },
       {
         "apns_token": "76b39c2b2ceaadee8400b8868c2f45325ab9831c1998ed70859d86",
         "status":"Internal Server Error"
        },
     ]
 }



Aşağıdaki şekilde function yazıyorum ama sonuçta token gelmiyor..Nerde hata yapıyorum acaba

function TForm1.iOsTokenAl(AccessToken,APNToken:string):string;
  begin
     with RESTClient1 do
          begin
          Accept:='application/json, text/plain; q=0.9, text/html;q=0.8,';
          AcceptCharset:='utf-8, *;q=0.8';
          BaseURL:='https://iid.googleapis.com/iid/v1:batchImport';
          ContentType:='application/json';
          end;

     RESTResponse1.ContentType:='application/json';

     with  RESTRequest1 do
           begin
           Params.Clear;
           Client:=RESTClient1;
           Method:=TRESTRequestMethod.rmPOST;

           Params.Add;
           Params[0].ContentTypeStr:='';
           Params[0].Kind:=TRESTRequestParameterKind.pkHTTPHEADER;
           Params[0].Name:='Authorization';
           Params[0].Options:=[TRESTRequestParameterOption.poDoNotEncode];
           Params[0].Value:='Bearer '+AccessToken;

           Params.Add;
           Params[1].ContentTypeStr:='';
           Params[1].Kind:=TRESTRequestParameterKind.pkHTTPHEADER;
           Params[1].Options:=[TRESTRequestParameterOption.poDoNotEncode];
           Params[1].Name:='access_token_auth';
           Params[1].Value:='true';

           Params.Add;
           Params[2].ContentTypeStr:='application/json';
           Params[2].Kind:=TRESTRequestParameterKind.pkREQUESTBODY;
           Params[2].Name:='body4F2F8D1B700A48268C02F0BEF90A6118';

           Params[2].value:='{'+
                            '"application": "com.google.FCMTestApp",'+
                            '"sandbox":false,'+
                             '"apns_tokens":"'+APNToken+'"'+

                              '}';



           Execute;
           end;

            Result:=RestResponse1.Content;
  end;


1- https://console.firebase.google.com üzerinde, iOS App oluşturmalısınız. Örneğinizde, proje adı com.google.FCMTestApp. Proje oluştururken; Delphi proje ayarlarınızda uygulamanızın adı ne ise o adı hem firebase proje adı olarak yazmalı, hem de gönderdiğiniz json içinde bu adı göndermelisiniz. Sorunun asıl kaynağı da bu olabilir.
2- Apple Developer hesabınız ile App IDs ekranında uygulamanızı seçip, uygulama özelliklerinde APNs kısmında Developer ve Production APNs sertifikalarını etkinleştirin.
3- Certificates sayfasında, oluşturduğunuz PN sertifikalarını indirip, macOS bilgisayara yükleyin.
4- macOS üzerinde, Keychain Access aracılığıyla PN sertifikalarını tek tek seç ve export edin. Böylece pem sertifikasını, p12 sertifikasına dönüştürmüş olacaksınız.
5- console.firebase/Project settings/Cloud Messaging sekmesi/APNs Certificates ekranına gidin ve buradaki development APNs certificate ve Production APNs certificate alanlarına ilgili sertifikaları yükleyin.
6- Tekrar göndermeyi deneyin ve dönen json'ı bize iletin.

Olası hata sebepleri;
1- Yukarıda belirtilen firebase ve Apple Developer konfigürasyonlarının doğru yapılmamış olması.
2- RESTRequest1; bir ve ikinci parametrelerde ContentTypeStr boş set etmişsiniz. Bu satırları silin (Params[0].ContentTypeStr:='' ve Params[1].ContentTypeStr:='' ).
3- RESTRequest1; 3. parametrede  proje adının (com.google.FCMTestApp), asıl proje adı ile aynı olmaması.
4- RESTRequest1; 3. parametrede sandbox, test ortamı için true olmalıdır. Yani developer sertifikası ve test cihazınızda işlem yapıyorsanız "sandbox":true olmalıdır.
Begin : = end / 2;
Cevapla


Bu Konudaki Yorumlar
iOS Bildirim hakkında - Yazar: barissagir - 29-01-2025, Saat: 17:12
Cvp: iOS Bildirim hakkında - Yazar: RAD Coder - 29-01-2025, Saat: 17:21
Cvp: iOS Bildirim hakkında - Yazar: shooterman - 30-01-2025, Saat: 11:08
Cvp: iOS Bildirim hakkında - Yazar: RAD Coder - 30-01-2025, Saat: 11:19
Cvp: iOS Bildirim hakkında - Yazar: shooterman - 30-01-2025, Saat: 11:49
Cvp: iOS Bildirim hakkında - Yazar: barissagir - 30-01-2025, Saat: 15:42
Cvp: iOS Bildirim hakkında - Yazar: RAD Coder - 30-01-2025, Saat: 16:11
Cvp: iOS Bildirim hakkında - Yazar: barissagir - 30-01-2025, Saat: 16:58
Cvp: iOS Bildirim hakkında - Yazar: RAD Coder - 30-01-2025, Saat: 17:03
Cvp: iOS Bildirim hakkında - Yazar: barissagir - 30-01-2025, Saat: 18:11
Cvp: iOS Bildirim hakkında - Yazar: RAD Coder - 31-01-2025, Saat: 09:20
Cvp: iOS Bildirim hakkında - Yazar: barissagir - 31-01-2025, Saat: 23:49
iOS Bildirim hakkında - Yazar: barissagir - 31-01-2025, Saat: 15:30
iOS Bildirim hakkında - Yazar: mrmarman - 01-02-2025, Saat: 09:52
Cvp: iOS Bildirim hakkında - Yazar: Mr.X - 01-02-2025, Saat: 10:20
Cvp: iOS Bildirim hakkında - Yazar: barissagir - 01-02-2025, Saat: 13:50
Cvp: iOS Bildirim hakkında - Yazar: RAD Coder - 03-02-2025, Saat: 10:27
Cvp: iOS Bildirim hakkında - Yazar: barissagir - 03-02-2025, Saat: 15:09
Cvp: iOS Bildirim hakkında - Yazar: Mr.X - 03-02-2025, Saat: 15:32
Cvp: iOS Bildirim hakkında - Yazar: barissagir - 03-02-2025, Saat: 16:27

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Orange Ui Page Control Hakkında nurah 3 571 30-10-2025, Saat: 09:17
Son Yorum: RAD Coder
  Firebase den bildirim gelmiyor. barissagir 1 580 22-09-2024, Saat: 09:36
Son Yorum: arsl01
  Duns Numarası Hakkında Yardım glagher 5 1.579 16-08-2024, Saat: 16:48
Son Yorum: glagher
  Xcode Üyeliği hakkında barissagir 15 5.017 07-02-2024, Saat: 16:26
Son Yorum: barissagir
  Andorid Font Hakkında barissagir 2 1.009 20-11-2023, Saat: 09:05
Son Yorum: RAD Coder



Konuyu Okuyanlar: 1 Ziyaretçi