0

Я использую толчок уведомление в ионном 2 приложения с кодом нижеИОННЫЙ Подавать: Ошибка выполнения platform.toLowerCase не является функцией

import { Push, PushToken } from '@ionic/cloud-angular'; 
    @Component({...}) 
    export MyPage {  
    constructor(public platform: Platform, public menu: MenuController, public push: Push){ 
    this.initializeApp(); 
    } 
    initializeApp() { 
     this.platform.ready().then(() => { 
     if (this.push) { 
     this.push.register().then((t: PushToken) => { 
      return this.push.saveToken(t); 
     }).then((t: PushToken) => { 
      console.log('Token saved:', t.token); 
      window.localStorage.setItem("deviceToken", t.token); 
     }); 

     this.push.rx.notification() 
      .subscribe((msg) => { 
      alert(msg.title + ': ' + msg.text); 
      console.log('notification msg', msg); 
      }); 
     } 
     } 
    } 
} 

когда я бегу на устройстве он работает отлично. но я сделать ионным служить это дает ниже ошибки из-за инъекции Пуш в конструкторе

error_handler.js:53 TypeError: platform.toLowerCase is not a function 
    at Insights.normalizeDevicePlatform (http://localhost:8100/build/main.js:70460:25) 
    at Insights.markActive (http://localhost:8100/build/main.js:70450:33) 
    at Insights.checkActivity (http://localhost:8100/build/main.js:70439:22) 
    at http://localhost:8100/build/main.js:70415:27 
    at t.invokeTask (http://localhost:8100/build/polyfills.js:3:9723) 
    at Object.onInvokeTask (http://localhost:8100/build/main.js:41825:37) 
    at t.invokeTask (http://localhost:8100/build/polyfills.js:3:9659) 
    at e.runTask (http://localhost:8100/build/polyfills.js:3:7083) 
    at invoke (http://localhost:8100/build/polyfills.js:3:10836) 
    at e.args.(anonymous function) (http://localhost:8100/build/polyfills.js:2:30123) 
ErrorHandler.handleError @ error_handler.js:53 
+0

Push-уведомления не работают, используя ионную подачу. Он будет работать только в реальном устройстве –

+0

Я это знаю. я справился с этим, проверив его на платформе. Уже, но он все еще не позволяет мне отлаживать другие страницы с ионной подачей. это похоже на то, что я вставляю push-конструктор, тогда я не могу тестировать свое приложение с помощью ионной подачки. Я хочу проверить другой код с помощью ионной подачи. –

ответ

1

Как отметил Манодж Rejinthala, Push Notifications не будет работать в браузере (ionic serve). Однако другие части приложения тура должны корректно работать в браузере с ionic serve.

Ошибка, которую вы описываете, является проблемой с Ionic Cloud. Проверьте, есть ли у вас строка "@ionic/cloud-angular":"^ 0.9.0" в файле package.json, внутри dependencies.

Если это так, переключите его на ^0.9.1, сохраните файл и запустите npm install в корневой папке проекта. Это должно обновить @ionic/cloud-angular до 0.9.1 и его зависимость @ionic/cloud от 0.15.1.

Затем запустите ionic serve, и он должен работать.

Смежные вопросы