package main
import (
"log"
"github.com/sideshow/apns2"
"github.com/sideshow/apns2/certificate"
"github.com/sideshow/apns2/payload"
)
func main() {
// 加载 .p12 证书(正式)
cert, err := certificate.FromP12File("apn_ck.p12", "123456")
// (测试)
// cert, err := certificate.FromP12File("apn_dev_ck.p12", "123456")
if err != nil {
log.Fatalf("Cert Error: %v", err)
}
// 创建 APNs 客户端(正式)
client := apns2.NewClient(cert).Production()
// (测试)
// client := apns2.NewClient(cert).Development()
// 构建推送消息的 payload
notification := &apns2.Notification{
DeviceToken: "", // 用户token
Topic: "", // App Bundle ID
Payload: payload.NewPayload().Alert("Hello!").Badge(1).Sound("default"),
}
// 发送通知
res, err := client.Push(notification)
if err != nil {
log.Fatalf("Error: %v", err)
}
// 检查推送结果
log.Printf("APNs Response: %v", res)
if res.Sent() {
log.Println("Push notification sent successfully!")
} else {
log.Printf("Failed to send push: %v", res.Reason)
}
}