尝试迁移到ionicPush,但是无论如何我还是遇到了错误:

选项1- Angular 法

当我按照指南将$ionicPush.init放在app.js或其他任何地方时,得到:
Uncaught TypeError: $ionicPush.init is not a function
当我检查$ionicPush时,它有2种方法,注册和注销。很明显它是导入的,但是由于任何原因都没有.initapp.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
跑这两个:
ionic add ionic-platform-web-client
ionic plugin add phonegap-plugin-push

移动Ionic.io(),而不是运气

最佳答案

我认为您必须初始化io并激活调试/开发模式。

这是所有步骤...

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);
    });
  });
})

check out 此页面以设置平台推送(iOS,Android)
http://docs.ionic.io/docs/push-from-scratch

关于javascript - Angular和ionicPush在Android上不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35076664/

10-12 14:14