未分类

GO语言IOS推送

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)
	}
}

发表评论

邮箱地址不会被公开。 必填项已用*标注