0

我正在使用 Ng-Cordova 和 onesignal。我用一个信号成功地使用了cordova。但是 ng-cordova 没有成功。我的 onesignal 寄存器代码在 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>
4

1 回答 1

0

对于离子 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确保在 onesignal Dashboard 上注册新应用时使用相同的应用 ID 。

于 2017-04-17T13:47:32.457 回答