2015-07-03 9 views
7

से delivery_receipt_notification वापस प्राप्त नहीं कर रहा है मैं सीसीएस से receipt प्राप्त करने का प्रयास कर रहा हूं, लेकिन मैं बस सक्षम नहीं हूं।जीसीएम सीसीएस

मैं एक 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) 
    } 
} 

सब कुछ ठीक लगता है, लेकिन वापस नहीं रसीद संदेश:

enter image description here

यहाँ मैं क्या कर रहा है

और जब मैं अधिसूचना प्राप्त करता हूं तो मैं यही कर रहा हूं:

enter image description here

क्या मैं कुछ गलत कर रहा हूं या कुछ खो रहा हूं?

+1

उह, हे, टोकन को गुप्त नहीं माना जाता है ... है ना? – Jonathan

+0

ऐसा नहीं सोचें, किसी डिवाइस को अधिसूचना भेजने के लिए, आपको इसे अपने जीसीएम उपयोगकर्ता टोकन का उपयोग करके पंजीकृत करना होगा :) –

उत्तर

0

यह सुनिश्चित नहीं है कि आप एंड्रॉइड या आईओएस पर यह कोशिश कर रहे हैं, क्योंकि यह एंड्रॉइड पर मेरे लिए काम करता है लेकिन यह हमेशा आईओएस पर काम नहीं करता है।

आईओएस के लिए डिलिवरी रसीद अनुरोध में notification पैरामीटर के साथ काम नहीं करती है। मैं इसे पेलोड

{ 
    "to" : <reg id>, 
    "data" : { 
    "hello" : "world", 
    "id" : 123 
    } 
} 

साथ एक सादे data संदेश अर्थात के लिए काम करने के लिए प्राप्त करने में सक्षम था लेकिन यह काम नहीं किया है, तो मैं ऊपर से एक के लिए notification पेलोड गयी।

मुझे लगता है कि notification एपीएनएस के माध्यम से पेलोड संदेश भेजने की आवश्यकता है, इसलिए यह जानने का कोई तरीका नहीं है कि संदेश वितरित किया गया था या नहीं, क्योंकि एपीएनएस कोई परिणाम नहीं लौटाता है।

notification संदेश के बाद से यह तब प्राप्त होता है जब ऐप अग्रभूमि में होता है, तो वे यह सत्यापित करने में सक्षम होंगे कि संदेश वितरित किया गया था या नहीं।

+0

मैं आईओएस पर इसे प्राप्त करने की कोशिश कर रहा हूं। मैंने इसे आजमाया लेकिन यह काम नहीं करता है। मैं रास्ते में एक एक्सएमपीपी कनेक्शन का उपयोग कर ऐसा करने की कोशिश कर रहा हूं। –

1

आईओएस पर जीसीएम की कोशिश करने के लिए धन्यवाद। दुर्भाग्य से, इस समय आईओएस पर डिस्प्ले नोटिफिकेशन के लिए डिलीवरी रसीद उपलब्ध नहीं हैं।

+0

हाय @TheWonderBird, आपकी प्रतिक्रिया के लिए धन्यवाद। क्या आप हमें यह बताना चाहते हैं कि आपको यह जानकारी कहां से मिली? –

+1

हाय @ द वंडरबर्ड, क्या आप इसके बारे में दस्तावेज़ीकरण (या कहीं और) सूचनाओं में बता सकते हैं? मुझे इसके बारे में कुछ भी नहीं मिला और कुछ संदर्भ होना पसंद करेंगे। धन्यवाद। –

संबंधित मुद्दे