Power Apps スマートフォンのPower Appsアプリにプッシュ通知を表示する|SendPushNotificationV2

久しぶりにPower Appsのマニュアルを流し読みしていたら、スマートフォンのPower Appsアプリにプッシュ通知を送信するコネクタができていたので、使ってみた。

スポンサーリンク

ソース

このマニュアルでは「Power Apps Notification」コネクタを使用していたけど、ちょっと調べてみると新しいバージョンの「Power Apps Notification V2」コネクタがリリースされていたので、今回はこちらを使用してみる。

Power Apps Notification V2コネクタ

Power Appsで作成したアプリにプッシュ通知を送信するコネクタ。
※Dynamics365のField Serviceで作成したアプリにも通知を送信できるよう。

で、今回使用するAPIは「SendPushNotificationV2」でこのAPIを使用してPower Appsでプッシュ通知を送信してみる。

Power Apps Notification V2コネクタを使ってみる

ということで早速使ってみる!

事前準備:プッシュ通知を受信するアプリ作成

まずはプッシュ通知を受信するアプリを作成する。

こんな感じでモバイルレイアウトの適当なアプリを作成。
そしたら、アプリ一覧の[詳細]メニューをから、
作ったアプリの[アプリ ID]を控えておく。

これで準備完了!

Power Automateからプッシュ通知を送る

まずはPower Automateからプッシュ通知を送ってみる。

適当なトリガーでフローを作成し、[プッシュ通知V2を送信する]アクションを探して選択。
そしたらパラメーターをこんな感じで設定してあげる。

  • モバイルアプリ:Power Apps
  • 自分のアプリ:プッシュ通知を送信したいアプリ
  • 受信者:プッシュ通知を送る相手のメールアドレス
  • メッセージ:プッシュ通知に表示するテキスト
  • アプリを開く:「はい」を設定するとプッシュ通知を押したときにそのアプリが開く

これで完成!

このフローを実行してみると、スマートフォンにこんな感じでプッシュ通知が表示されて、
プッシュ通知を押すとPower Appsモバイルアプリが起動、
アプリが表示される!

PowerAppsからプッシュ通知を送る

続いてPower Appsアプリからプッシュ通知を送ってみる。

適当なアプリを作成したら、データの追加から[Power Apps Notification V2]コネクタを探して追加。
そしたらボタンとかを追加して、
OnSelectで[SendPushNotificationV2]APIを、こんな感じで呼び出してあげる。

PowerAppsの通知V2.SendPushNotificationV2(
    "PowerApps",
    "{ ""appIdentifier"": ""事前準備で作成したアプリ ID"", ""type"": ""CanvasApp"" }",
    [
        "通知の送信相手のメールアドレス"
    ],
    "通知に表示するテキスト",
    true, // trueにすると、ユーザーがプッシュ通知をタップしたときにPower Appsアプリを開く
    {}
)

これで完成!

このボタンを押してみると、こんな感じでプッシュ通知が表示されて、
プッシュ通知を押すとアプリが開く。
スマートフォンのロックを解除していると、上にプッシュ通知が表示される。

こんな感じでPower AutomateやPower Appsから、Power Appsアプリのプッシュ通知を送ることができる。

Power Automateからであれば引数(パラメーター)を送れる

Power Automateからであればプッシュ通知に引数(パラメーター)を設定することができる。

先ほど作成したPower Automateの[パラメーター]にこんな感じでJSONを設定してあげて、
プッシュ通知で開く側のPower Appsでは、Param関数を使って引数を受け取れるようにする。
Power Automateを実行して、スマートフォンに表示されたプッシュ通知を押すと無事に引数を渡せている。

この引数とApp.OnStartScreenプロパティを使えば、プッシュ通知から起動されたときだけ特定の画面を最初に表示するということもできそう。

Power Appsからだとパラメータを送れない。。。

Power Automateからだとパラメーターをうまく渡せたんだけど、なぜかPower Appsからだとうまくパラメーターを渡せなかった。。。

Power Automateでのコネクタの呼び出しがこんな感じだったので、
Power Appsでも真似して書いてみたんだけど、
どうもこの書き方ではダメっぽい。。。
送信要求を覗いてみると[dynamicParams]がなぜか空になっているので、他の方法で指定する必要がありそうなんだけど、その方法は見つからず。。。

なのでPower Appsからプッシュ通知を引数ありで送りたい場合は、今のところPower Automateを一枚かませる必要がありそう。。。

コメント

タイトルとURLをコピーしました