새로운 글
새로운 덧글

Q&A 게시판은 누구나 자유롭게 질의 및 응답을 할 수 있는 게시판이며 
어느 누구도 답변을 달아야만 하는 의무는 없습니다. 
만약 제품 구매 고객께서 제품설치, 등록, 제품 오류 등의 문의사항이 있으신 경우,  
좌측 메뉴에서 설치/등록/버그 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.

 

감사합니다.
 

번호 제목 글쓴이 날짜 조회 수
공지 데브기어 강의 - 2017년 12월~2018년 3월 관리자 2015.01.22 5251
공지 유용한 관련 사이트 관리자2 2014.03.20 42831
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 84819
2060 iOS 인증서 관련문의입니다. [2] silkroad99 2017.10.16 57
2059 Android 앱 실행 시 자동 업데이트 방법 [1] 로로봉 2017.10.12 146
2058 시리얼통신 델파이 -> 안드로이드 시리널통신 도와주세요 [2] 텔로스김 2017.09.22 90
2057 FMX에서 이미지위에 이미지 삽입하는 방법. [1] Vincent 2017.10.11 61
2056 delphi XE7 - oracle 11g 연동이 안됩니다.. [1] file 유죵 2017.09.29 88
2055 Rest 파라미터 한글 문제...? 헨씀히포 2017.10.11 53
2054 안드로이드에서 파일을 열고 싶습니다. Vincent 2017.10.10 47
2053 pc 에선 작동 되는데 안드로이드에선 오류 [1] file 도담 2017.10.04 56
2052 안녕하세요 혹시 베를린에서 안드로이드 누가는 지원안하나요? [4] Vincent 2017.09.29 81
2051 델파이 XE7에서 안드로이드로 실행시.apk raised exception class segmentation fault (11). 오류 (미해결중입니다) [6] delphi 2017.09.28 60
2050 윈도우10에서 콤보박스 한글처리시 문제...? [3] 헨씀히포 2016.06.30 829
2049 REST Application 작성시 세션 유지.. [2] file 가나당 2017.09.21 49
2048 StringGrid 초기화 방법에 대해서 궁금합니다. [2] Vincent 2017.09.27 60
» restrequest, restclient를 이용한 fcm notification 보내기 [1] 슈퍼맨 2017.09.28 54
2046 델파이 6 소스 컴파일 및 빌드 오류 건 문의드립니다. [1] 다니엘 2017.09.14 42
2045 안녕하세요 컨트롤들을 일정하게 정렬시키려고 하는데요. [2] file Vincent 2017.09.25 41
2044 Delphi 7 에서 .NET DLL 참조 관련 [1] Joon 2017.09.25 41
2043 RAD Studio 평가판 기간이 만료되었습니다. [3] file 땅콩맨 2017.09.24 58
2042 XE10.1 FMX로 멀티다바이스에서 UI구현방법 [2] Vincent 2017.09.22 43
2041 Access Violation Error 관련 [1] Joon 2017.09.25 37


광고 모듈이 설치되어 있지 않아 실행을 중단합니다..