2016-06-04 3 views
1

Я ниже этого кодаИонные ошибка уведомления 2 Нажмите

import {Push} from 'ionic-native'; 

initializeApp() { 

this.platform.ready().then(() => { 

    StatusBar.styleDefault(); 

    var push = Push.init({ 

    android: { 

     senderID: "484777065207" 

    }, 

    ios: { 

     alert: "true", 

     badge: true, 

     sound: 'false' 

    }, 

    windows: {} 

    }); 

    push.on('registration', (data) => { 

    console.log(data.registrationId); 

    alert(data.registrationId.toString()); 

    }); 

    push.on('notification', (data) => { 

    console.log(data); 

    alert("Hi, Am a push notification"); 

    }); 

    push.on('error', (e) => { 

    console.log(e.message); 

    }); 

}); 

}

Result Mobile Но когда я попробовал этот код, который я получил из положить в мобильный, но я получил только дисплей предупреждения, но я Бесполезный «т получить уведомления дисплея .. я прилагаю мой мобильный экран из положить ..

Так вы можете отправить мне PLZZ ионного 2 Push Notifications код ...

ответ

1

Я написал статью для объяснения push-уведомлений как для iOS, так и для Android. Посмотрите, полезно ли это Ionic 2 Push Notifications

В настоящее время я не могу найти документацию на веб-сайте Ionic 2 для уведомления Push. Но используя эту ссылку Ionic 2 Push и Phonegap plugin push, я могу получить базовые уведомления хотя бы на Android.

У меня следующий код в моем MainApp конструктор

constructor(platform:Platform, private app:IonicApp) { 
     platform.ready().then(() => { 
      StatusBar.styleDefault(); 
     }); 

     var push = Push.init({ 
      android: { 
       senderID: "YOUR_SENDER_ID" 
      }, 
      ios: { 
       alert: "true", 
       badge: true, 
       sound: 'false' 
      }, 
      windows: {} 
     }); 

     push.on('registration', (data) => { 
      console.log("registraiton id " + data.registrationId); 
     }); 

     push.on('notification', (data) => { 
      console.log(data.message); 
      console.log(data.title); 
      console.log(data.count); 
      console.log(data.sound); 
      console.log(data.image); 
      console.log(data.additionalData); 
     }); 

     push.on('error', (e) => { 
      console.log(e.message); 
     }); 

} 

А на стороне сервера, я использую следующий код для нажимной уведомления

var express = require('express'); 
var gcm = require('node-gcm'); 
var app = express(); 
var gcmApiKey = 'YOUR_GCM_API_KEY'; // GCM API KEY OF YOUR GOOGLE CONSOLE PROJECT 

var server = app.listen(3000, function() { 
    console.log('server is just fine!'); 
}); 

app.get('/', function (req, res) { 
    res.send("This is basic route"); 
}); 

app.get('/push', function (req, res) { 
    var device_tokens = []; //create array for storing device tokens 

    var retry_times = 4; //the number of times to retry sending the message if it fails 
    var sender = new gcm.Sender(gcmApiKey); //create a new sender 
    var message = new gcm.Message(); //create a new message 
    message.addData('title', 'PushTitle'); 
    message.addData('message', "Push message"); 
    message.addData('sound', 'default'); 
    message.collapseKey = 'Testing Push'; //grouping messages 
    message.delayWhileIdle = true; //delay sending while receiving device is offline 
    message.timeToLive = 3; //number of seconds to keep the message on 
    //server if the device is offline 

    //Take the registration id(lengthy string) that you logged 
    //in your ionic v2 app and update device_tokens[0] with it for testing. 
    //Later save device tokens to db and 
    //get back all tokens and push to multiple devices 
    device_tokens[0] = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; 
    sender.send(message, device_tokens[0], retry_times, function (result) { 
     console.log('push sent to: ' + device_tokens); 
     res.status(200).send('Pushed notification ' + device_tokens); 
    }, function (err) { 
     res.status(500).send('failed to push notification '); 
    }); 
}); 

Я начал нить Ionic 2 Push Thread на сайте Ионные для уведомления Push- документ, если хотите, вы можете следить за этим потоком.

Шаги для запуска сервера. В OS X вам может потребоваться выполнить следующие команды с sudo.

  • Скачать Nodejs от NodeJs. Он установит узел и npm в вашей системе.
  • npm install express-generator -g
  • express MySampleApp
  • cd MySampleApp
  • npm install --save node-gcm
  • npm install
  • Изменить содержание app.js с выше кода сервера, а затем запустить сервер с помощью следующей команды
  • node app.js
+0

У меня есть еще одно сомнение в этом коде, вы упомянули код боковой стороны, но я не знаю, где использовать этот код на стороне. plzz скажите мне, где использовать этот код –

+0

@IdreamKannan См. отредактированный ответ для запуска кода сервера. – Ankush

+0

@ Ануш, вы не использовали команду 'ionic io init', значит, наше приложение получает уведомление без этой команды (я действительно не могу выполнить ваш ответ) –