我试图receipt从 CCS获得一个,但我无法做到。这是我在做什么:我有一个go脚本:package mainimport ( "fmt" "github.com/brunohenrique/go-gcm/ccs")var ( user = struct { gcmToken string }{"mg0xe56LfjE:APA91bFHtHVQt85iNgyzTeDowovIGPAD_NbBjURppy1LgV9_oaM2R_9zn1fDXNuEeOoALTj7F8e8JmNPI3Md-CbbgTxdvxVrONFVfGz2dOujsaGkZjEhJcBH8sWvRNYZNIp2j2QliAEX"})func main() { con := connect() // Sends a message con.Send(&ccs.OutMsg{ To: user.gcmToken, ID: "m-1366082849205", Notification: map[string]interface{}{ "title": "Hey!", "body": "There", "sound": "default", }, TimeToLive: 600, DeliveryReceiptRequested: true, DelayWhileIdle: true, }) // Listen to messages for { m, err := con.Receive() if err != nil { fmt.Printf(">>> Err: %+v \n", err) } go func(m *ccs.InMsg) { fmt.Printf(">>> InMsg: %+v \n", m) }(m) }}运行脚本时一切正常,但没有回执消息:这就是我收到通知时正在做的事情:我做错了什么或遗漏了什么?
2 回答
冉冉说
TA贡献1877条经验 获得超1个赞
不确定您是在 Android 还是 iOS 上尝试此操作,因为它在 Android 上对我有用,但在 iOS 上并不总是有效。
iOS 的送达回执不适用于notification请求中的参数。我能够让它为普通data消息工作,即带有有效载荷
{
"to" : <reg id>,
"data" : {
"hello" : "world",
"id" : 123
}
}
但是,如果我将notification有效载荷添加到上述有效载荷中,则它不起作用。
我认为,由于notification需要通过 APNS 发送有效载荷消息,因此他们无法知道消息是否已传递,因为 APNS 不返回任何结果。
对于没有 notification消息,因为只有在应用程序处于前台时才收到消息,他们将能够验证消息是否已送达。
添加回答
举报
0/150
提交
取消