Skip to content

Instantly share code, notes, and snippets.

@ap4y
Created August 2, 2015 22:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ap4y/5e194a1b44fc6a01dc57 to your computer and use it in GitHub Desktop.
Save ap4y/5e194a1b44fc6a01dc57 to your computer and use it in GitHub Desktop.
golang gcm
package main
import (
"fmt"
"log"
"time"
"github.com/mattn/go-xmpp"
)
const gcmMessageStanza = `<message id=""><gcm xmlns="google:mobile:data">%v</gcm></message>`
func main() {
client, err := xmpp.NewClient("gcm-preprod.googleapis.com:5236", "senderId@gcm.googleapis.com", "apiKey", true)
if err != nil {
panic(err)
}
go func() {
for {
stanza, err := client.Recv()
if err != nil {
log.Fatal(err)
return
}
log.Printf("Incoming raw CCS stanza: %+v\n", stanza)
}
}()
message := "{\"message_id\":\"1\",\"to\":\"token\",\"data\":{\"alert\":\"GCM CCS client testing message.\"}}"
stanza := fmt.Sprintf(gcmMessageStanza, message)
_, err = client.SendOrg(stanza)
if err != nil {
log.Fatal(err)
}
time.Sleep(5 * time.Second)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment