Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 未从GCM CCS处收到交货回执通知_Ios_Go_Google Cloud Messaging - Fatal编程技术网

Ios 未从GCM 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

我正试图从CCS获得一张收据,但我就是不能

以下是我正在做的:

我有一个
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,你能在文档(或其他地方)中指出这些信息吗?我找不到这方面的任何信息,希望能有一些参考资料。非常感谢。