May 15th, 2018
With the release of the FileMaker Go 17, you can now create a push notification on the user’s iOS device. This script step gives you the ability to not only customize the push notification, but also to run scripts after the user interacts with the notification.
Previously there was no way to notify the user if FileMaker Go was either running in the background or closed entirely; however, since iOS provides “local notifications” you can now set up notifications to be triggered at a certain date or time or even if the user’s device comes within range of an iBeacon.
Let’s take a look at how you can set up push notifications using FileMaker Go.
How to Set Up a Notification
There are two main choices in the Configure Notification script step; “Queue” and “Clear”. The “Clear” option allows the developer to specify the name of the notification that will be deleted in the form of a calculation. The “Queue” option does the opposite, configures a local notification based on several specified settings
- Notification name
- Script triggered on notification interaction
- Timed delay for when the notification will trigger
- Title of notification
- Body text of notification
- Button labels (maximum of 3 buttons)
- Setting buttons to bring application to foreground
The same script will always trigger regardless of which button is selected; however, the script parameter will be set to a return delimited list, with the name as the first value, the button label as the second value, and a Boolean representing whether or not the application was brought to the foreground.
Here is an example of the Configure Notification script step, that has two buttons set up, with one bringing FileMaker Go to the foreground and the other leaving it in the background.
The notification created in this example will return the following list if the second button is selected.
If notifications are disabled on the iOS device, the notifications will not appear, and the triggered script will be given the parameter “NotificationNotAllowed”. If notifications are enabled and the user presses the notification itself and not one of the options, the triggered script will be given the parameter “NotificationSelected”.
What If FileMaker Go is in the Background?
Since notifications will often appear when FileMaker Go is not in the foreground, there are different behaviors that will occur based on the status of the application.
If Go is not running when the user interacts with a notification that triggers a script, Go will launch and run its regular startup process before running the triggered script. If the user dismisses the notification and there is no triggered script, Go is not launched.
If Go is running in the background but not closed, re-authentication may need to be done based on the file’s security settings before any triggered scripts can run; if re-authentication fails, Go will not launch. By default, Go will be brought to the foreground when a script is run; however, if specified, triggered scripts can run on the application without bringing it to the foreground. Apple’s guidelines state that the application only needs to be moved to the foreground if there is required user action, if not it is best to keep the app in the background.
The ability to set local notifications in FileMaker now enables us to grab users’ attention even if they are not using FileMaker Go. You can notify users at a specified date and time or if they come within range of an iBeacon or geofence. Using push notifications can help streamline users to where they need to be, saving them time and eliminating the need to create outside reminders for daily tasks.
Did you know we are an authorized reseller for FileMaker Licensing?
Contact us to discuss upgrading your FileMaker software.
Download the Push Notifications for FileMaker Go File
Please complete the form below to download your FREE FileMaker file.
Kiyan is an outgoing and energetic certified FileMaker developer whose technical passion is the world of databases. His collaborative and positive attitude creates a natural draw for clients seeking solutions to meet their database needs.