자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 바쁜 와중에도 답변을 주시는 분들께 감사 댓글 필수
-----------------------------------------------------------------------------------------------

 

안녕하세요.

 

윈도우즈에서는 Idhttp컴포넌트를 이용하여 아래와 같이 하면 Notification을 보낼 수 있으나 firemonkey에서는 ssl 모듈을 로드하지 못하여 보낼수 없다고 합니다. restclient, restrequest, restresponse 컴포넌트를 이용한 fcm Notification 보내는 방법을 요청합니다.

 

아래는 오상현님께서 알려주신 윈도우즈용 어플에서 Notification 보내는 소스

 

unit u_mainserver;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, System.PushNotification,
  System.JSON, IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdSSL,
  IdSSLOpenSSL, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdHTTP;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    dt_message: TEdit;
    btn_sendmsg: TButton;
    Memo1: TMemo;
    IdHTTP1: TIdHTTP;
    IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
    procedure btn_sendmsgClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn_sendmsgClick(Sender: TObject);
var
  AJson : TJSonObject;
  AJsonData : TJSonObject;
  ARegisterIds : TJsonArray;
  AData, AResponseContent : TStringStream;
  DeviceToken : String;
begin
  ARegisterIds := TJSonArray.Create();
  AJSon := TJSonObject.Create();
  try
    // Set Device token
// sampleapp1    DeviceToken :='APA91bGzF9sjjWusQ2b4pZjMmyTWJnZF6woK6MseaH-d_ocn1p_-sp9086tVgpjBKPhSBwOXsRURyj_lGFCM3Qnioq8eqSO5YfFJzEuYtlJ350dxnvXj1FakhW3NAMfI9VWfi8MV3SiQ';
    DeviceToken :='APA91bHvDIljDGdbSp7KFpjDdlT7KMxXXMqUmGE1W0LBZjANYocimlmjRMDJ63Bz_WCL-csofnST14HnM_01aEuGLk57i8weo3FFnU8vk1usC-BWKDP8ysGkcHWoNU3tYgAsGbmrptkX';

    // Set the device token
    ARegisterIds.Add(DeviceToken);

    // Create JSon to Send;
    AJSonData := TJSonObject.Create;
    AJSonData.AddPair('id','12345678');
    AJSonData.AddPair('message',dt_message.Text);

    // Add the information to send GCM Server
    AJSon.AddPair('registration_ids', ARegisterIds);
    AJson.AddPair('data',AJSonData);

    // Set the Header.
    IdHttp1.Request.ContentType := 'application/json';

    // Set the key for server application
    IdHttp1.Request.CustomHeaders.AddValue('Authorization','key=AIzaSyDRwARpsug8D5X1MjjF6wyrY3AxhGUliPM');

    // Send the Notification
    AData := TStringStream.Create(AJSon.ToString);
    Adata.Position := 0;
    AResponseContent := TStringStream.Create;
    IdHttp1.Post('https://fcm.googleapis.com/fcm/send',AData,AResponseContent);
  finally
    Memo1.Lines.Add(AJSon.ToString);
    Memo1.Lines.Add(AResponseContent.DataString);
  end;
end;

end.

 

감사합니다.
 

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 17260
공지 유용한 관련 사이트 관리자2 2014.03.20 56158
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99579
314 OSX 개발시 ICON 가져오기 freehun 2016.05.27 130
313 firemonkey로 window와 mac OS 를 개발하는 중입니다. 모바일과 푸쉬를 주고 받을수 있는지 궁금합니다. [1] 운땡최향태 2016.05.31 160
312 Xe5에서 안드로이드 버전 얼마까지 지원되나요? [1] 농가사랑 2016.06.01 206
311 부팅시 자동실행(브로드캐스트 리시버)예제를 따라하니 앱이 강제 종료됩니다. [1] file 김태윤 2016.06.01 786
310 안드로이드 디버깅이 재대로 실행되지 않습니다. [3] hsson 2016.06.03 415
309 [시애틀]비콘을 안드로이드 서비스로 감지하는데 자꾸 응답없음으로 강제종료됩니다. [2] 김태윤 2016.06.09 535
308 [시애틀]디버그 모드 진입 불가 [1] 김태윤 2016.06.14 409
307 안드로이드 플랫폼에서 jpg, png파일 포맷 사용하려면 [2] superman 2016.06.15 748
306 안드로이드 ViewPager 구현 문의 [2] file 손주영 2016.07.08 328
305 Tools->Options->Provisioning 에 들어가면 ... file 어려워 2016.07.09 152
304 안드로이드 서비스에서 비콘감지 김태윤 2016.07.11 549
303 DICOM 포맷을 핸들링할 수 있는 파이어몽키(FMX) 컴포넌트가 있나요? [1] 관리자 2016.07.11 608
302 ios 한글이 깨집니다. (같은 환경에서 안드로이드는 잘 됩니다) file 어려워 2016.07.14 305
301 비콘 감지중 블루투스를 사용자가 강제로 off시 어떻게 처리해야 할까요? 김태윤 2016.07.15 708
300 MultiView에서 MultiDetail3.InternalPlaceOffset.X 를 수정할 수가 없네요. 어려워 2016.07.17 139
299 TBeacon컴포넌트의 속성중 시간값관련속성의 정확한 쓰임새가 궁금합니다. [2] 김태윤 2016.07.18 165
298 TBeacon 비동기I/O관련 질문입니다. [1] 김태윤 2016.07.19 114
297 ios에서는 문자메세지를 어떻게 보내나요? [2] 어려워 2016.07.19 595
296 xe7에서 마쉬멜로 6.0.1 버전 빌드시에 [2] 손인호 2016.07.20 226
295 Connection Closed Gracefully [4] file 박군80 2016.07.27 2548