だけのシンプルな...
はコードでbackgroundTask.jsを作成します。
(function() {
"use strict";
var backgroundTaskInstance = Windows.UI.WebUI.WebUIBackgroundTaskInstance.current;
var taskName = backgroundTask.task.name;
function doWork() {
var notificationContent = backgroundTaskInstance.triggerDetails.content;
close();
}
doWork();
})();
次に、機能(スタンドアロンまたは名前空間に)を作成します あなたにDefault.jsにvar pushNotifications = Windows.Networking.PushNotifications;
を宣言します。 ..
registraTaskPush: function(){
var taskRegistered = false;
var exampleTaskName = "Push";
var iter = background.BackgroundTaskRegistration.allTasks.first();
while (iter.hasCurrent) {
var task = iter.current.value;
if (task.name === exampleTaskName) {
taskRegistered = true;
break;
}
iter.moveNext();
}
if (taskRegistered != true) {
var builder = new Windows.ApplicationModel.Background.BackgroundTaskBuilder();
var trigger = new Windows.ApplicationModel.Background.PushNotificationTrigger();
builder.name = exampleTaskName;
builder.taskEntryPoint = "js\\bgTasks.js";
builder.setTrigger(trigger);
var task = builder.register();
}
var channel;
var channelOperation = pushNotifications.PushNotificationChannelManager.createPushNotificationChannelForApplicationAsync();
return channelOperation.then(function (newChannel) {
channel = newChannel;
$.ajax({
url: 'url/save/channel/in/database', type: 'POST',
data: { 'r': channel.uri, 'tp': 'windows' }
});
},
function (error) {
console.log('Error: '+error);
}
);
channel.addEventListener("pushnotificationreceived", onPushNotification, false);
}
次に、アプリケーションのアクティブ化後にdefault.jsの「registraTaskPush」関数を呼び出します。 「registraTaskPush」機能は、WNSへのチャネルコールを実装し、データベースに保存するチャネルURLをサーバーに送信します。 通知がサーバーによって開始されると、データベースはコードに格納されているすべてのWNS URLを返します。このURLと送信プッシュの間をナビゲートします。
さらに、「registraTaskPush」は、バックグラウンドタスクをWindowsシステムに登録し、アプリケーションが閉じていてもプッシュ通知を受け取るようにします。
こんにちは、このWinJS WNSに関する質問をご覧ください(http://stackoverflow.com/questions/38495933/how-to-trigger-pushnotificationreceived-event-for-cordova-uwp-app-app- with-winjs)と専門知識を共有できますか?ありがとうございました。 – lastoneisbearfood