자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15769
공지 유용한 관련 사이트 관리자2 2014.03.20 54588
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 98012
314 [공유] 파이어몽키 모바일 화면 개발 시 디자인 적용이 용이한가요? Humphery 2015.03.19 517
313 Apple healthkit 사용법에 대해 도움 요청 드립니다. [2] 지병철 2021.06.18 517
312 10.2 도쿄 안드로이드 에뮬레이터 세팅 관련 [1] 스머프 2018.05.28 518
311 webbrowser 문의 [1] file 김하나 2015.05.30 518
310 아이폰 앱개발 환경설정 문의 [2] 김태윤 2016.10.06 523
309 모바일 폰 사진첩 폴더 접근방법 [2] 향기 2016.12.06 524
308 [시애틀]비콘을 안드로이드 서비스로 감지하는데 자꾸 응답없음으로 강제종료됩니다. [2] 김태윤 2016.06.09 526
307 [공유] HTTP 호출은 어떤 장점이 있나요? Humphery 2015.03.19 528
306 리스트박스 PACKETRECORDS [6] 김하나 2015.05.08 529
305 C/S 시스템을 위한 모바일 개발 DataSnap이 좋은지 REST 웹서비스 가 좋은지? [3] 미스터몽키 2015.09.04 531
304 Tedit 입력시 입력한 글자에 언더바 그려지는 현상 [4] 희망나라 2019.10.10 532
303 도쿄에서의 문제 RIO에서 해결된 부분과 아닌부분(앱제작 시) [4] 지병철 2018.12.14 534
302 안드로이드 서비스에서 비콘감지 김태윤 2016.07.11 540
301 안드로이드애서 글자 주변에 테두리(라인?) 이 생깁니다. [3] file nervsystem 2018.11.13 540
300 XE8로 만든 어플실행시 꺼짐현상 [1] 흠흠흠 2016.09.05 546
299 [DCC Error] hDataUtil.pas(756): E2581 Backend error: Stored value type does not match pointer operand type! [1] 황규섭 2015.12.01 546
298 [공유] 써드파티 라이브러리 연동이 가능한가요? Humphery 2015.03.19 547
297 아래 ListBox관련 재문의 입니다. file 최민철 2015.04.02 550
296 [XE8] 세로고정모드에서 가로 풀화면 만들기 [1] 가을이다 2015.12.08 559
» restrequest, restclient를 이용한 fcm notification 보내기 [1] 슈퍼맨 2017.09.28 561