Top Banner
Geotrigger Service: Overview, Location Services, and Use Cases Ken Leung Sam Wong
61

Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

May 22, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Geotrigger Service: Overview, Location

Services, and Use CasesKen Leung

Sam Wong

Page 2: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Geotrigger Service

• Cloud-based

• Consumer-grade GPS

• Perfect for iOS and Android apps

Geotrigger Service: Overview, Location Services, and Use Cases

Page 3: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

GeoEvent Processor

• On premise server appliance

• Can be installed behind firewalls

• Dedicated industrial-strength GPS

• Life or death? Choose GeoEvent Processor

• Tomorrow: 4:00PM Location: S227

Geotrigger Service: Overview, Location Services, and Use Cases

Page 4: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

What could your app do

if it knew where it was?

Geotrigger Service: Overview, Location Services, and Use Cases

Page 5: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Geotrigger Service: Overview, Location Services, and Use Cases

Page 6: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

What about

Battery

Drain?

Geotrigger Service: Overview, Location Services, and Use Cases

Page 7: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Increases power

near content

Decreases

power use

away from

content

Geotrigger Service: Overview, Location Services, and Use Cases

Page 8: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Text

Label

Rough

Mode

Least Battery

Drain

Delayed

Messaging

Geotrigger Service: Overview, Location Services, and Use Cases

Page 9: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Text

Label

Fine

Mode

Most Battery

Drain

Fastest

Messaging

Geotrigger Service: Overview, Location Services, and Use Cases

Page 10: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Text

Label

Adaptive

Mode

Less

Drain

Fast

Messaging

Geotrigger Service: Overview, Location Services, and Use Cases

Page 11: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Geotrigger Service: Overview, Location Services, and Use Cases

Page 12: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Use Cases

Page 13: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

This bridge will be closed on Saturday for maintenance!

Geotrigger Service: Overview, Location Services, and Use Cases

Page 14: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

traffic ahead!

Geotrigger Service: Overview, Location Services, and Use Cases

Page 15: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

New house

for sale!

Geotrigger Service: Overview, Location Services, and Use Cases

Page 16: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Historic town hall, founded in 1897 on Capitol St.

Geotrigger Service: Overview, Location Services, and Use Cases

Page 17: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Geotrigger Service: Overview, Location Services, and Use Cases

Page 18: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Getting Started

Page 19: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Create an account at developers.arcgis.com/en/sign-up/

or log in if you already have an account

Geotrigger Service: Overview, Location Services, and Use Cases

Page 20: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Create an application developers.arcgis.com/en/applications/

Geotrigger Service: Overview, Location Services, and Use Cases

Page 21: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Register for Push Notifications

Apple

• Go to your Apple Developer account to get a Push Certificate (iOS)

• Make sure the push cert has been set on your app and that your app is registered to

handle push notifications

• https://developer.apple.com/notifications/

Geotrigger Service: Overview, Location Services, and Use Cases

Page 22: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Register for Push Notifications

Android

• Get a GCM key (Google)

• Make sure the GCM key is in the push notification settings for your app and that you

have set your GCM sender ID when you initialize the Geotrigger Service.

• developer.android.com/google/gcm/

Geotrigger Service: Overview, Location Services, and Use Cases

Page 23: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

SDKs for iOS and Android

- Wraps native location services on each

platform

- Provides a set of tracking profiles for low,

medium, and high power consumption

- Push Notification Handling

Geotrigger Service: Overview, Location Services, and Use Cases

Page 24: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

SDKApp Project

Geotrigger Service: Overview, Location Services, and Use Cases

Page 25: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Geotrigger SDK for iOS

• Get the SDK from Github or CocoaPods• pod ‘GeotriggerSDK’

• Ensure your app has ‘Location Updates’ and

‘Background Fetch’ background modes enabled

• Call one of the setupWithClientId: methods

Geotrigger Service: Overview, Location Services, and Use Cases

Page 26: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Geotrigger SDK for Android

• Get the Sample App and SDK from GitHub:• github.com/esri/geotrigger-sdk-android

• Change the package name in the sample app or add the

required permissions to your existing AndroidManifest.xml

• Use the GeotriggerHelper to start the Geotrigger Service

Geotrigger Service: Overview, Location Services, and Use Cases

Page 27: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Test your triggers!

• Create test triggers

• Walk around outside to test push notifications

• 100m radius minimum

Geotrigger Service: Overview, Location Services, and Use Cases

Page 28: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Geotrigger API

• Manage devices, triggers, and

tags

• Access trigger history

• Build custom statistics

Geotrigger Service: Overview, Location Services, and Use Cases

Page 29: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Submitting Your App to iTunes

• Location should be used to enhance

• Explain why you are using location in app

description

• Be prepared for app rejection, so submit at

least 2-3 weeks before you plan to launch

Geotrigger Service: Overview, Location Services, and Use Cases

Page 30: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Geotrigger Service API

Page 31: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Authentication

• The Geotrigger API uses OAuth2

• Requests to the Geotrigger API require an access token

• To get an access token make a request with the client_id and client_secret to the

“oauth2/token” endpoint of ArcGIS Online

• Devices register with ArcGIS Online using only the client_id, and are given a refresh

token in addition to the access token.

Geotrigger Service: Overview, Location Services, and Use Cases

Page 32: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Triggers

• Define what happens when someone enters or leaves a place

