01-02-2025, Saat: 13:50
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
Sanırım aşağıdaki kod örneğini delphiye aktarabilirsem sorunu çözmüş olacağım.
Örnek POST isteği
Örnek sonuç
Aşağıdaki şekilde function yazıyorum ama sonuçta token gelmiyor..Nerde hata yapıyorum acaba
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
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;

