2016-09-07 14 views
11

मैंने here वर्णित पुश नोटिफिकेशन के लिए सभी आवश्यक सेट अप किए हैं।नई आयनिक पुश पंजीकरण डिवाइस टोकन

मैं जैसे स्टार्टअप पर डिवाइस को पंजीकृत कर रहा हूँ:

// register for pushio 
    $ionicPush.register().then(function(t) { 
     return $ionicPush.saveToken(t, {ignore_user:true}); 
    }).then(function(t) { 
     console.log('Token saved:', t.token); 
    }); 

डिवाइस टोकन लॉग होता है "टोकन बचाया: xxxxthetokenxxxx"।

अब मैं कर्ल और Ionic.io डैशबोर्ड से पुश भेज रहा हूं। संदेश की स्थिति (कर्ल के साथ चेक) 200 है और कोई त्रुटि नहीं है। तो पुश अधिसूचना भेजी जाती है:

{"meta": {"request_id": "8d9c69ce-b66c-4002-8cb3-f91c57505b0f", "version": "2.0.0-beta.0", "status": 200}, "data": []} 

लेकिन मेरा डिवाइस अधिसूचना प्राप्त नहीं कर रहा है। मुझे लगता है कि यह saveToken() फ़ंक्शन के कारण है। saveToken() टोकन को सहेजने वाला कहां है?

क्या किसी के पास कोई संकेत है कि इसे कैसे हल किया जाए?

अद्यतन: मैं इस कोड का उपयोग धक्का भेजने के लिए:

<?php $curl = curl_init(); 
$token = "mytoken"; 

curl_setopt_array($curl, array(

    CURLOPT_URL => "https://api.ionic.io/push/notifications", 
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_ENCODING => "", 
    CURLOPT_MAXREDIRS => 10, 
    CURLOPT_TIMEOUT => 30, 
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, 
    CURLOPT_CUSTOMREQUEST => "POST", 
    CURLOPT_POSTFIELDS => ' 

    { 
    "tokens": "bbc654c496abc2dc42a40941ac944f0a8aeb0d5b227d523e335dbd51b71ed646", 
    "profile": "getto", 
    "notification": { 
     "message": "Hello World!" 
    } 
    }', 
    CURLOPT_HTTPHEADER => array(
    "Authorization: Bearer $token", 
    "Content-Type: application/json" 
), 
)); 

$response = curl_exec($curl); 
$err = curl_error($curl); 

curl_close($curl); 

if ($err) { 
    echo "cURL Error #:" . $err; 
} else { 
    echo $response; 
} ?> 

संपादित करें: अजीब बात है, कि Android पर डिवाइस टोकन पंजीकृत नहीं है।

+0

आप डिवाइस पर टोकन को बचाने के लिए नहीं है, आप एपीआई है कि पारित करने के लिए होगा। –

+1

मैं $ ionicPush.saveToken() को कॉल करता हूं। यह Ionic डेटाबेस के लिए टोकन बचाता है !? और जब मैं Ionic.io डैशबोर्ड से धक्का भेजता हूं, तो यह सहेजा गया टोकन आयनिक io डैशबोर्ड उपयोगों को एपीआई में पास किया जाना चाहिए। क्या मैं सही हू? – m1crdy

+0

या क्या मुझे खुद टोकन को सहेजने की ज़रूरत है? अगर मैं इसे डिवाइस पर आज़माता हूं और इस टोकन को अधिसूचना भेजता हूं तो उपर्युक्त उत्तर दिखाया गया है। लेकिन कोई संदेश नहीं दिया गया। मैंने अपने कोड – m1crdy

उत्तर

0

सेवा आरंभ करें और अपने डिवाइस को अपने मॉड्यूल के रन फ़ंक्शन में पंजीकृत करें। आपको उपयोगकर्ता को सूचना भेजने के लिए उपयोगकर्ता द्वारा पंजीकृत डिवाइस टोकन की आवश्यकता होगी।

$ionicPush.init({ 
    debug: true, 
    onNotification: function (notification) { 
    console.log('token:', notification.payload); 
    }, 
    onRegister: function (token) { 
    console.log('Device Token:', token); 
    $ionicPush.saveToken(token); // persist the token in the Ionic Platform 
    } 
}); 

$ionicPush.register(); 

आयोनिक पुश आप डैशबोर्ड (ionic.io) के माध्यम से लक्षित पुश नोटिफिकेशन बना सकते हैं। आप नीचे दिए गए प्रारूप में सर्वर से नोटिफिकेशन भी भेज सकते हैं।

curl -X POST -H "Authorization: Bearer API_TOKEN" -H "Content-Type: application/json" -d '{ 
    "tokens": ["DEVICE_TOKEN"], 
     "profile": "PROFILE_TAG", 
     "notification": { 
       "message": "Hello World!" 
     "android": { 
        "title": "Hi User", 
        "message": "An update is available for your App", 
        "payload": { 
         "update": true 
        } 
      } 
    } }' "https://api.ionic.io/push/notifications" 
+0

के साथ प्रश्न अपडेट किया है यह सही है। धन्यवाद। लेकिन टोकन कहाँ से बचाए जाते हैं? और उन्हें कर्ल के अंदर कैसे पुनर्प्राप्त करें? क्या मुझे टोकन को बाहरी डेटाबेस में सहेजने की ज़रूरत है? – m1crdy

+0

आप व्यक्तिगत उपयोगकर्ताओं के लिए और किसी भी समय कस्टम संदेशों के साथ अपने उपयोगकर्ताओं को लक्षित सूचनाएं भेज सकते हैं। https://docs.ionic.io/services/push/#summary देखें। यदि आप उपर्युक्त में से कोई भी करना चाहते हैं तो आपको किसी भी डेटाबेस में अपने अद्वितीय आईडी के विरुद्ध सभी उपयोगकर्ताओं के टोकन को सहेजना होगा। लेकिन यदि आपकी आवश्यकता केवल आपके सभी उपयोगकर्ताओं और केवल मैन्युअल रूप से थोक अधिसूचना भेजने के लिए है, तो आप पुश> नई अधिसूचना पर नेविगेट करके डैशबोर्ड में अधिसूचनाएं बना सकते हैं। https://docs.ionic.io/services/push/#sending-pushes देखें –

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