本文整理汇总了Golang中github.com/cubicdaiya/apns.Client.Send方法的典型用法代码示例。如果您正苦于以下问题:Golang Client.Send方法的具体用法?Golang Client.Send怎么用?Golang Client.Send使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/cubicdaiya/apns.Client
的用法示例。
在下文中一共展示了Client.Send方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: pushNotificationIos
func pushNotificationIos(req RequestGaurunNotification, client *apns.Client) bool {
LogError.Debug("START push notification for iOS")
for i, token := range req.Tokens {
id := req.IDs[i]
payload := apns.NewPayload()
payload.Alert = req.Message
payload.Badge = req.Badge
payload.Sound = req.Sound
payload.ContentAvailable = req.ContentAvailable
pn := apns.NewPushNotification()
pn.DeviceToken = token
pn.Expiry = uint32(req.Expiry)
pn.AddPayload(payload)
if len(req.Extend) > 0 {
for _, extend := range req.Extend {
pn.Set(extend.Key, extend.Value)
}
}
stime := time.Now()
resp := client.Send(pn)
etime := time.Now()
ptime := etime.Sub(stime).Seconds()
if resp.Error != nil {
atomic.AddInt64(&StatGaurun.Ios.PushError, 1)
LogPush(req.IDs[i], StatusFailedPush, token, ptime, req, resp.Error)
client.Conn.Close()
client.ConnTls.Close()
return false
} else {
LogPush(id, StatusSucceededPush, token, ptime, req, nil)
atomic.AddInt64(&StatGaurun.Ios.PushSuccess, 1)
}
}
client = nil
LogError.Debug("END push notification for iOS")
return true
}