Server side library for working with Exponent using Go
To install this library, simply run:
go get github.com/Terminux/exponent-server-sdk-go
Check if the token is a valid Expo push token
expo.IsExpoPushToken(token)
message := expo.PushMessage{To: token, Body: "content"}
message.Send()
// or
expo.SendPushNotification(&message)
expo.SendPushNotifications([]*expo.PushMessage{
&expo.PushMessage{To: token1, Body: "first message"},
&expo.PushMessage{To: token2, Body: "another message"},
&expo.PushMessage{To: token3, Body: "last message"},
})
Split the chunk messages into several chunks messages
expo.ChunkPushNotifications(messages)
Here's a sample showcasing many features of expo.
import (
"fmt"
"os"
"github.com/Terminux/exponent-server-sdk-go"
)
func main() {
token := os.Getenv("EXPO_TOKEN")
if expo.IsExpoPushToken(token) {
message := expo.PushMessage{
To: token,
Title: "Notification title",
Body: "Notification content",
Data: struct{ Value string }{"mydata"}}
apiRes, apiErr, err := message.Send()
if err != nil {
panic(err)
}
fmt.Println("apiRes:", apiRes)
fmt.Println("apiErr:", apiErr)
}
}
to run example
$ EXPO_TOKEN=your_expo_token go run main.go