Подтвердить что ты не робот

Angular и ionicPush не работают на Android

Пытаясь перейти на ionicPush, но получая ошибки, я все равно:

Вариант 1 - Angular метод

Когда я помещаю $ionicPush.init согласно руководству в app.js или где угодно, получая:

Uncaught TypeError: $ionicPush.init is not a function

Когда я проверяю $ionicPush, у него есть 2 метода, зарегистрируйтесь и отмените регистрацию. Так ясно, что он импортируется, но по какой-то причине не имеет .init

Верх app.js выглядит следующим образом:

.run(function(AppRootService, $ionicPlatform, $ionicPush, $cordovaSplashscreen,$window, $timeout) {
    $ionicPlatform.ready(function() {
    $ionicPush.init({
        "debug": true,
        "onNotification": function(notification) {
            var payload = notification.payload;
            console.log(notification, payload);
              },
        "onRegister": function(data) {
            console.log(data.token);
              }
        });

    $ionicPush.register();

Вариант 2 - Обычный способ JS

Поместите этот код в app.js после $ionicPlatform.ready()

var push = new Ionic.Push({
          "debug": true,
          "onNotification": function(notification) {
            var payload = notification.payload;
            console.log(notification, payload);
          },
          "onRegister": function(data) {
            console.log(data.token);
          }
        });

        push.register(function(token) {
          console.log("Device token:",token.token);
        });
        Ionic.io();

Все еще ничего, на этот раз ошибка Uncaught ReferenceError: Ionic is not defined

Ran оба из них:

ionic add ionic-platform-web-client
ionic plugin add phonegap-plugin-push

Перемещено Ionic.io(), а не удача

4b9b3361

Ответ 1

Я думаю, вам нужно запустить init и активировать режим debug/dev.

Вот все шаги...

ionic add ionic-platform-web-client
ionic plugin add phonegap-plugin-push
ionic io init
ionic config set dev_push true

.run(function($ionicPlatform) {
  $ionicPlatform.ready(function() {
    var push = new Ionic.Push({
      "debug": true
    });

    push.register(function(token) {
      console.log("Device token:",token.token);
    });
  });
})

Оформить эту страницу для настройки push для платформ (iOS, Android) http://docs.ionic.io/docs/push-from-scratch

Ответ 2

Это код, который я использую с phonegap-plugin-push внутри фазы выполнения

document.addEventListener("deviceready", function () {
    var androidConfig = {
        'senderID': '****google-project-id****',
        'sound': true,
        'vibrate': true
    };
    var Push = PushNotification.init({
      "android": androidConfig
    });

    Push.on('registration', function(data) {
        // device token:
        var deviceToken = data.registrationId;
        console.log('pushToken', deviceToken);
    });

    Push.on('error', function(e) {
      console.error('Notifications error: ', e.message, e);
    });


    Push.on('notification', function(response){
      console.log('norification', response)
      console.log('any additinal data the push recieved', response.additionalData)
    });
}, false);

попробуйте то, что я сделал, и оно будет работать для вас.