FileMaker 17の新機能 ~[ローカル通知の構成] スクリプトステップ(FileMaker Go)~
2018年06月06日 11:45 AM
FileMaker 17
FileMaker Go 17では、[ローカル通知の構成]スクリプトステップが追加され、iOSデバイスでプッシュ通知ができるようになりました。
この新機能についてご紹介します。
1.通知について
2.[ローカル通知の構成]スクリプトステップの設定
3.スクリプト内で取得できる、引数の違いについて
4.通知機能を試してみる
1.通知について
[ローカル通知の構成]スクリプトステップは位置情報に基づく機能のため、[領域監視スクリプトを構成]を使用する必要があります。
V16で[領域監視スクリプトを構成]スクリプトステップが追加され、事前に設定した位置情報をもとに、アクションを起こすことができるようになりました。
例えば、複数の会社が登録されたデータベースがあるとします。会社Aに近づいたときに、近くに関連企業があることを通知する、ということができます。
しかし、このアクションはApps内に限られたものであり、FileMaker Goがバックグラウンドで実行されていた場合は、フォアグラウンドに戻ったあとに通知がくる、というものでした。
今回追加された[ローカル通知の構成]スクリプトステップは、ユーザに対してプッシュ通知が可能となり、Appsがバックグラウンドや起動していない状態でも通知ができます。
2.[ローカル通知の構成]スクリプトステップの設定
処理 | キュー:通知の設定をする
消去:設定を削除する |
名前 | 通知名を指定。※同じ通知名でスクリプトが実行された場合、前の設定がクリアされ、新しい設定が適用されます。 |
スクリプト | 通知後に実行するスクリプトを指定。
この指定スクリプト内ではGet(スクリプト引数)により、次の値が改行区切りで取得できます。 1:通知名 2:以下のいずれかを返します。※次の節に詳細を記載しています。 <ボタンラベル>:通知アラートでボタンを選択したとき。 NotificationSelected:通知アラートを選択したとき。 NotificationNotDisplayed:FileMaker Goがフォアグラウンドになっているため、通知が表示されなかったとき。 NotificationNotAllowed :iOSデバイスの通知が無効になっているとき。 3:フォアグラウンドにあるとき「1」、バックグラウンドにあるとき「0」を返します。 4:[スクリプトの指定]ダイアログボックスのオプションのスクリプトパラメータ。 |
遅延 | 秒数を指定。指定時間経過後に指定スクリプトが実行されます。 |
タイトル | 通知アラート内に表示されるタイトル |
ボディ | 通知アラート内に表示される内容 |
ボタンラベル | 通知アラート内に表示される各ボタンの名前。 |
ボタン前面 | 1か0(または空欄)を指定。ボタンを選択したときに、Appsの表示切替をします。
1:FileMaker Goを手前に切り替える。 0または空欄:バックグラウンドで保持。 |
3.スクリプト内で取得できる、引数の違いについて
引数と指定スクリプトが実行されるかどうかは、ユーザの操作により変わります。
アラート表示 | デバイスの通知設定 | Goの状態 | 引数 | 指定スクリプトの実行のタイミング |
無 | オフ | フォアグラウンド、バックグラウンド、起動していない、いずれも | NotificationNotAllowd
|
・デバイスの通知設定がオフになっている場合。
通知は表示されず、Appsを起動している、起動していない、バックグラウンドのどの状態でも、必ず指定スクリプトが実行されます。 |
オン | フォアグラウンド | NotificationNotDisplayed | ・Appsを起動している場合。
通知の表示はされず、指定スクリプトが実行されます。 ※通知設定がオフになっている場合はAppsを起動している状態でも、 NotificationNotAllowd が返されます。 |
|
有 | バックグラウンドまたは起動していない | NotificationSelected
|
通知アラートを選択してAppsを起動した場合。
具体的な操作は以下の通りです。 ・ホーム画面に表示される通知を選択 ・通知画面で左にスライドして「開く」を選択 |
|
<ボタンラベル>
|
通知アラートのボタンを選択した場合。
ボタンは通知画面で以下の操作をすると表示されます。 ・3D Touch搭載のiPhoneで通知アラートを強く押す ・右にスライドして「表示」を選択する |
|||
引数は何も取れず、指定スクリプトも実行されない。 | 通知アラートを削除し、後からAppsを起動した場合。
具体的な操作は以下の通りです。 ・右にスライドをして「消去」を選択する ・ボタン表示の画面で「×」を選択する |
以下の2つは、通知アラートの操作をするまで指定スクリプトが実行されません。
1.通知アラートの選択をしなかった場合
2.通知アラートを選択しないでAppsを起動した場合(Appsを起動しても、アラートの表示は消えません)
通知アラートに対して操作をしなくても指定した領域を出入りするたびに通知はきますが、通知アラートは最新の1件のみ表示されます。※このとき、指定スクリプトの実行は最新のアラートに対して1度のみ行なわれます(アラートの操作後に実行されるため)
4.通知機能を試してみる
3つのスクリプトが必要になります。
①領域設定のスクリプト
②通知設定のスクリプト
③処理のスクリプト
① 領域設定のスクリプト
※1 |
領域の設定をします。
ここで指定した領域を出入りした際に、②の通知、および③の処理が実行されます。 [領域監視スクリプトを構成]のスクリプト指定で、②を指定してください。 [領域監視スクリプトを構成]スクリプトステップの設定方法はこちらを確認してください。 |
② 通知設定のスクリプト | 通知アラートの設定をします。
[ローカル通知を構成]のスクリプト指定で、③を指定してください。 通知アラート内で選択したボタンによって処理を変える場合は、③のスクリプト内に記述します。 |
③ 処理のスクリプト | 通知アラート表示の有無に関係なく実行されるスクリプトです。 |
※1 起動時に実行させる必要があります。実行後、領域の出入りでアクションを起こすようになります。
起動時に実行させる設定:ファイル>ファイルオプション>スクリプトトリガのOnFirstWindowOpenで①を指定してください。
領域を出入りした際に、通知をおこなうサンプルファイルを作成しましたのでご参照ください。
通知のボタン選択で「1分後に再通知」ができるようになっています。
サンプルファイルはこちら→