package
0.0.0-20190806085950-af561f6ff7a1
Repository: https://github.com/kylebanks/go-kit.git
Documentation: pkg.go.dev
# README
push
-- import "github.com/KyleBanks/go-kit/push/"
Package push provides GCM and APN push notification functionality.
Usage
const (
// ApnsEndpointSandbox is the endpoint of the sandbox APNS service.
ApnsEndpointSandbox = "gateway.sandbox.push.apple.com"
// ApnsEndpointProduction is the endpoint of the production APNS service.
ApnsEndpointProduction = "gateway.push.apple.com"
// ApnsPort is the port of the APNS service.
ApnsPort = 2195
// IosDefaultSound is the name of the default sound to play for iOS notifications.
IosDefaultSound = "default"
)
const (
// MaxRetries defines the number of times to retry message sender if an error occurs.
MaxRetries = 2
)
type AndroidPusher
type AndroidPusher struct {
}
AndroidPusher supports sending of GCM push notifications to Android devices.
func NewAndroidPusher
func NewAndroidPusher(apiKey string) *AndroidPusher
NewAndroidPusher returns an AndroidPusher, initialized with the specified GCM API key.
func (*AndroidPusher) SendMessage
func (a *AndroidPusher) SendMessage(message *Message, deviceIds ...string) error
SendMessage sends a JSON payload to the specified DeviceIds through the GCM service.
type IosPusher
type IosPusher struct {
}
IosPusher supports sending of APNS push notifications to iOS devices.
func NewIosPusher
func NewIosPusher(isProd bool, certificateFile string, keyFile string) *IosPusher
NewIosPusher returns an IosPusher, initialized with the specified certificate and key files.
func (*IosPusher) SendMessage
func (i *IosPusher) SendMessage(message *Message, deviceIds ...string) error
SendMessage sends a JSON payload to the specified DeviceIds through the APNS service.
type Message
type Message struct {
// Content is the title or content to be displayed to the user.
Content string
// Data contains any additional data to be sent with the notification.
Data map[string]interface{}
// IosSound is the sound to play for iOS devices specifically.
IosSound string
}
Message defines a push message payload to be send to the client.
type Pusher
type Pusher interface {
// SendMessage sends the payload provided as a JSON string to the deviceIds.
SendMessage(message *Message, deviceIds string) error
}
Pusher defines the interface for a push notification Pusher.
# Functions
NewAndroidPusher returns an AndroidPusher, initialized with the specified GCM API key.
NewIosPusher returns an IosPusher, initialized with the specified certificate and key files.
# Constants
ApnsEndpointProduction is the endpoint of the production APNS service.
ApnsEndpointSandbox is the endpoint of the sandbox APNS service.
ApnsPort is the port of the APNS service.
IosDefaultSound is the name of the default sound to play for iOS notifications.
MaxRetries defines the number of times to retry message sender if an error occurs.
# Structs
AndroidPusher supports sending of GCM push notifications to Android devices.
IosPusher supports sending of APNS push notifications to iOS devices.
Message defines a push message payload to be send to the client.
# Interfaces
Pusher defines the interface for a push notification Pusher.