2016-06-22 5 views
0

プッシュ通知を受信した後にイオンルーティングに問題があります。メッセージを開くとメッセージを受け取ると、カスタムKey、ex''myKey 'で通知します。 、

.state('app.post', { 
    url: "/posts/:postId", 
    views: { 
     'menuContent': { 
     templateUrl: "templates/post.html", 
     controller: 'PostCtrl' 
     } 
    } 
    }) 

と私はこれを試してみました:。。私は、この状態を開きたい通知を受信すると、アプリケーションおよびコールバックは私のイオン性アプリケーションを使用する$ stateProviderではアプリで例:

var notificationOpenedCallback = function(jsonData) { 
    if (jsonData.additionalData) { 
    if (jsonData.additionalData.myKey) 
     location.href = jsonData.additionalData.myKey; 
    } 
} 

ページを開く必要がありますどこで「myKey」を受け取ったのですか?投稿ID:

var notificationOpenedCallback = function(jsonData) { 
    if (jsonData.additionalData) { 
    if (jsonData.additionalData.myKey) 
     $state.go('app.post', {'postId': + jsonData.additionalData.myKey}); 
    } 
} 

が、それはここでは、動作していないすべてのコードです:

.run(function($ionicPlatform) { 
    $ionicPlatform.ready(function() { 

var notificationOpenedCallback = function(jsonData) { 
    if (jsonData.additionalData) { 
    if (jsonData.additionalData.myappurl) 
     $state.go('app.post', {'postId': + jsonData.additionalData.myKey}); 
    } 
} 

    window.plugins.OneSignal.init("###############", 
            {googleProjectNumber: "###########"}, 
            notificationOpenedCallback); 



    if (window.cordova && window.cordova.plugins.Keyboard) { 
     cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 
    } 
    if (window.StatusBar) { 
     // org.apache.cordova.statusbar required 
     StatusBar.styleDefault(); 
    } 
    }); 
}) 

答えて

2

はあなたrunブロックに$stateを渡して試してみてください。

.run(function($ionicPlatform, $state) { 
    $ionicPlatform.ready(function() { 
    var notificationOpenedCallback = function(jsonData) { 
     if (jsonData.additionalData) { 
     if (jsonData.additionalData.myappurl) 
      $state.go('app.post', {'postId': + jsonData.additionalData.myKey}); 
     } 
    } 
    }) 
    // the rest of your code 
}) 
+0

ありがとうございました!解決済み! – KingStakh

関連する問題