ビジネスシステムで発生するイベント、例えば、承認申請の提出があった時や掲示板に新しい情報が投稿された時などにそのイベントを即時に知るには、スマートフォンから通知を受け取るのがもはや一般的ですね。
当然、PlatioでもPlatioのアプリに対して通知を送信することができます。プッシュ通知フィールドを使えば、レコードが追加・更新された時にスマートフォンにプッシュ通知が送信されます。検知機能を使えば、レコードのフィールドの値が設定された条件を満たしたときにプッシュ通知が送信されます。Platioのプッシュ通知の機能の詳細についてはこちらの紹介ブログをご覧ください。
Platioのどちらのプッシュ通知の機能を使うにせよ、データポケットのレコードに何か操作が加えられた時にしかプッシュ通知は送信されません。しかし、それ以外の何かをきっかけにプッシュ通知を送りたいことってありませんか? 例えば、マスターデータをPlatioに同期している場合に、同期が終了した時点で「マスターデータの同期が終わりました。」とユーザーに通知を送ることができたら便利ですよね。
PlatioNotificationコンポーネントを使用すれば、いつでもPlatioアプリへプッシュ通知を送ることができます。この記事では、PlatioNotificationコンポーネントの基本的な使用方法を次の順で説明します。
Platioでプッシュ通知を有効にする
Platioミニアプリのユーザーに通知を送るためには、Platio Studioのミニアプリの設定でプッシュ通知を有効にする必要があります。まず、Platio Studioでミニアプリのページを開き、「設定」ボタンをクリックします。
ミニアプリの設定で、プッシュ通知を有効にします。
「保存」をクリックし、ミニアプリのページに戻って「配布」をクリックします。これでプッシュ通知を有効にできました。
次に、プッシュ通知を送信するユーザーがミニアプリの管理者である必要があります。プッシュ通知を送信するユーザーとは、Platioコネクションの作成でAPIトークンを取得したユーザーです。Platio Studioのミニアプリのページの右側にある「ユーザー」メニューからユーザーの一覧画面を表示して、APIトークンを取得したユーザーが管理者であることを確認してください。
もしも管理者でなかった場合は、ユーザーの名前の左側にある編集アイコンをクリックしてユーザーの編集画面を開き、「管理者」をオンに変更してください。
これで、プッシュ通知を送信する準備ができました。
PlatioNotificationコンポーネントを配置する
フローデザイナーの左下にあるコネクションペインでPlatioコネクションを作成します。Platioコネクションの作成方法については、Platioコネクションの作成を参照してください。作成したPlatioコネクションをワークスペースにドロップして表示されるリストからPlatioNotificationコンポーネントを追加します。
プッシュ通知を行う
すべてのユーザーにプッシュ通知を送ってみましょう。
最初にPlatioNotificationコンポーネントをダブルクリックしてPlatioビルダーを開きます。そして、表示されているユーザーのリストの先頭にある「全ユーザー」のチェックボックスをチェックします。
Platioビルダーの下側にある「保存」をクリックするとPlatioNotificationコンポーネントの「ユーザー」プロパティが「全ユーザー」に設定されます。
通知の内容は、「通知のタイトル」と「通知の本文」にそれぞれ設定します。例えば、「通知のタイトル」を「同期完了」とし、「通知の本文」に「マスターデータの同期が2024年1月10日04:32に完了しました」と設定します。
PlatioNotificationコンポーネントの次にEndResponseコンポーネントを接続して次のようなシンプルなフローを作成します。
このフローを実行すると、ミニアプリに登録されているすべてのユーザーに次のような通知が送られます。
すべてのユーザーではなく特定の1人のユーザーにプッシュ通知を送信するには、Platioビルダーで送信対象のユーザーにチェックします。PlatioNotificationコンポーネントは、すべてのユーザーか、または、1人のユーザーにのみプッシュ通知を送信することができます。
プッシュ通知の送信先のユーザーをフロー実行時に変更したい場合は、PlatioNotificationコンポーネントの前にMapperコンポーネントを配置して、Mapperコンポーネント内で送信対象のユーザーのユーザーIDかユーザー名をPlatioNotificationコンポーネントの「ユーザー」にマッピングします。
これでプッシュ通知は送信できるようになりました。しかし、受信した通知をスマートフォン上でタップしても何も起こりません。他のアプリの場合は、普通は通知をタップするとアプリが起動しますよね。PlatioNotificationコンポーネントは、通知をタップした時の動作もいろいろ設定できます。
タップ時の操作を指定する
ユーザーが通知をタップしたときの動作は、次の3つの動作を指定することができます。
データポケットを開く
それでは、通知をタップしてデータポケットを開いてみましょう。
フローデザイナーでPlatioNotificationコンポーネントをクリックして、右上のインスペクターで「タップ時の動作」として「データポケットを開く」を選択します。すると「データポケット名」が表示されますので、そこに「販売履歴」のように開きたいデータポケットの名前を入力します。
先ほどのフローを実行すると、ミニアプリに登録されているすべてのユーザーに次のような通知が送られます。
通知をタップすると、Platioのアプリが起動し、「販売履歴」データポケットが開かれます。
レコードを開く
次に、通知をタップしてデータポケットの特定のレコードを開いてみましょう。
レコードを開くためには、PlatioNotificationコンポーネントの「タップ時の動作」を「レコードを開く」にします。
「レコードを開く」を選択すると、「データポケット名」、「コレクションID」、「レコードID」が表示されます。今回は、「販売履歴」データポケットに追加されたレコードが開かれるようにしてみましょう。
まず、「データポケット名」には 「販売履歴」と入力します。次は「コレクションID」を入力しなければなりませんが、「販売履歴」データポケットのコレクションIDは何でしょうか? コレクションIDはPlatio Studioで取得できます。Platio Studioのミニアプリのページの右側にある「開発者向け情報」をクリックします。
開発者向け情報ページで「コレクション」の下に表示されている「販売履歴」のIDをコピーして、PlatioNotificationコンポーネントの「コレクションID」に設定します。
PlatioNotificationコンポーネントの「レコードID」は新規に追加したレコードのレコードIDを設定する必要があります。今回は、PlatioPutコンポーネントとMapperコンポーネントをPlatioNotificationコンポーネントの前に配置し次のようなフローを作成します。
PlatioPutコンポーネントでPlatioのデータポケットにレコードを追加します。すると、PlatioPutコンポーネントは追加したレコードのレコードIDを「_RecordId」フィールドに設定して出力します。後はその出力ストリームに設定される「_RecordId」フィールドを、MapperコンポーネントでPlatioNotificationコンポーネントの「レコードID」にマッピングします。
通知の内容としては、「通知のタイトル」を 「新規注文」 、「通知の本文」を 「レコードを開くにはタップしてください」 に設定してみました。最終的にPlatioNotificationコンポーネントのプロパティは次のようになります。
このフローを実行すると、ミニアプリに登録されているすべてのユーザーに次のような通知が送られます。
通知をタップすると、Platioのアプリが起動し、「販売履歴」データポケットの追加されたレコードが開かれます。
今回は、PlatioPutコンポーネントが出力したレコードIDを使用しましたが、必ずしもPlatioPutコンポーネントの後にPlatioNotificationコンポーネントを配置する必要はありません。例えば、PlatioPutコンポーネントが出力したレコードIDをファイルやデータベースに保存しておいて、通知時にそこから検索してレコードIDを取得することもできるでしょう。また、PlatioGetコンポーネントを使用してレコードを検索してレコードIDを取得することもできますね。
URLを開く
通知をタップした時の動作としては、Platioのアプリを開くだけでなく、URLをスマートフォンのWebブラウザで開くこともできます。PlatioNotificationコンポーネントの「タップ時の動作」で「URLを開く」を選択します。すると、「URL」が表示されますのでそこに開きたいURLを入力します。
フローを実行すると、ミニアプリに登録されているすべてのユーザーに通知が送信され、通知をタップするとWebブラウザでURLが開かれます。例えば、販売履歴に新規の注文があった時に、注文があった商品ページのURLを指定してプッシュ通知すれば、通知を受けたユーザーは簡単に商品のページが開けて便利ですね。また、Platioとは関係なく、単純にスマートフォンにプッシュ通知を送るための機能として使うことだってできますよ。フローで月例報告書を作成し、クラウド上にアップロードしたらそのURLを指定してプッシュ通知する、なんて使い方だってできちゃうんです。
ここまでの手順で、Platioのプッシュ通知の機能はほぼマスターできました。これで、重要なイベントが発生するたびに、ミニアプリに登録されているユーザーに通知を送れるようになります。実際の例では、日々の業務終了時刻にプッシュ通知を行って、Platioのデータポケットに作業報告を入力してもらうといった使い方もあったようです。アイデア次第でプッシュ通知はいろいろと使えそうですね。