2017年2月11日土曜日

ダッシュボードからUWP App のユーザーに通知を送る

Microsoft のUWP App 開発者Webサイト「ダッシュボード」 からUWP App のユーザーに、トーストやタイルによる通知を送信するサービスがあります。
2016年中頃から始まっているもので、種々のお知らせやプロモーション等に使うことができます。


最近 F10 ユーザー様宛に送信した通知トースト(日本語)
このトーストをクリックするとストアの当該アプリページ、の
アプリ評価ウィンドウが直で開きます。


開始当初は単純な文字トースト通知のみでしたが、現在はWindows の通知プラットフォームで扱えるものならタイル、トースト上の画像、音、ボタン等を使ったインタラクティブ トースト等大体行ける強まったサービスに成長しました。MS氏がんばった。

仕組み自体は、以前からある Windows Notification Service (WNS) を使ったものです。 AzureのMobileなんたらサービス等を使ったことがあればすっと判る感じです。

最近このサービスを使う機会がありました。
使用方法は…以下で丁寧に説明されているので、その通りに上から下まで流せば大体大丈夫です。

アプリの顧客にターゲット プッシュ通知を送信する
https://msdn.microsoft.com/en-us/windows/uwp/publish/send-push-notifications-to-your-apps-customers

ただ幾つか気の付いた所もあったので、記録に残しておこうという趣旨の記事です。

UWP App 側の準備


通知を行う場合、その対象となるUWP App にStore Services SDK を追加し、API RegisterNotificationChannelAsync を「起動の度に」Callする (これでWNSに登録される)必要があります。
このCall、割と時間がかかる(数秒レベル)ので、雑に初期化で呼ぶと起動がもったり遅くなる原因となる場合があります。特にUI Threadでやる必要は無いタスクでもあり、どこで呼んでも良いので適宜逃がしましょう。


送信対象の設定


本番の通知では、クエリで定義されるセグメントを作成します。
ですがテスト・実験用には、「フライトグループ」に対して通知を送信することも可能です。

基本的に大人数グループのセグメントと異なり、フライトグループはマイクロソフト アカウントのメールアドレスベースで作られる小規模なグループです。自分一人だけのグループもアリです。フライト グループの作成は以下を参照してください。

パッケージ フライト
https://docs.microsoft.com/ja-jp/windows/uwp/publish/package-flights

なお、セグメントと異なり、フライトグループはアプリに紐づいていません。メールアドレスが一致していて、UWP AppによりWNS への登録が行われていれば通知は届きます。


送信するコンテンツの作成


ダッシュボード上のトースト・タイル作成フォームに逐次入力して作成します。

ここで一つ気を付ける事がありまして…これおそらくバグなのですが(2017年2月現在)、
トーストの内容を複数言語で送信する場合、
作成フォームの一番下にある「Convert this notification to XML」、これをクリックしてXMLに変換してしまうと、既定の言語「以外」の翻訳したコンテンツが送信されなくなります。
翻訳を使いたい場合、ここはクリックせずに作成フォームのみで作成する必要があります。

2017/3/14追記: この件、ダッシュボードのFeedbackから問題報告していたのですが、今日になって「バグとしてトラックします」旨の通知がありました。その内直るかもしれません。





「この通知をXMLに変換」

送信!


準備が諸々終わればいよいよ送信です。
送信では、時間を指定できます。対象となるユーザーさんが日本国内だけに居るとも限りませんので、ユーザーのローカルタイムに合わせて送信する機能を使うと便利です。


Use customer's local time zone instead of UTC をチェック


送信したトーストは、受信状況を統計ページで確認することができます。
参考になるかは分かりませんが、私が最近送信したもの(アプリ評価してねトースト)では…

  • トーストが届いたユーザーの内、トーストをクリックしてアプリを評価してくれたのは 4%
でした。
実際の所、突然届いた不躾な通知に答えてくれた方々には感謝しかないです。有難うございました。


🍙🍙🍙


通知の仕組みはこのように便利に使えるようになったのですが、では「頻繁に」使えるかというと…なかなか難しいかなという気もしています。
このあたり同意してもらえるかあまり自信が無いのですが…ユーザーのデスクトップに問答無用で通知を「送り付ける」、つまりユーザーの操作、意図とは全く無関係に画面の一部を占有し何かを表示する、というのは、中々に無遠慮な行為な気がするわけです。
トースト送っておいて何言ってんのという話ですが。

また、今回はF10 を使っていただいてるユーザーさんに通知が届いたわけですが、仮に…インストールしている全てのUWP App がそれぞれに「評価してね☆」通知を送ってきたらどうでしょう?かなり鬱陶しい事になるのは容易に想像がつきます。

こう考えると、手段は整備されたものの…上手に、ユーザーに通知をオフられない程度に使うには色々考える事が多いのでは、というのが使ってみての感想です。





0 件のコメント:

コメントを投稿