1 Star 0 Fork 1

ixiaomo / bblrtc

forked from 欧德高 / bblrtc 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
rtc_apns.go 1.20 KB
一键复制 编辑 原始数据 按行查看 历史
欧德高 提交于 2016-02-25 12:04 . new
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)
}
Go
1
https://gitee.com/ixiaomo/bblrtc.git
git@gitee.com:ixiaomo/bblrtc.git
ixiaomo
bblrtc
bblrtc
master

搜索帮助