tmytのらくがき

個人の日記レベルです

AdaptiveToastのライブラリでnpmデビューしました

Windows 10 でToastから文字入力できたり、ボタン置いたりいろいろ便利な感じになりました。Push通知でも使えるので、AristeaではWindows 10で実行するとToast通知から直接リプライできるようになってます。

さて、Push通知みたいなサーバを何で書きますか?わたしはnodejsで書きます。そんなとき、Windows Notification Service(WNS)に向けて通知なげるときはwnsモジュールを使うのがお手軽です。ちなみにたぶんこれAzure Mobile Servicesで動いてるのとほぼおんなじなんじゃないのって思っています。

ところがこのモジュール、Windows 8.x のころからアップデートされていないのでWindows 10な高機能な通知を投げられません。というより、Windows 10向けの通知に対応したXMLが組み立てられません。ので、それをいい感じにするライブラリをnpmに公開してしまいました。

npmのページにも使い方かいてますけど、こんなんでいいです。

var AdaptiveToast = require('adaptive-toast');
var builder = new AdaptiveToast();
 
builder
  .addText('foo')
  .addText('bar');

// xml でてきます
console.log(builder.build());

// wnsモジュールで送信する場合はこうやります。
 wns.send(channel, builder.build(), 'wns/toast', options, function(error, result){});

XMLで指定する順番にaddTextとかしていくといい感じに仕上がるはずです。Aristeaの通知で運用している分には問題なさそうなのでいまのところたぶん大丈夫です。同じようにAdaptiveTileってのもWindows 10でサポートされてますが、今のところ使い道思いついてないので作ってません。