delphi 使用 TNetHTTPClient 发送推送通知 (FCM)  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi 使用 TNetHTTPClient 发送推送通知 (FCM)


在上一篇文章中,我们教了如何在 Android 上获取 Firebase 令牌,现在是时候了解如何通过Delphi 中的Firebase Cloud Messaging (FCM) 和TNetHTTPClient组件发送推送通知。


首先,我们将创建一个 VCL 项目,并在 Form 中放置一个TEdit、一个TButton和一个TMemo,它应该类似于下图:

Proxy-Server-1.png

现在我们将TNetHTTPCliente组件放置在组件面板的Net部分中。


接下来的步骤中,将TButton的的的OnClick事件,我们把下面的代码:


procedure TForm1.Button1Click(Sender: TObject);

var

  Msg: string;

  s1, s2: TMemoryStream;

  hd: TArray

  st: String;

  b: TBytes;

  devicetoken: string;

 

begin

  deviceToken := Trim(Edit1.Text);

 

  Msg := 'Mi primer notificación Push.';

 

  s1 := TMemoryStream.Create;

  s2 := TMemoryStream.Create;

 

  try

    NetHTTPClient1.ContentType := 'application/json';

 

    st := '{' +

        '"to": "'+deviceToken+'",' +

        '"notification":{"priority":"hight",' +

        '"title":"Título de la Notificación",'+

        '"body":"'+Msg+'",'+

        '"dry_run":"false"}'+

      '}';

 

    setlength(hd, 1);

 

    b := TEncoding.UTF8.GetBytes(st);

 

    s1.Write(b, length(b));

    s1.Position := 0;

 

    hd[0].Name:='Authorization';

    hd[0].Value:='key=Ingrese aquí el Server Key de FCM';

 

    NetHTTPClient1.Post('https://fcm.googleapis.com/fcm/send', s1, s2, hd);

 

    s2.Position := 0;

 

    { Mostramos el resultado devuelto por FCM }

    memo1.Lines.LoadFromStream(s2, TEncoding.UTF8);

  finally

    s1.Free;

    s2.Free;

  end;

end;

要使用的单位如下:


uses

  Winapi.Windows, 

  Winapi.Messages, 

  System.SysUtils, 

  System.Variants, 

  System.Classes, 

  Vcl.Graphics,

  Vcl.Controls, 

  Vcl.Forms, 

  Vcl.Dialogs, 

  System.Net.URLClient,

  System.Net.HttpClient, 

  System.Net.HttpClientComponent, 

  Vcl.StdCtrls;

运作

在Edit1中我们必须放置设备的Token,并且在代码中不要忘记添加Firebase项目的Server Key。


当按下发送按钮时,推送通知将发送到 Android 设备,获得的结果将显示在备忘录中,类似于以下内容:


{"multicast_id": 47068889804 ********, "success": 1, "failure": 0, "canonical_ids": 0,

"results": [{"message_id": "0: 15763105 ********% 22dfc2a4 ********"}]}



推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.051923990249634 seconds