Enabling your application to provide a seamless BOPIS experience can be done in a few easy steps with Gimbal’s SDK. The below workflow will allow your team to easily use Gimbal to enhance your BOPIS offering with location triggers. Here’s an example of how you can do this with our iOS SDK.
Note: Gimbal iOS SDK version 2.83.2 or higher greatly enhances the BOPIS use case and is highly recommended.
Step 1: Request Permissions & Start Monitoring
Before starting this guide, make sure you have reviewed our documentation on how to properly initialize the SDK with your API Key. As well, please ensure you have included the correct Privacy Usage Descriptions in your info.plist file. If the user has not previously granted use of Always Allow, now is a great opportunity to request that by presenting the value of your BOPIS experience using background location services.
Once you’re ready to begin BOPIS for your end-user, start monitoring for updates from the Gimbal SDK. You can monitor for specific features of the Gimbal SDK individually like Places, Beacons, & Communicates or simply start all Gimbal services with the below code.
Gimbal.start()
Step 2: Trigger Place Events
The next step is to implement the GMBLPlaceManager delegate method, didBeginVisit, that’s listed below. As you can see, switching between the different Geofence & Beacon Place Events can be done with a simple if/else statement. Here’s an example of a recent campaign that was setup using the Gimbal SDK. Please note while this campaign included the use of beacons for the in-store trigger, Gimbal SDKs also support geofences for this use-case if your team is not looking to include beacons.
Note: Beacons enhance the accuracy of a BOPIS offering, allowing your team to know if a user precisely within a given area of a parking lot. The OS limits even the most accuracy geofences to 50m.
- User crosses radial geofence, 3 miles from the location
- Store can be updated user is on their way
- User crosses radial geofence, 1 mile from the location
- Store allocates resources to grab user’s order
- User crosses polygonal geofence around the store’s parking lot
- Store begins pulling order from inventory room
- User crosses beacon setup at store’s entrance
- Store is ready with the user’s order
func placeManager(_ manager: GMBLPlaceManager!, didBegin visit: GMBLVisit!) {
if ((visit.place.attributes.string(forKey: "3-mile")) != nil) {
// User is 3 miles away
} else if ((visit.place.attributes.string(forKey: "1-mile")) != nil) {
// User is 1 mile away
} else if ((visit.place.attributes.string(forKey: "parking-lot")) != nil) {
// User has entered parking lot
} else if ((visit.place.attributes.string(forKey: "welcome-beacon")) != nil) {
// User is now in the store
}
}
Step 3 (Optional): Send A Notification
Either relying on the Gimbal SDK’s Communicate feature or one of Gimbal’s push partners like Airship & Braze, you can enable interactive experiences based on the above workflow. Using our integrations with Airship and Braze, you can create location-rich campaigns that alert users with personalized notifications upon arrival for their BOPIS order. If an order isn’t ready yet, after understanding the user’s location with the Gimbal SDK, you can create targeted notifications that explain the situation before that user arrives at the store. Gimbal is the tool you need to facilitate any location data necessary for highly targeted push campaigns.
Looking For Help With Your BOPIS Solution? Contact us to go over your individual needs in more detail. Our Customer Engineering team can work with you and your developers to enable Gimbal’s location offering to enhance your BOPIS offering.
Comments
0 comments
Article is closed for comments.