Ionic Push通知:getPushPlugin未定义 [英] Ionic Push Notifications: getPushPlugin is undefined

查看:401
本文介绍了Ionic Push通知:getPushPlugin未定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想学习如何在Ionic应用程式中使用推播通知。我正在构建一个测试应用程序,我得到以下错误输出:

I am trying learn how to use push notifications for Ionic apps. I'm building a test app and I get the following error output:

Error: t._getPushPlugin(...) is undefined
[33]</k</<.value/<@http://192.168.223.1:8100/lib/ionic-platform-web-client/dist/ionic.io.bundle.min.js:3:6764
[33]</k</<.value@http://192.168.223.1:8100/lib/ionic-platform-web-client/dist/ionic.io.bundle.min.js:3:11085
[33]</k</<.value@http://192.168.223.1:8100/lib/ionic-platform-web-client/dist/ionic.io.bundle.min.js:3:6570
@http://192.168.223.1:8100/js/controllers.js:24:5
$RootScopeProvider/this.$get</Scope.prototype.$emit@http://192.168.223.1:8100/lib/ionic/js/ionic.bundle.js:29404:15
ionicViewSwitcher.create/switcher.emit@http://192.168.223.1:8100/lib/ionic/js/ionic.bundle.js:55170:15
transitionComplete@http://192.168.223.1:8100/lib/ionic/js/ionic.bundle.js:55134:15
onReflow@http://192.168.223.1:8100/lib/ionic/js/ionic.bundle.js:55106:15
6     300754   error    Ionic User:, [object Object]

我假设最重要的部分是第一行,说明getPushPlugin是未定义的。此外,dev_push为我工作,但现在我正在尝试做真正的推送通知这是不工作。

I'm assuming the most relevent part of this is the first line, stating that the getPushPlugin is undefined. Also, dev_push was working for me, but now that I am attempting to do real push notifications this is not working.

我安装了phonegap插件使用:

I have installed the phonegap plugin using:

$ ionic plugin add phonegap-plugin-push --variable SENDER_ID="my_sender_id"

这是我的控制器代码:

.controller('DashCtrl', function($scope) {
  $scope.$on('$ionicView.enter', function(e) {
    console.log("if");
    var push = new Ionic.Push({
      "onNotification": function(notification) {
          console.log("Got dat notification");
      }
    });
    var io = Ionic.io();
    var user = Ionic.User.current();

    if(!user.id) {
      user.id = '1234';
    }
    user.save();

    var callback = function () {
        push.addTokenToUser(user);
        user.save();
    };

    push.register(callback);
  });
})

编辑:

这是试图在真实设备上运行的结果: p>

Here is the result of trying to run on a real device:

$ ionic run android
Running command: "C:\Program Files\nodejs\node.exe" C:\Users\antho\Desktop\pleasePush\hooks\after_prepare\010_add_platform_class.js C:/Users/antho/Desktop/pleasePush
add to body class: platform-android
Running command: cmd "/s /c "C:\Users\antho\Desktop\pleasePush\platforms\android\cordova\run.bat""
ANDROID_HOME=C:\Program Files (x86)\Android\android-sdk
JAVA_HOME=C:\Program Files (x86)\java\jdk1.7.0_55
WARNING : No target specified, deploying to device '2b0a9bf2'.
Running: C:\Users\antho\Desktop\pleasePush\platforms\android\gradlew cdvBuildDebug -b C:\Users\antho\Desktop\pleasePush\platforms\android\build.gradle -PcdvBuildArch=arm -Dorg.gradle.daemon=true

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'android'.
> Could not resolve all dependencies for configuration ':_debugCompile'.
   > Could not find any version that matches com.google.android.gms:play-services-gcm:+.
     Searched in the following locations:
         https://repo1.maven.org/maven2/com/google/android/gms/play-services-gcm/maven-metadata.xml
         https://repo1.maven.org/maven2/com/google/android/gms/play-services-gcm/
         file:/C:/Program Files (x86)/Android/android-sdk/extras/android/m2repository/com/google/android/gms/play-services-gcm/maven-metadata.xml
         file:/C:/Program Files (x86)/Android/android-sdk/extras/android/m2repository/com/google/android/gms/play-services-gcm/
     Required by:
         :android:unspecified

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 4.882 secs

C:\Users\antho\Desktop\pleasePush\platforms\android\cordova\node_modules\q\q.js:126
                    throw e;
                    ^
Error code 1 for command: cmd with args: /s /c "C:\Users\antho\Desktop\pleasePush\platforms\android\gradlew cdvBuildDebug -b C:\Users\antho\Desktop\pleasePush\platforms\android\build.gradle -PcdvBuildArch=arm -Dorg.gradle.daemon=true"
ERROR running one or more of the platforms: Error: cmd: Command failed with exit code 1
You may not have the required environment or OS to run this project

提前谢谢。

推荐答案

您在实际设备上运行的错误已经得到解决,请查看

The error You get on running in your real device is already answered please look this.

step1:对于不使用 GCM 的离子推送通知,请参阅此博客

step1 : For ionic push notification without using GCM please refer this blog .

step2: For Android或ios的Cloud推播通知,请查看 ng-cordova
推送通知和步骤

step2 : For Cloud push notification for android or ios please look ng-cordova push notification and the steps.

step3:对于云注册,请遵循云推送
和注册后,请按照如何创建-AndroidPush通知

step3 : For cloud registration follow Cloud-Push and after registering please follow How-To-Create-AndroidPushNotification.

这篇关于Ionic Push通知:getPushPlugin未定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