离子推送通知:getPushPlugin是未定义(Ionic Push Notifications:

2019-11-04 05:16发布

我想学习如何使用推送通知的应用程序离子。 我建立一个测试应用程序,我碰到下面的错误输出:

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是为我工作,但现在我试图做到这一点是行不通的真正推送通知。

我已经安装使用PhoneGap的插件:

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

编辑:

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

$ 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

先感谢您。

Answer 1:

错误你得到你的真实设备运行的已经回答请看看这个 。

步骤1:对于没有使用GCM请参阅该离子推送通知博客 。

第二步:为Android或iOS云推送通知敬请期待NG-科尔多瓦推送通知和步骤。

第三步:对于云计算的注册遵循云推送和注册后,请按照如何对创建-AndroidPushNotification 。



文章来源: Ionic Push Notifications: getPushPlugin is undefined