2016-10-03 23 views
2

我试图用推送通知,所以我使用onesignal “遗漏的类型错误:在使用此我得到这个错误不能读取属性‘OneSignal’的未定义

"Uncaught TypeError: Cannot read property 'OneSignal' of undefined"

代码:。

.run(function($ionicPlatform) { 
     $ionicPlatform.ready(function() { 
     // Enable to debug issues. 
     // window.plugins.OneSignal.setLogLevel({logLevel: 4, visualLevel: 4}); 

     var notificationOpenedCallback = function(jsonData) { 
      console.log('didReceiveRemoteNotificationCallBack: ' + JSON.stringify(jsonData)); 
     }; 

     window.plugins.OneSignal.init("AIzaSyCkgXtEUurHrM5rYUmstQmL7s8HkA6OTpA", {googleProjectNumber: "583817643699"}, notificationOpenedCallback); 
     // Show an alert box if a notification comes in when the user is in your app. 
     window.plugins.OneSignal.enableInAppAlertNotification(true); 
     }); 
    }) 

普莱舍帮助我找到好的解决办法

+1

检查设备是否准备就绪。在设备就绪事件被调用之后,您才可以使用任何插件。 –

回答

1
.run(function($ionicPlatform) { 
       $ionicPlatform.ready(function() { 
       // Enable to debug issues. 
       // window.plugins.OneSignal.setLogLevel({logLevel: 4, visualLevel: 4}); 

       document.addEventListener("deviceready", onDeviceReady, false); 
        function onDeviceReady() { 
        if(window.plugin != undefined){ 
        var notificationOpenedCallback = function(jsonData) { 
         alert("Notification opened:\n" + JSON.stringify(jsonData)); 
         console.log('notificationOpenedCallback: ' + JSON.stringify(jsonData)); 
        }; 

        // TODO: Update with your OneSignal AppId and googleProjectNumber before running. 
        window.plugins.OneSignal 
         .startInit("AIzaSyCkgXtEUurHrM5rYUmstQmL7s8HkA6OTpA", "583817643699") 
         .handleNotificationOpened(notificationOpenedCallback) 
         .endInit(); 
        }); 
       }} 
       }); 
      }) 

也许是因为,window.plugin是未定义。尝试在deviceready事件函数中使用它。希望它能帮助你(y)

+0

我可以得到任何演示视频或教程链接使用onesignal –

+0

你有没有通过这个https://documentation.onesignal.com/docs/phonegap-sdk。它涵盖了它的错误方面..(y) –

+1

谢谢你现在错误已清除。但在信号仍然“可以接收推送通知的用户:0”显示在我运行移动 –

相关问题