Ios 未从GCM CCS处收到交货回执通知
我正试图从CCS获得一张收据,但我就是不能 以下是我正在做的: 我有一个Ios 未从GCM CCS处收到交货回执通知,ios,go,google-cloud-messaging,Ios,Go,Google Cloud Messaging,我正试图从CCS获得一张收据,但我就是不能 以下是我正在做的: 我有一个go脚本: package main import ( "fmt" "github.com/brunohenrique/go-gcm/ccs" ) var ( user = struct { gcmToken string }{"mg0xe56LfjE:APA91bFHtHVQt85iNgyzTeDowovIGPAD_NbBjURppy1LgV9_oaM2R_9zn1fDX
go
脚本:
package main
import (
"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)
}
}
当我运行脚本时,一切似乎都正常,但没有回执消息:
当我收到通知时,我就是这么做的:
我是做错了什么还是遗漏了什么?不确定你是在安卓还是在iOS上尝试,因为它在安卓上对我有效,但在iOS上并不总是有效 iOS的送达回执不适用于请求中的
通知
参数。我能够让它为一条普通的数据
消息工作,即使用有效负载
{
"to" : <reg id>,
"data" : {
"hello" : "world",
"id" : 123
}
}
{
“致”:,
“数据”:{
“你好”:“世界”,
“id”:123
}
}
但是,如果我将通知
有效负载添加到上面的一个,它就不起作用了
我假设,由于通知
有效负载消息需要通过APNS发送,因此他们无法知道消息是否已发送,因为APNS不会返回任何结果
对于无
通知
消息,因为只有当应用程序位于前台时才会收到该消息,所以他们才能验证消息是否已发送。感谢您在iOS上试用GCM。
不幸的是,目前无法在iOS上显示通知的送货收据。呃,嘿,该令牌不应该是机密的……是吗?不要这样认为,为了向设备发送通知,您必须使用gcm用户令牌进行注册:)我正试图在iOS上实现这一点。我在这里试过,但不起作用。顺便说一句,我正在尝试使用XMPP连接来实现这一点。您好@TheWonderBird,谢谢您的回复。你介意让我们知道你是从哪里得到这些信息的吗?嗨,TheWonderBird,你能在文档(或其他地方)中指出这些信息吗?我找不到这方面的任何信息,希望能有一些参考资料。非常感谢。