자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15766
공지 유용한 관련 사이트 관리자2 2014.03.20 54580
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97985
494 알람앱 만들기 질문드립니다. [2] 루피 2018.07.17 334
493 Firemonkey의 Webbrowser에서 로컬 Pdf 파일 읽기 [1] 슈퍼맨 2018.06.22 845
492 DragMode가 dmAutomatic일 때, 클릭 이벤트 작동하지 않음 VT 2018.06.12 235
491 안드로이드 기반에서 mysql 데이터 베이스로 바로 접속하는 방법 없나용? [1] 김종찬 2018.05.30 339
490 삼성폰에서 TEdit 엔터키를 입력하면 앱이 죽어 버립니다. 파이어버드 2018.05.31 174
489 uses permission으로 설정한 권한 런타임시 허용 대화상자 띄우는 방법이 궁금합니다. [1] 김태윤 2018.05.24 661
488 10.2 도쿄 안드로이드 에뮬레이터 세팅 관련 [1] 스머프 2018.05.28 518
487 TButton에 TImage를 Child로 만들었는데.. [1] 미크 2018.05.16 141
486 iOS 에서 Bluetooth Low Energy 검색이 안되는데, 저만의 문제인가요? [1] 지병철 2018.05.11 175
485 쇼핑몰 결제시스템 연동 문의 지병철 2018.04.23 299
484 베를린으로 안드로이드 개발시 string Grid 클리어는 어떻게 하는지 알고 싶습니다. [1] wiju 2018.04.10 215
483 TListBox 런타임 시 스크롤 위치 변경방법이 궁금합니다. 김태윤 2018.04.09 264
482 부팅시 자동실행(브로드캐스트 리시버)예제를 따라하니 앱이 강제 종료됩니다. [1] file 김태윤 2016.06.01 767
481 JAR를 임포팅하여, 인터페이스로 구현된 콜백함수를 호출하지 못하고 있습니다. [2] 조르디 2018.03.27 194
480 seattle FMX에서 GetJDisplayMetrics hsson 2018.03.28 118
479 안드로이드를 선택할 경우 run이 비활성화 되었습니다 [2] 조르디 2018.03.21 160
478 RadStudio tokyo 10.2.3 설치 후 TMapView Error [2] 제우스 2018.03.21 237
477 Tokyo 10.2.2에서 안드로이드용 실행문제 [2] 스카이 2018.01.26 249
476 동적생성한 컴퍼넌트 해제 질문입니다. [1] 희망나라 2018.02.28 228
475 최신폰 하단의 Navigation Bar 에 따른 FormResize 문제 [1] 지병철 2018.03.05 204