AppSheet Automationの使い方(6)「Send a notification」で通知

folder_openAppSheet

請求書アプリのユースケースで、AppSheet AutomationのTask(タスク)設定をマスターします。
前回(第5回)は、「Call a script」Taskを設定してAppSheetとGASを連携しました。
今回は、「Send a notification」Taskを設定して、モバイルデバイスにプッシュ通知をしてみます。
プッシュ通知は第4回の「Call a webhook」でLINE Notifyを使いましたが、「Send a notification」の方が簡単に設定できます。

この記事で使用する請求書アプリは、ブログで解説している請求書アプリ(7回シリーズ)です。
ブログを読んでアプリを自作していない場合は、メルマガ購読者特典のサンプルアプリをダウンロードしても大丈夫です。

【お知らせ】
2022年10月以降、AppSheetエディタの画面が新しく変更されています。
AppSheetのアップデートが速すぎて(汗)、このブログ記事はまだ新エディタの画面には対応していません。
エディタ画面右上にある「Switch to the legacy editor」というアイコンをクリックすると、新エディタと旧エディタの切り替えができます。
記事のアップデートができるまでは、とりあえず、旧エディタに切り替えて解説を読んでください。

Switch to the legacy editor」で旧エディタに切り替える。

1. AppSheetアプリにプッシュ通知を送信する

「send a notification」は、AppSheetアプリがインストールされているモバイルデバイスにプッシュ通知を送れるTaskです。

モバイルアプリのアイコン

受信者は、必ずしもアプリ共有している必要はありません。
モバイルデバイスにAppSheetアプリをインストールし、サインインしていればプッシュ通知を受け取れます。

「send a notification」の特徴として、ディープリンク設定が簡単にできます。
ディープリンクとは、AppSheetアプリの特定のViewに遷移させるリンクのことです。
アプリユーザーがモバイルデバイスで通知をタップすると、アプリが開いて指定したViewに遷移させることができます。

ディープリンクを活用すると、

  • 次の目的地を連絡するために、オフィスワーカーからフィードワーカーにプッシュ通知して、アプリからマップを開いてナビゲーションする
  • フィールドワーカーがオフィスワーカーに完了報告を通知して、アプリを開いて作業内容を確認する

ようなユースケースが考えられます。

2. 「Send a notification」を設定する

「Send a notification」の設定をしましょう。

AppSheetエディタ左側メニュー「Bot」をクリック、「Bots」タブに移動します。
第1回で作成したBot「請求書Automation」をクリックして開きます。

AppSheetエディタ左側メニュー「Bot」をクリック、「Bots」タブに移動、Botをクリックして開く。

「Add a step」をクリックして、新しいStepを追加します。

Stepを追加する。

Stepの名前をつけます。
「Step name」に「プッシュ通知」と名前をつけました。

Stepの名前をつける。

Stepを開いて、種類を「Run a task」にします。

Stepの種類を「Run a task」にする。

「Tasks」タブに移動します。
さきほど追加した「プッシュ通知 Task - 1」というTaskがあると思うので、クリックして開きます。

「Tasks」タブに移動する。

はじめの項目を以下のように設定しました。

設定項目
Task category 「Send a notification」を選択します。
Task name Taskの名前です。Step名と同じ「プッシュ通知」にしました。
Table name タスクを実行するテーブルです。ここでは「請求書」を選択します。
To 受信者の(AppSheetアカウントの)メールアドレスを設定します。
デプロイしていないアプリでは設定が無視されます。通知はアプリオーナー(アプリ作成者)のデバイスにしか届きません。
Use default content? トグルボタンをONにして有効にすると、デフォルトで設定されているメッセージが送信されます。自分でメッセージを作成する場合は、トグルをOFFにして無効にします。

Send a notificationを設定する。

メールアドレスは特殊文字に注意する

「To」は受信者のメールアドレスを設定します。
「T」アイコンをクリックして、テキスト入力するときは注意が必要です。
メールアドレスに「-」(ハイフン)や「+」(プラス)などの特殊文字が含まれている場合は、メールアドレスを「""」で囲む必要があります。

メールアドレスを設定する。

三角フラスコアイコンをクリックして式で設定することもできます。