• Triggers have a location that can be a circle or a polygon (EsriJSON or GeoJSON)

• Date and time ranges can restrict when triggers are active

• Triggers can have a limit to the number of times they can be fired

Geotrigger Service: Overview, Location Services, and Use Cases

Page 33: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Tags

• Used to associate triggers with devices

• Device must share a tag with a trigger to fire the trigger

• Example: Trigger labeled with ‘restaurant’ tag, user subscribes to ‘restaurant’

coupons.

Geotrigger Service: Overview, Location Services, and Use Cases

Page 34: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Geotrigger Editor

Page 35: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Editor Overview

• A visual interface for managing triggers

• List all triggers and filter by tag or trigger ID

• Create triggers by drawing trigger boundaries as circles and polygons

• Define and update trigger rules

Geotrigger Service: Overview, Location Services, and Use Cases

Page 36: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Geotrigger API Routes

• /trigger/list

• /trigger/create

• /trigger/update

• /trigger/delete

Geotrigger Service: Overview, Location Services, and Use Cases

Page 37: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Geotrigger Editor: List View

Geotrigger Service: Overview, Location Services, and Use Cases

Page 38: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

/trigger/list

Geotrigger Service: Overview, Location Services, and Use Cases

{"triggerIds": [...],"tags": [...],"geo": {...},

}

• List all triggers associated with an application

• All parameters are optional, used for filtering results:

Page 39: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Geotrigger Editor: Create/Update View

• Geotrigger Service: Overview, Location Services, and Use Cases

Page 40: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Tags

• Geotrigger Service: Overview, Location Services, and Use Cases

Page 41: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Condition

• Geotrigger Service: Overview, Location Services, and Use Cases

Page 42: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Action

• Geotrigger Service: Overview, Location Services, and Use Cases

Page 43: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Advanced Properties

• Geotrigger Service: Overview, Location Services, and Use Cases

Page 44: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

POST /trigger/create

{"condition": {"direction": "enter","geo": {

"latitude": 45.5165,"longitude": -122.6764,"distance": 240

}},"action": {"callbackUrl": "http://example.com/trigger",

},"setTags": ["office", "red", “blue”],

}

• Geotrigger Service: Overview, Location Services, and Use Cases

Page 45: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Advanced Trigger Properties

• Trigger ID

- Custom IDs can be specified on create, but cannot be updated.

• Rate Limit

- Number of seconds between executions, per device. Default 30. Set to 0 for no

minimum.

• Times

- Maximum number of executions, per device. Default 0 for no maximum.

• Properties

- Arbitrary properties saved with the trigger.

• Geotrigger Service: Overview, Location Services, and Use Cases

Page 46: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Demo

Geotrigger Editor

Page 47: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Geotrigger Faker

Page 48: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Faker Overview

• A web application for sending location updates and testing triggers

• Create a fake device or spoof an existing device

• Draw a point and radius to send location updates and fire triggers from the comfort

of your workspace

• Geotrigger Service: Overview, Location Services, and Use Cases

Page 49: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Geotrigger Faker: Sending Location Updates

• Geotrigger Service: Overview, Location Services, and Use Cases

Page 50: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

POST /location/update

{"locations": [{

"latitude": 45.5194753769039,"longitude": -122.67609357921172,"accuracy": 55,"timestamp": "2014-03-11T17:07:24.727Z"

}],"previous": {"latitude": 45.51976103506265,"longitude": -122.67519235698273,"accuracy": 67,"timestamp": "2014-03-11T17:07:27.313Z"

}}

• Geotrigger Service: Overview, Location Services, and Use Cases

Page 51: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Callback Payload

• JSON data that is sent to a callback URL when a trigger is fired

• Enable the callbackURL parameter within the trigger action.

• Can be used to create a customized app experience

• Geotrigger Service: Overview, Location Services, and Use Cases

Page 52: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Custom Notifications

• API provides a way to send a notification to a device

• Can be used with callback payload to send customized push notifications

• Target devices by ID, geography or tag

• Geotrigger Service: Overview, Location Services, and Use Cases

Page 53: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

POST /device/notify

// request{

"tags": ["red"], "text": “Welcome Red Team!", "data": {"foo": “bar"}

}

// response{"devices": [

{"3XgGh30aTlEKlK91": "queued"},{"8907123u9yasdjkn": “queued"}]

}

• Geotrigger Service: Overview, Location Services, and Use Cases

Page 54: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Demo

Geotrigger Faker

Page 55: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Use Case Demo

Page 56: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Demo

Global Triggers

Self-Guided Tour

Page 57: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Demo

Labeled Triggers

Personalized Offers

Page 58: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Demo

Labeled Devices

Workforce Management

Page 59: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Demo

Combination Use Cases

Geo Coupon

Page 60: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Open Source

• Geotrigger Editor & Geotrigger Faker are open source

- github.com/esri/geotrigger-editor

- github.com/esri/geotrigger-faker

• Client Libraries in various languages:

- github.com/esri/geotrigger-js

- github.com/esri/geotrigger-ruby

- github.com/esri/geotrigger-go

- github.com/esri/geotrigger-python

Page 61: Geotrigger Service: Overview, Location Services, …...Geotrigger Service: Overview, Location Services, and Use Cases Author Esri Subject 2015 Esri Asia Pacific User Conference--Presentation

Share your moment #EsriAPUC