Aynen hocam. PW den paket satın alıyorsunuz.. öyle çok pahalı değil di sanırım (
https://go.pushwoosh.com/cp/products 50k bildirim 50$ civarındaydı.). 4-5 yıl önce yapmıştım.. Hatırladığım kadarıyla size mantığını ileteyim.
PW da hesap açıp, orada app oluşturuyorsunuz. O app a Delphi tarafında IDHTTP kullanarak json datayı yolluyorsunuz.
DB tarafında kime ne bildirim gidecek ise: o datanın kullanıldığı bir tablo yapmıştım.
Delphi tarafında küçük bir uygulama tasarlayıp, her 5 sn de tüm datayı kontrol ederek, gönderilmemiş json datayı pw sistemine json olarak gönderiyordum. Tabii ki bu işlemleri kuvvetli bir sunucu ile yapıyordum vs.vs.vs
Size tam gönderme kodlarımı olduğu gibi yolluyorum.
procedure TForm1.Gonder(Sender: TObject);
var
json:string;
sResponse: string;
JsonToSend: TStringStream;
status_code,status_message,response:String;
Gonderilmetarihi:TDatetime;
procedure ParseJson;
var
LJsonArr : TJSONArray;
LJsonValue : TJSONValue;
LItem : TJSONValue;
begin
LJsonArr:= TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(sResponse),0) as TJSONArray;
end;
begin
json:='{'+
'"request": {'+
'"application": "'+edit1.text+'",'+ //PW da ki APP IDnizi yazacaksınız..
'"auth": "xxxxxxxxxxx",'+//PW tarafından size verilecek Auth kodunuz yazacaksınız..
'"notifications":['+
'{'+
'"send_date":"now",'+
'"ignore_user_timezone": true,'+
'"timezone":"Turkey/Istanbul", '+
'"content":"'+edit3.Text+'" ,'+ // Push Notf. İçeriğinizi yazacaksınız
'"platforms": [3],'+
'"preset":"'+Edit1.text+'",'+ //PW da ki APP IDnizi yazacaksınız..
'"devices": ["'+edit2.text+'"],'+ // Hangi Cihazlara gönderileceğini yazacaksınız..PW de cihazlarınızda göreceksiniz. Bu uygulamayı yükleyen tüm cihazların ID si burada mevcut. sanırım hiç bir şey yazmassanız tüm cihazlara gidiyordu
'"android_header":"header",'+
'"android_icon": "",'+
'"android_custom_icon": "www.xxxxx.com/bildirim.jpg",'+ //Bildirim de gösterilecek Logo-iconunuuznu bulunduğu adres
'"android_vibration": 1,'+ //Kaç kere titretilecek
'"android_priority":0'+
'}]}}';
JsonToSend:= TStringStream.Create(Json, TEncoding.UTF8);
try
idHTTP1.Request.ContentType := 'application/json';
idHTTP1.Request.CharSet := 'utf-8';
try
sResponse := idHTTP1.Post('https://cp.pushwoosh.com/json/1.3/createMessage', JsonToSend);
except
on E: Exception do
begin
// ShowMessage('Giriş Hatası: '#13#10 + e.Message);
// hata:=1;
end;
end;
Finally
JsonToSend.Free;
end;
try
ParseJson;
except
on E: Exception do
begin
// showmessage(e.message);
// hata:=1;
end;
end;
end;