次の「Use default content?」はトグルボタンをONにして有効にすると以下のようなメッセージが送信されます。
自分でメッセージを作成する場合は、トグルボタンをOFFにして無効にします。

デフォルトメッセージを選択する。

「Use default content?」をOFFにして無効にすると、「Notification Content」の設定項目が表示されます。

設定項目
Title プッシュ通知のタイトルです。
タグを使って列名や関数を設定することができます。
Body プッシュ通知の本文です。
タグを使って列名や関数を設定することができます。
DeepLink 通知に含めるディープリンクです。
タグを使ってテキスト入力するか、式でも設定できます。

Notification Contentを設定する。

タイトルと本文はタグを使って書く

「Title」(タイトル)と「Body」(本文)はタグ(<<>>)を使って書くことができます。
「Table name」で設定したテーブル(ここでは「請求書」テーブル)の列の値は以下のように書きます。

タグの書き方

<<[ 列名 ]>>

ここでは「Title」に「件名」を含めたかったので、

  • <<[件名]>>を送信しました。

と書きました。

また、「Table name」で設定したテーブルから参照しているテーブル(例えば、「取引先」テーブル)の値を取得する場合は以下のように書きます。

参照テーブルの値を取得するタグの書き方

<< [ Ref を設定した列名].[参照テーブル内の列名 ] >>

「取引先名」は「取引先」テーブル内にあります。
「請求書」テーブルの「取引先」列(Ref)から「取引先」テーブルを参照しています。
ここでは「Body」に「取引先名」を含めたかったので、

  • <<[取引先].[取引先名]>>に<<[請求書番号]>>を送信しました。

と書きました。

ディープリンク関数を使う

最後に「DeepLink」を設定します。
AppSheetには、いくつかのディープリンク関数が用意されています。

ここでは、LINKTOFILTEREDVIEWというAppSheet関数を使ってみましょう。
LINKTOFILTEREDVIEW関数は、条件に合致するレコードをフィルタリングした状態でViewを表示するリンクを生成します。
第1引数にViewの名前、第2匹数に条件式を設定します。

LINKTOFILTEREDVIEW関数

LINKTOFILTEREDVIEW("Viewの名前", 条件式) => 条件に合致する行(レコード)をフィルタリングした状態で、指定したViewを表示するリンクを生成する

請求書を作成して取引先に送信したことを受信者に通知します。
三角フラスコアイコンをクリックして、Expression Assistantに以下のように式を設定します。

ディープリンクを設定する。

以下の式をコピペして使っても大丈夫です。

 
LINKTOFILTEREDVIEW(
 "請求書", 
 [ID] = [_THISROW].[ID]
)

モバイルデバイスでプッシュ通知の「Open」をタップすると、請求書アプリの「請求書」Viewに遷移して、該当する請求書レコードがフィルタリングされた状態で表示されます。

3. AppSheetで「Send a notification」を実行する

「Send a notification」を実行してみましょう。
AppSheetエディタのプレビューで「請求書」を選択し、作成済みの請求書をひとつ選択します。

AppSheetエディタのプレビューで「請求書」を選択する。

「請求書発行」ボタンをクリックするとBotが実行されるので、クリックしてみましょう。

Botを実行する。

モバイルデバイスにプッシュ通知が届いたでしょうか?
プロトタイプ(Not Deployed)の場合は、アプリオーナー(アプリ作成者)にだけ届きます。

通知をタップしてみましょう。

モバイルにプッシュ通知が届く。

タイトルと本文が表示されます。
「Open」をタップするとディープリンクから指定のView(「請求書」View)に遷移します。

ディープリンクを開く。

請求書アプリが開いて、「請求書」Viewに遷移します。
該当する請求書レコードがフィルタリングされていれば成功です。

画面が遷移する。

以上、「Send a notification」Taskを使って、モバイルデバイスにプッシュ通知をしました。
設定項目が少なく、ディープリンク設定が簡単にできる利点があります。
通知後にユーザーをアプリに遷移させたい場合は「Send a notification」を検討しましょう。

Share Me!

前の投稿
AppSheetの料金 – 無料と有料の違い、ライセンスの数え方
次の投稿
AppSheet Automationの使い方(5)「Call a script」でGASと連携

関連記事

メニュー