Sub Process_Globals
Private const API_KEY As String = ""
Private server As ServerSocket
Public connected As Boolean
Private astream As AsyncStreams
End Sub
Sub AppStart (Args() As String)
server.Initialize(51042, "server")
server.Listen
StartMessageLoop
End Sub
Sub server_NewConnection (Successful As Boolean, NewSocket As Socket)
Log("new connection")
astream.Initialize(NewSocket.InputStream, NewSocket.OutputStream, "Astream")
server.Listen
End Sub
Sub Astream_NewData (Buffer() As Byte)
If Buffer(0) = 0 Then
Log("Button is down.")
Else
Log("Button is up.")
SendMessage("general", "ATENCION", "paro de linea")
End If
astream.Write("Thank you for this useful information.".GetBytes("UTF8"))
End Sub
Private Sub SendMessage(Topic As String, Title As String, Body As String)
Dim Job As HttpJob
Job.Initialize("fcm", Me)
Dim m As Map = CreateMap("to": $"/topics/${Topic}"$)
Dim data As Map = CreateMap("title": Title, "body": Body)
If Topic.StartsWith("ios_") Then
Dim iosalert As Map = CreateMap("title": Title, "body": Body, "sound": "default")
m.Put("notification", iosalert)
m.Put("priority", 10)
End If
m.Put("data", data)
Dim jg As JSONGenerator
jg.Initialize(m)
Job.PostString("https://fcm.googleapis.com/fcm/send", jg.ToString)
Job.GetRequest.SetContentType("application/json;charset=UTF-8")
Job.GetRequest.SetHeader("Authorization", "key=" & API_KEY)
End Sub
Sub JobDone(job As HttpJob)
Log(job)
If job.Success Then
Log(job.GetString)
End If
job.Release
' ExitApplication '!
End Sub