代码拉取完成,页面将自动刷新
同步操作将从 欧德高/bblrtc 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
package bblrtc
import (
"fmt"
"github.com/timehop/apns"
)
var apns_conn apns.Client
func PushToApns(deviceId string, msg *Message) error {
if apns_conn.Conn == nil {
gw := GetString("apns", "gateway", apns.ProductionGateway)
cert := GetString("apns", "cert", "apns.crt")
key := GetString("apns", "key", "apns.key")
c, err := apns.NewClientWithFiles(gw, cert, key)
if err != nil {
syslog.Println("apns", msg, err)
return err
}
apns_conn = c
}
go func() {
for f := range apns_conn.FailedNotifs {
syslog.Println("Notif", f.Notif.ID, "failed with", f.Err.Error())
}
}()
p := apns.NewPayload()
p.APS.Alert.Body = fmt.Sprintf("来自:%v 的消息,%v", msg.From, msg.Text)
badge := 5
p.APS.Badge = &badge
p.APS.Sound = "turn_down_for_what.aiff"
p.APS.ContentAvailable = 1
//p.SetCustomValue(key, value)
// p.SetCustomValue("link", "zombo://dot/com")
// p.SetCustomValue("game", map[string]int{"score": 234})
m := apns.NewNotification()
m.Payload = p
m.DeviceToken = deviceId
m.Priority = apns.PriorityImmediate
m.Identifier = Hash(msg.MsgId) // Integer for APNS
m.ID = msg.MsgId // ID not sent to Apple – to identify error notifications
return apns_conn.Send(m)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。