Всем привет!
Пытаюсь отправлять PUSH через компонент IdHTTP
//...
//Var ID: Integer;
//...
Procedure SentPush (ServerKey, DeviceToken: String);
// Uses System.JSON
var
AJson: TJSONObject;
AJsonData: TJSONObject;
ARegisterIds:TJSONArray;
AData, AResponseContent:TSTringStream;
Begin
ARegisterIds := TJSONArray.Create;
AJson := TJSONObject.Create;
try
ARegisterIds.Add(DeviceToken);
AJsonData := TJSONObject.Create;
AJsonData.AddPair('id', ID.ToString());
ID := ID + 1;
AJsonData.AddPair('message', 'Привет');
AJson.AddPair('registration_ids', ARegisterIds);
AJson.AddPair('data', AJsonData);
fMain.IdHTTP1.Request.ContentType := 'application/json';
fMain.IdHTTP1.Request.CustomHeaders.AddValue('Authorization', 'key=' + ServerKey);
AData := TStringStream.Create(AJson.ToString, TEncoding.UTF8);
AData.Position := 0;
AResponseContent := TStringStream.Create('', TEncoding.UTF8);
fMain.IdHTTP1.Post('https://android.googleapis.com/gcm/send', AData, AResponseContent);
AResponseContent.Position := 0;
fMain.Memo1.Lines.Add('https://android.googleapis.com/gcm/send' + AJson.ToString);
fMain.Memo1.Lines.Add(AResponseContent.DataString);
finally
end;
End;
Пример взят с
На Windows работает, Push отправляются и приходят.
Тот же самый код на Android не работает, выдает ошибку: Could not load SSL library.
На форумах советуют обновить Indy, подсунуть недостающую библиотеку...
Кто подскажет чем это лечится?
(Delphi 10.1 Berlin Upd2. Android 6)