离子(Ng-Cordova)与Onesignal

时间:2016-05-07 15:20:05

标签: cordova ionic-framework onesignal

我正在使用Ng-Cordova和onesignal。 我用cordova成功地获得了信号。但ng-cordova没有成功。 我的信号寄存器代码在index.html中 我试试app.run $ ionicPlatform.ready(function() 但是没有用。我的问题是如何在注册后获得onesignal id。写的是我真正的代码吗?

我的index.html

 <script type="text/javascript">
    document.addEventListener('deviceready', function () {
  // Enable to debug issues.
  // window.plugins.OneSignal.setLogLevel({logLevel: 4, visualLevel: 4});

  var notificationOpenedCallback = function(jsonData) {
   // alert('didReceiveRemoteNotificationCallBack: ' + JSON.stringify(jsonData));
  };
alert("deviceready");
  window.plugins.OneSignal.init("******************",
                                 {googleProjectNumber: "***********",autoRegister: true},
                                 notificationOpenedCallback);

   window.plugins.OneSignal.setSubscription(true);
    window.plugins.OneSignal.enableNofiticationWhenActive(true);
  window.plugins.OneSignal.registerForPushNotifications();
  // Show an alert box if a notification comes in when the user is in your app.
  window.plugins.OneSignal.enableInAppAlertNotification(true);

    window.plugins.OneSignal.getIds(function(ids) {
         $("#ids").val(ids.userId);
         alert(ids.userId);
      });

}, false);
        </script>

1 个答案:

答案 0 :(得分:0)

  

对于Ionic 1:

app.js

window.plugins.OneSignal
        .startInit("Your-Onesignal App Id")
        .endInit();

controller使用中:

window.plugins.OneSignal.getIds(function(ids) {
                  $scope.noti_user_id    = ids.userId;  
                  $scope.noti_user_token = ids.pushToken;
            });

确保使用与config.xml中相同的App ID,同时在onesignal Dashboard注册新应用。