SlideShare a Scribd company logo
1 of 53
Deep Dive into the ArcGIS
Geotrigger Service
Aaron Parecki @aaronpk
CTO, Esri R&D Center Portland
Geotrigger SDKs and API Just
Launched!
developers.arcgis.com
What could your app do if
it knew where it was?
Geotrigger:
An Invisible Button
message
What about
Battery
Drain?
Reduces power use away
from content

Increases power
near content
Differences between
iPhone and Android
iOS Location Services
• App

registers for location updates from the
operating system

• iOS

delivers location events to a delegate
object in the app when it’s running

• iOS

may terminate your app due to high
memory conditions, etc.

• If

terminated, iOS will re-launch the app in
the background when a location event is
received

• Less

control over when the data is received,
but less code to manage
Android Location Services
• App

creates a background service which
runs persistently

• The

app’s service requests location data
from the OS

• The

OS delivers location data to the service

• More

control available on Android,
but also requires more code to manage
Geotrigger Technology
• Mobile

SDKs
• Web APIs
• Battery Management
• Tracking Profiles
Getting Started
Getting Started
1.

Create an account at
developers.arcgis.com or sign in if
you already have an ArcGIS
account

2.

Create an application
developers.arcgis.com/en/applicati
ons/
Register a new application

An Introduction to OAuth 2
Get your app’s client_id

An Introduction to OAuth 2
Authentication
The Geotrigger API uses OAuth 2.0
• All requests to the Geotrigger API are
made with an access token.
• To get an access token for your
application, make a request with the
client_id and client_secret to the
"oauth2/token" endpoint of ArcGIS
Online.
2. 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 application is registered to
handle push notifications.

https://developer.apple.com/notifications/
2. Register for Push Notifications
Android
• Get

a GCM key (Google).

• Make

sure you've GCM key in the push
notification settings for your app and make
sure you set your GCM sender ID when you
initialize the Geotrigger service.

http://developer.android.com/google/gcm/
3. Download the Sample App
• Download

the sample app for your
platform (iOS or Android).

• github.com/Esri/geotrigger-sdk-android
• github.com/Esri/geotrigger-sdk-ios
Have an app already?
Add the Geotrigger SDK to your
native app

App Project
Module
Android
Eclipse
•

Add the arcgis-geotriggers.jar as a dependency in
Eclipse, find the library in the Project Explorer, right
click on it, and select Add to Build Path.

IntelliJ IDEA
•

Add arcgis-geotriggers.jar as a module dependency
in your module settings.

•

In your IDE, make the call to start the tracker using
your client ID.

*Due to the use of native location services in Gingerbread, the ArcGIS
Geotrigger SDK for Android requires that your project is compiled with
Android 2.3.3 (API level 10) or newer.
iOS
Xcode
Add the following frameworks to your
application: CoreLocation, Security,
SystemConfiguration, and MobileCoreServices.
• Drag

and drop the GeotriggerSDK.framework file
from Finder into the Frameworks folder in
XCode.

*The Geotrigger Service works only with native apps on iPhone and
Android. GPS can only be accessed in the background by native
applications. Do not try to add the Geotrigger SDK to a web app.
*Important*
Test your push notifications!
• Send

a sample push notification to your
iPhone or Android app.
• Once you’ve determined that push
notifications are working, then you can
test the Geotrigger service.
*You need to test your push notifications before you can
test that the Geotrigger Service works.
Geotrigger Overview
• Triggers

define the logic you want to

happen
• Triggers

can be set when devices enter or
leave a place

• Date

and time ranges can be applied to the
triggers, i.e. only between 9am-5pm
Geotrigger Components
• Condition
-

Geometry (polygon or circle)

-

Direction (enter or leave)

• Action

(message, callback URL, or change
tracking profile)

• Tags

(to group content)

- Example:

Wikipedia article data

-

Tags for Buildings, History

-

Can allow users to subscribe to a subset of the
data
4. Create your first Geotrigger
Create your first Geotrigger geographically
close to your current location so you can test it
out.
• Use

the Geotrigger API
developers.arcgis.com/en/geotrigger-service
/api-reference/trigger-create/

• Use

the visual trigger editor
- Will allow you and your team to quickly set
up triggers without writing code
Create a trigger using the visual editor
Create a trigger using the API
POST https://geotrigger.arcgis.com/trigger/create
{
"condition": {
"direction": "enter",
"geo": {
"latitude": 45.5165,
"longitude": -122.6764,
"distance": 100
}
},
"action": {
"notification": {
"text": "Hello"
}
},
"setTags": "buildings",
"properties": {
"foo": "bar"
}
}
Trigger Types
• Trigger

action can be either
- Messages
- Callback URL
- Change tracking profile

• Use

“message” triggers when you want to
simply send a push notification to users

• Use

“callback” triggers when you want to
receive the trigger notification on your own
server
Trigger Callback Data
•

The trigger callback sends information about:
- The trigger ID that ran
- The user ID that encountered the trigger
- The tags and any custom properties of the
trigger
- The confidence that the device is actually in the
trigger area
- The location of the device when the trigger ran
Tags: a way to organize your data
Tags can be used to
• Group

your content into categories
- Eg: parks, restaurants, public
places

• Segment

users based on
campaigns
- “All users who registered during
the Thanksgiving promotion”
Trigger History
• Retrieve

logs of all the triggers run for your
application

• Trigger
-

history includes

Place information
Device information
Location where the trigger was run
Dashboard Statistics (by Taqtile)
Tracking Profiles
Battery Management built
on top of Apple’s and
Google’s core location
services
Delayed
Messagin
g

Rough
Mode

Least Battery
Drain
Data collected by one device in rough mode
Fast
Messagin
g

Adaptive
Mode

Minimal
Drain
Reduces power use away
from content

Increases power
near content
Fastest
Messaging

Fine
Mode

Most Battery
Drain
Location data
collected by one device in fine mode
2.5 million points since 2008
Change tracking profile via a trigger
POST https://geotrigger.arcgis.com/trigger/create
{
"condition": {
"direction": "enter",
"geo": {
"latitude": 45.5165,
"longitude": -122.6764,
"distance": 100
}
},
"action": {
"trackingProfile": "fine"
},
"setTags": "buildings",
"properties": {
"foo": "bar"
}
}
GPS Differences across
devices
March 2011: iPhone 3GS, 4
Nov 2013: iPhone 4s, 5, 5S
II. The User Experience
of Location
Have fun building your
apps!
How do I use the Geotrigger
Service with the ArcGIS Runtime
SDKs?
(we need docs for this)
How large should I make my
triggers?
Depends on your use case and devices
that will be using your app. Around 50m
for best results.
If you’re running modern hardware in a wifirich environment using the adaptive or fine
profile, you can expect to fire triggers, but
don’t expect this every time.
Edge Cases
Don’t expect every trigger to fire. Some of the older
hardware may be better in some cases, and some of the
newer hardware may be better in some cases. Make
sure to test your apps in the real world (outside).
We will publish a list of battery benchmarks and devicespecific issues to help you with this.
Sometimes Apple Push notifcations don’t get sent.
Developers have no control over this and neither does our
service.
How to get a Feature Service to
turn into triggers?
For now, use the Geotrigger API to migrate data from a
Feature Service to the Geotrigger Service.
Coming soon: pre-written import scripts to help move
data.
Geotrigger SDKs and API!
Nov 19, 2013
developers.arcgis.com
Thank you!
developers.arcgis.com

Aaron Parecki, CTO
Esri R&D Center Portland
geotriggersales@esri.com

More Related Content

What's hot

Foreman Single Sign-On Made Easy with Keycloak
Foreman Single Sign-On Made Easy with KeycloakForeman Single Sign-On Made Easy with Keycloak
Foreman Single Sign-On Made Easy with KeycloakNikhil Kathole
 
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015Suzzicks
 
Open Source Mobile Backend on Cassandra
Open Source Mobile Backend on CassandraOpen Source Mobile Backend on Cassandra
Open Source Mobile Backend on CassandraEd Anuff
 
Developing an intranet on office 365
Developing an intranet on office 365Developing an intranet on office 365
Developing an intranet on office 365Eric Shupps
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSanjay Patel
 
Building Mobile Apps with Apache UserGrid, the Open Source Baas
Building Mobile Apps with Apache UserGrid, the Open Source BaasBuilding Mobile Apps with Apache UserGrid, the Open Source Baas
Building Mobile Apps with Apache UserGrid, the Open Source BaasAll Things Open
 
Authentication across the Atlassian Ecosystem - AtlasCamp 2011
Authentication across the Atlassian Ecosystem - AtlasCamp 2011Authentication across the Atlassian Ecosystem - AtlasCamp 2011
Authentication across the Atlassian Ecosystem - AtlasCamp 2011Atlassian
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Modelbgerman
 
Integrate CI/CD Pipelines with Jira Software Cloud
Integrate CI/CD Pipelines with Jira Software CloudIntegrate CI/CD Pipelines with Jira Software Cloud
Integrate CI/CD Pipelines with Jira Software CloudAtlassian
 
Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020Microsoft 365 Developer
 
Linkedin & OAuth
Linkedin & OAuthLinkedin & OAuth
Linkedin & OAuthUmang Goyal
 
AnDevCon - A Primer to Sync Adapters
AnDevCon - A Primer to Sync AdaptersAnDevCon - A Primer to Sync Adapters
AnDevCon - A Primer to Sync AdaptersKiana Tennyson
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Kashif Imran
 
Microsoft identity platform community call-May 2020
Microsoft identity platform community call-May 2020Microsoft identity platform community call-May 2020
Microsoft identity platform community call-May 2020Microsoft 365 Developer
 
Connecting Google API's With Mule ESB
Connecting Google API's With Mule ESBConnecting Google API's With Mule ESB
Connecting Google API's With Mule ESBJitendra Bafna
 
Community call: Develop multi tenant apps with the Microsoft identity platform
Community call: Develop multi tenant apps with the Microsoft identity platformCommunity call: Develop multi tenant apps with the Microsoft identity platform
Community call: Develop multi tenant apps with the Microsoft identity platformMicrosoft 365 Developer
 
App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013Toni Il Caiser
 
Deploying your static web app to the Cloud
Deploying your static web app to the CloudDeploying your static web app to the Cloud
Deploying your static web app to the CloudChristoffer Noring
 

What's hot (20)

Foreman Single Sign-On Made Easy with Keycloak
Foreman Single Sign-On Made Easy with KeycloakForeman Single Sign-On Made Easy with Keycloak
Foreman Single Sign-On Made Easy with Keycloak
 
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015
Life After Mobilegeddon: App Deep Linking Strategies - Pubcon October 2015
 
Open Source Mobile Backend on Cassandra
Open Source Mobile Backend on CassandraOpen Source Mobile Backend on Cassandra
Open Source Mobile Backend on Cassandra
 
Developing an intranet on office 365
Developing an intranet on office 365Developing an intranet on office 365
Developing an intranet on office 365
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
 
Building Mobile Apps with Apache UserGrid, the Open Source Baas
Building Mobile Apps with Apache UserGrid, the Open Source BaasBuilding Mobile Apps with Apache UserGrid, the Open Source Baas
Building Mobile Apps with Apache UserGrid, the Open Source Baas
 
OAuth in SharePoint 2013
OAuth in SharePoint 2013OAuth in SharePoint 2013
OAuth in SharePoint 2013
 
OAuth2 and LinkedIn
OAuth2 and LinkedInOAuth2 and LinkedIn
OAuth2 and LinkedIn
 
Authentication across the Atlassian Ecosystem - AtlasCamp 2011
Authentication across the Atlassian Ecosystem - AtlasCamp 2011Authentication across the Atlassian Ecosystem - AtlasCamp 2011
Authentication across the Atlassian Ecosystem - AtlasCamp 2011
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Model
 
Integrate CI/CD Pipelines with Jira Software Cloud
Integrate CI/CD Pipelines with Jira Software CloudIntegrate CI/CD Pipelines with Jira Software Cloud
Integrate CI/CD Pipelines with Jira Software Cloud
 
Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020
 
Linkedin & OAuth
Linkedin & OAuthLinkedin & OAuth
Linkedin & OAuth
 
AnDevCon - A Primer to Sync Adapters
AnDevCon - A Primer to Sync AdaptersAnDevCon - A Primer to Sync Adapters
AnDevCon - A Primer to Sync Adapters
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365
 
Microsoft identity platform community call-May 2020
Microsoft identity platform community call-May 2020Microsoft identity platform community call-May 2020
Microsoft identity platform community call-May 2020
 
Connecting Google API's With Mule ESB
Connecting Google API's With Mule ESBConnecting Google API's With Mule ESB
Connecting Google API's With Mule ESB
 
Community call: Develop multi tenant apps with the Microsoft identity platform
Community call: Develop multi tenant apps with the Microsoft identity platformCommunity call: Develop multi tenant apps with the Microsoft identity platform
Community call: Develop multi tenant apps with the Microsoft identity platform
 
App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
 
Deploying your static web app to the Cloud
Deploying your static web app to the CloudDeploying your static web app to the Cloud
Deploying your static web app to the Cloud
 

Similar to Deep Dive into the ArcGIS Geotrigger Service - Esri DevSummit Dubai 2013

Intro to the ArcGIS Geotrigger Service
Intro to the ArcGIS Geotrigger ServiceIntro to the ArcGIS Geotrigger Service
Intro to the ArcGIS Geotrigger ServiceAaron Parecki
 
Philipp Nagele (Wikitude): What's Next with Wikitude
Philipp Nagele (Wikitude): What's Next with WikitudePhilipp Nagele (Wikitude): What's Next with Wikitude
Philipp Nagele (Wikitude): What's Next with WikitudeAugmentedWorldExpo
 
Esri DevSummit 2013 Speed Geeking: Intro to Esri Geotrigger Service for ArcGIS
Esri DevSummit 2013 Speed Geeking: Intro to Esri Geotrigger Service for ArcGISEsri DevSummit 2013 Speed Geeking: Intro to Esri Geotrigger Service for ArcGIS
Esri DevSummit 2013 Speed Geeking: Intro to Esri Geotrigger Service for ArcGISAaron Parecki
 
Android Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NC
Android Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NCAndroid Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NC
Android Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NCJim Tochterman
 
Reaching out from ADF Mobile (ODTUG KScope 2014)
Reaching out from ADF Mobile (ODTUG KScope 2014)Reaching out from ADF Mobile (ODTUG KScope 2014)
Reaching out from ADF Mobile (ODTUG KScope 2014)Luc Bors
 
[English] Create Mobile LBS Application Using Maps API
[English] Create Mobile LBS Application Using Maps API[English] Create Mobile LBS Application Using Maps API
[English] Create Mobile LBS Application Using Maps APIGoogle Cloud Platform - Japan
 
How to use geolocation in react native apps
How to use geolocation in react native appsHow to use geolocation in react native apps
How to use geolocation in react native appsInnovationM
 
Location-Based Services on Android
Location-Based Services on AndroidLocation-Based Services on Android
Location-Based Services on AndroidJomar Tigcal
 
Made for Mobile - Let Office 365 Power Your Mobile Apps
Made for Mobile - Let Office 365 Power Your Mobile AppsMade for Mobile - Let Office 365 Power Your Mobile Apps
Made for Mobile - Let Office 365 Power Your Mobile AppsSPC Adriatics
 
BLM UT Mobile Data Collection
BLM UT Mobile Data CollectionBLM UT Mobile Data Collection
BLM UT Mobile Data CollectionScott Kichman
 
Playing with parse.com
Playing with parse.comPlaying with parse.com
Playing with parse.comJUG Genova
 
Deep Dive: Strategic Importance of BaaS
Deep Dive: Strategic Importance of BaaSDeep Dive: Strategic Importance of BaaS
Deep Dive: Strategic Importance of BaaSApigee | Google Cloud
 
Enhance Location-Based Insights with Additional Geocoding Capabilities
Enhance Location-Based Insights with Additional Geocoding CapabilitiesEnhance Location-Based Insights with Additional Geocoding Capabilities
Enhance Location-Based Insights with Additional Geocoding CapabilitiesPrecisely
 
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxLecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxNgLQun
 
Interview with Developer Jose Luis Arenas regarding Google App Engine & Geosp...
Interview with Developer Jose Luis Arenas regarding Google App Engine & Geosp...Interview with Developer Jose Luis Arenas regarding Google App Engine & Geosp...
Interview with Developer Jose Luis Arenas regarding Google App Engine & Geosp...Rif Kiamil
 
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...e-Legion
 

Similar to Deep Dive into the ArcGIS Geotrigger Service - Esri DevSummit Dubai 2013 (20)

Intro to the ArcGIS Geotrigger Service
Intro to the ArcGIS Geotrigger ServiceIntro to the ArcGIS Geotrigger Service
Intro to the ArcGIS Geotrigger Service
 
Philipp Nagele (Wikitude): What's Next with Wikitude
Philipp Nagele (Wikitude): What's Next with WikitudePhilipp Nagele (Wikitude): What's Next with Wikitude
Philipp Nagele (Wikitude): What's Next with Wikitude
 
Geotalk presentation
Geotalk presentationGeotalk presentation
Geotalk presentation
 
Esri DevSummit 2013 Speed Geeking: Intro to Esri Geotrigger Service for ArcGIS
Esri DevSummit 2013 Speed Geeking: Intro to Esri Geotrigger Service for ArcGISEsri DevSummit 2013 Speed Geeking: Intro to Esri Geotrigger Service for ArcGIS
Esri DevSummit 2013 Speed Geeking: Intro to Esri Geotrigger Service for ArcGIS
 
Android Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NC
Android Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NCAndroid Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NC
Android Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NC
 
Reaching out from ADF Mobile (ODTUG KScope 2014)
Reaching out from ADF Mobile (ODTUG KScope 2014)Reaching out from ADF Mobile (ODTUG KScope 2014)
Reaching out from ADF Mobile (ODTUG KScope 2014)
 
[English] Create Mobile LBS Application Using Maps API
[English] Create Mobile LBS Application Using Maps API[English] Create Mobile LBS Application Using Maps API
[English] Create Mobile LBS Application Using Maps API
 
How to use geolocation in react native apps
How to use geolocation in react native appsHow to use geolocation in react native apps
How to use geolocation in react native apps
 
Location-Based Services on Android
Location-Based Services on AndroidLocation-Based Services on Android
Location-Based Services on Android
 
Node.js and Parse
Node.js and ParseNode.js and Parse
Node.js and Parse
 
Made for Mobile - Let Office 365 Power Your Mobile Apps
Made for Mobile - Let Office 365 Power Your Mobile AppsMade for Mobile - Let Office 365 Power Your Mobile Apps
Made for Mobile - Let Office 365 Power Your Mobile Apps
 
BLM UT Mobile Data Collection
BLM UT Mobile Data CollectionBLM UT Mobile Data Collection
BLM UT Mobile Data Collection
 
Playing with parse.com
Playing with parse.comPlaying with parse.com
Playing with parse.com
 
Deep Dive: Strategic Importance of BaaS
Deep Dive: Strategic Importance of BaaSDeep Dive: Strategic Importance of BaaS
Deep Dive: Strategic Importance of BaaS
 
Enhance Location-Based Insights with Additional Geocoding Capabilities
Enhance Location-Based Insights with Additional Geocoding CapabilitiesEnhance Location-Based Insights with Additional Geocoding Capabilities
Enhance Location-Based Insights with Additional Geocoding Capabilities
 
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxLecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
 
Interview with Developer Jose Luis Arenas regarding Google App Engine & Geosp...
Interview with Developer Jose Luis Arenas regarding Google App Engine & Geosp...Interview with Developer Jose Luis Arenas regarding Google App Engine & Geosp...
Interview with Developer Jose Luis Arenas regarding Google App Engine & Geosp...
 
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
 
OpenMIC March-2012.phonegap
OpenMIC March-2012.phonegapOpenMIC March-2012.phonegap
OpenMIC March-2012.phonegap
 
Droid onwheels v2
Droid onwheels v2Droid onwheels v2
Droid onwheels v2
 

More from Aaron Parecki

Rule Your Geometry with the Terraformer Toolkit
Rule Your Geometry with the Terraformer ToolkitRule Your Geometry with the Terraformer Toolkit
Rule Your Geometry with the Terraformer ToolkitAaron Parecki
 
Low Friction Personal Data Collection - Quantified Self Global Conference 2013
Low Friction Personal Data Collection - Quantified Self Global Conference 2013Low Friction Personal Data Collection - Quantified Self Global Conference 2013
Low Friction Personal Data Collection - Quantified Self Global Conference 2013Aaron Parecki
 
Low Friction Personal Data Collection - QS Portland
Low Friction Personal Data Collection - QS PortlandLow Friction Personal Data Collection - QS Portland
Low Friction Personal Data Collection - QS PortlandAaron Parecki
 
Done Reports - Open Source Bridge
Done Reports - Open Source BridgeDone Reports - Open Source Bridge
Done Reports - Open Source BridgeAaron Parecki
 
UC2013 Speed Geeking: Intro to OAuth2
UC2013 Speed Geeking: Intro to OAuth2UC2013 Speed Geeking: Intro to OAuth2
UC2013 Speed Geeking: Intro to OAuth2Aaron Parecki
 
Low Friction Personal Data Collection - Open Source Bridge
Low Friction Personal Data Collection - Open Source BridgeLow Friction Personal Data Collection - Open Source Bridge
Low Friction Personal Data Collection - Open Source BridgeAaron Parecki
 
Low Friction Personal Data Collection - CyborgCamp 2012
Low Friction Personal Data Collection - CyborgCamp 2012Low Friction Personal Data Collection - CyborgCamp 2012
Low Friction Personal Data Collection - CyborgCamp 2012Aaron Parecki
 
Personal Data Collection Breakout Session Notes
Personal Data Collection Breakout Session NotesPersonal Data Collection Breakout Session Notes
Personal Data Collection Breakout Session NotesAaron Parecki
 
An Introduction to OAuth 2
An Introduction to OAuth 2An Introduction to OAuth 2
An Introduction to OAuth 2Aaron Parecki
 
An Introduction to OAuth2
An Introduction to OAuth2An Introduction to OAuth2
An Introduction to OAuth2Aaron Parecki
 
OAuth 2 at Webvisions
OAuth 2 at WebvisionsOAuth 2 at Webvisions
OAuth 2 at WebvisionsAaron Parecki
 
Home Automation with SMS and GPS
Home Automation with SMS and GPSHome Automation with SMS and GPS
Home Automation with SMS and GPSAaron Parecki
 
The Current State of OAuth 2
The Current State of OAuth 2The Current State of OAuth 2
The Current State of OAuth 2Aaron Parecki
 
Ambient Discovery - Augmented Reality Event 2011
Ambient Discovery - Augmented Reality Event 2011Ambient Discovery - Augmented Reality Event 2011
Ambient Discovery - Augmented Reality Event 2011Aaron Parecki
 
Geolocation in Web and Native Mobile Apps
Geolocation in Web and Native Mobile AppsGeolocation in Web and Native Mobile Apps
Geolocation in Web and Native Mobile AppsAaron Parecki
 
Ambient Location Apps and Geoloqi
Ambient Location Apps and GeoloqiAmbient Location Apps and Geoloqi
Ambient Location Apps and GeoloqiAaron Parecki
 
Geoloqi iPhone App Tour
Geoloqi iPhone App TourGeoloqi iPhone App Tour
Geoloqi iPhone App TourAaron Parecki
 
The Vowel R - Ignite Portland 9
The Vowel R - Ignite Portland 9The Vowel R - Ignite Portland 9
The Vowel R - Ignite Portland 9Aaron Parecki
 
Geoloqi: Non-visual augmented reality Open Source Bridge
Geoloqi: Non-visual augmented reality Open Source BridgeGeoloqi: Non-visual augmented reality Open Source Bridge
Geoloqi: Non-visual augmented reality Open Source BridgeAaron Parecki
 

More from Aaron Parecki (20)

Rule Your Geometry with the Terraformer Toolkit
Rule Your Geometry with the Terraformer ToolkitRule Your Geometry with the Terraformer Toolkit
Rule Your Geometry with the Terraformer Toolkit
 
Low Friction Personal Data Collection - Quantified Self Global Conference 2013
Low Friction Personal Data Collection - Quantified Self Global Conference 2013Low Friction Personal Data Collection - Quantified Self Global Conference 2013
Low Friction Personal Data Collection - Quantified Self Global Conference 2013
 
Low Friction Personal Data Collection - QS Portland
Low Friction Personal Data Collection - QS PortlandLow Friction Personal Data Collection - QS Portland
Low Friction Personal Data Collection - QS Portland
 
Done Reports - Open Source Bridge
Done Reports - Open Source BridgeDone Reports - Open Source Bridge
Done Reports - Open Source Bridge
 
UC2013 Speed Geeking: Intro to OAuth2
UC2013 Speed Geeking: Intro to OAuth2UC2013 Speed Geeking: Intro to OAuth2
UC2013 Speed Geeking: Intro to OAuth2
 
Low Friction Personal Data Collection - Open Source Bridge
Low Friction Personal Data Collection - Open Source BridgeLow Friction Personal Data Collection - Open Source Bridge
Low Friction Personal Data Collection - Open Source Bridge
 
The State of OAuth2
The State of OAuth2The State of OAuth2
The State of OAuth2
 
Low Friction Personal Data Collection - CyborgCamp 2012
Low Friction Personal Data Collection - CyborgCamp 2012Low Friction Personal Data Collection - CyborgCamp 2012
Low Friction Personal Data Collection - CyborgCamp 2012
 
Personal Data Collection Breakout Session Notes
Personal Data Collection Breakout Session NotesPersonal Data Collection Breakout Session Notes
Personal Data Collection Breakout Session Notes
 
An Introduction to OAuth 2
An Introduction to OAuth 2An Introduction to OAuth 2
An Introduction to OAuth 2
 
An Introduction to OAuth2
An Introduction to OAuth2An Introduction to OAuth2
An Introduction to OAuth2
 
OAuth 2 at Webvisions
OAuth 2 at WebvisionsOAuth 2 at Webvisions
OAuth 2 at Webvisions
 
Home Automation with SMS and GPS
Home Automation with SMS and GPSHome Automation with SMS and GPS
Home Automation with SMS and GPS
 
The Current State of OAuth 2
The Current State of OAuth 2The Current State of OAuth 2
The Current State of OAuth 2
 
Ambient Discovery - Augmented Reality Event 2011
Ambient Discovery - Augmented Reality Event 2011Ambient Discovery - Augmented Reality Event 2011
Ambient Discovery - Augmented Reality Event 2011
 
Geolocation in Web and Native Mobile Apps
Geolocation in Web and Native Mobile AppsGeolocation in Web and Native Mobile Apps
Geolocation in Web and Native Mobile Apps
 
Ambient Location Apps and Geoloqi
Ambient Location Apps and GeoloqiAmbient Location Apps and Geoloqi
Ambient Location Apps and Geoloqi
 
Geoloqi iPhone App Tour
Geoloqi iPhone App TourGeoloqi iPhone App Tour
Geoloqi iPhone App Tour
 
The Vowel R - Ignite Portland 9
The Vowel R - Ignite Portland 9The Vowel R - Ignite Portland 9
The Vowel R - Ignite Portland 9
 
Geoloqi: Non-visual augmented reality Open Source Bridge
Geoloqi: Non-visual augmented reality Open Source BridgeGeoloqi: Non-visual augmented reality Open Source Bridge
Geoloqi: Non-visual augmented reality Open Source Bridge
 

Recently uploaded

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Recently uploaded (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Deep Dive into the ArcGIS Geotrigger Service - Esri DevSummit Dubai 2013

  • 1. Deep Dive into the ArcGIS Geotrigger Service Aaron Parecki @aaronpk CTO, Esri R&D Center Portland
  • 2. Geotrigger SDKs and API Just Launched! developers.arcgis.com
  • 3. What could your app do if it knew where it was?
  • 7. Reduces power use away from content Increases power near content
  • 9. iOS Location Services • App registers for location updates from the operating system • iOS delivers location events to a delegate object in the app when it’s running • iOS may terminate your app due to high memory conditions, etc. • If terminated, iOS will re-launch the app in the background when a location event is received • Less control over when the data is received, but less code to manage
  • 10. Android Location Services • App creates a background service which runs persistently • The app’s service requests location data from the OS • The OS delivers location data to the service • More control available on Android, but also requires more code to manage
  • 11. Geotrigger Technology • Mobile SDKs • Web APIs • Battery Management • Tracking Profiles
  • 13. Getting Started 1. Create an account at developers.arcgis.com or sign in if you already have an ArcGIS account 2. Create an application developers.arcgis.com/en/applicati ons/
  • 14. Register a new application An Introduction to OAuth 2
  • 15. Get your app’s client_id An Introduction to OAuth 2
  • 16. Authentication The Geotrigger API uses OAuth 2.0 • All requests to the Geotrigger API are made with an access token. • To get an access token for your application, make a request with the client_id and client_secret to the "oauth2/token" endpoint of ArcGIS Online.
  • 17. 2. 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 application is registered to handle push notifications. https://developer.apple.com/notifications/
  • 18. 2. Register for Push Notifications Android • Get a GCM key (Google). • Make sure you've GCM key in the push notification settings for your app and make sure you set your GCM sender ID when you initialize the Geotrigger service. http://developer.android.com/google/gcm/
  • 19. 3. Download the Sample App • Download the sample app for your platform (iOS or Android). • github.com/Esri/geotrigger-sdk-android • github.com/Esri/geotrigger-sdk-ios
  • 20. Have an app already? Add the Geotrigger SDK to your native app App Project Module
  • 21. Android Eclipse • Add the arcgis-geotriggers.jar as a dependency in Eclipse, find the library in the Project Explorer, right click on it, and select Add to Build Path. IntelliJ IDEA • Add arcgis-geotriggers.jar as a module dependency in your module settings. • In your IDE, make the call to start the tracker using your client ID. *Due to the use of native location services in Gingerbread, the ArcGIS Geotrigger SDK for Android requires that your project is compiled with Android 2.3.3 (API level 10) or newer.
  • 22. iOS Xcode Add the following frameworks to your application: CoreLocation, Security, SystemConfiguration, and MobileCoreServices. • Drag and drop the GeotriggerSDK.framework file from Finder into the Frameworks folder in XCode. *The Geotrigger Service works only with native apps on iPhone and Android. GPS can only be accessed in the background by native applications. Do not try to add the Geotrigger SDK to a web app.
  • 23. *Important* Test your push notifications! • Send a sample push notification to your iPhone or Android app. • Once you’ve determined that push notifications are working, then you can test the Geotrigger service. *You need to test your push notifications before you can test that the Geotrigger Service works.
  • 24. Geotrigger Overview • Triggers define the logic you want to happen • Triggers can be set when devices enter or leave a place • Date and time ranges can be applied to the triggers, i.e. only between 9am-5pm
  • 25. Geotrigger Components • Condition - Geometry (polygon or circle) - Direction (enter or leave) • Action (message, callback URL, or change tracking profile) • Tags (to group content) - Example: Wikipedia article data - Tags for Buildings, History - Can allow users to subscribe to a subset of the data
  • 26. 4. Create your first Geotrigger Create your first Geotrigger geographically close to your current location so you can test it out. • Use the Geotrigger API developers.arcgis.com/en/geotrigger-service /api-reference/trigger-create/ • Use the visual trigger editor - Will allow you and your team to quickly set up triggers without writing code
  • 27. Create a trigger using the visual editor
  • 28. Create a trigger using the API POST https://geotrigger.arcgis.com/trigger/create { "condition": { "direction": "enter", "geo": { "latitude": 45.5165, "longitude": -122.6764, "distance": 100 } }, "action": { "notification": { "text": "Hello" } }, "setTags": "buildings", "properties": { "foo": "bar" } }
  • 29. Trigger Types • Trigger action can be either - Messages - Callback URL - Change tracking profile • Use “message” triggers when you want to simply send a push notification to users • Use “callback” triggers when you want to receive the trigger notification on your own server
  • 30. Trigger Callback Data • The trigger callback sends information about: - The trigger ID that ran - The user ID that encountered the trigger - The tags and any custom properties of the trigger - The confidence that the device is actually in the trigger area - The location of the device when the trigger ran
  • 31. Tags: a way to organize your data Tags can be used to • Group your content into categories - Eg: parks, restaurants, public places • Segment users based on campaigns - “All users who registered during the Thanksgiving promotion”
  • 32. Trigger History • Retrieve logs of all the triggers run for your application • Trigger - history includes Place information Device information Location where the trigger was run
  • 35. Battery Management built on top of Apple’s and Google’s core location services
  • 37. Data collected by one device in rough mode
  • 39. Reduces power use away from content Increases power near content
  • 41. Location data collected by one device in fine mode 2.5 million points since 2008
  • 42. Change tracking profile via a trigger POST https://geotrigger.arcgis.com/trigger/create { "condition": { "direction": "enter", "geo": { "latitude": 45.5165, "longitude": -122.6764, "distance": 100 } }, "action": { "trackingProfile": "fine" }, "setTags": "buildings", "properties": { "foo": "bar" } }
  • 45. Nov 2013: iPhone 4s, 5, 5S
  • 46. II. The User Experience of Location
  • 47. Have fun building your apps!
  • 48. How do I use the Geotrigger Service with the ArcGIS Runtime SDKs? (we need docs for this)
  • 49. How large should I make my triggers? Depends on your use case and devices that will be using your app. Around 50m for best results. If you’re running modern hardware in a wifirich environment using the adaptive or fine profile, you can expect to fire triggers, but don’t expect this every time.
  • 50. Edge Cases Don’t expect every trigger to fire. Some of the older hardware may be better in some cases, and some of the newer hardware may be better in some cases. Make sure to test your apps in the real world (outside). We will publish a list of battery benchmarks and devicespecific issues to help you with this. Sometimes Apple Push notifcations don’t get sent. Developers have no control over this and neither does our service.
  • 51. How to get a Feature Service to turn into triggers? For now, use the Geotrigger API to migrate data from a Feature Service to the Geotrigger Service. Coming soon: pre-written import scripts to help move data.
  • 52. Geotrigger SDKs and API! Nov 19, 2013 developers.arcgis.com
  • 53. Thank you! developers.arcgis.com Aaron Parecki, CTO Esri R&D Center Portland geotriggersales@esri.com

Editor's Notes

  1. Esri Corporate Template V2September 6, 2013See http://arczone/resources/presentations.cfmfor more sample files and help.
  2. We talk about the Geotrigger service as a way to create invisible buttons.
  3. The Geotrigger service allows you to define geographical areas on a map, and define rules of what should happen when a device enters or leaves the area.
  4. a lot of great dedicated hardware for persistent tracking, plug in to a truck or embedded in the vehicle.But for smartphones, need to do better than constantly having the GPS turned on. I'm sure at least some of you have tried to use some older apps that use GPS and have noticed the effect it has on your phone's battery life.
  5. We’ve been spending a long time optimizing battery life across all the different devices. We’ve come up with a way to reduce power while the device is not nearby any triggers, only using power when it’s nearby triggers.
  6. I am going to share some of how the Geotrigger API works. It is composed of mobile SDKs for Android and iPhone, web APIs that can be used from any environment. The SDKs have a lot of code that deals with battery management, and to help with that we've developed what we call "tracking profiles" which I'll talk more about in a few minutes.
  7. How do you make a Geotrigger?It's easy. SImply define the area you'd like to set the trigger in. THiscan be a point and a radius, a polygon, or a series of polygons.Then define the action - this can be whether someone is entering,dwelling or leaving an area.Then define the message. This could be a coupon, a civic notification,piece of location-based information, or notification to another service.Don't want a message to be triggered all of the time? You can also addother metadata like hours or dates. For instance, you could haver amessage trigger only between 9am and am on Mondays, or you could set amessages to be delivered when a user is 500 meters away from a givenpoint.
  8. Not sure what the point of this Is – apps are available from the developers site now. Push certs are available by appending /push-certificates after YOUR-APP-ID though
  9. Not sure what the point of this Is – apps are available from the developers site now. Push certs are available by appending /push-certificates after YOUR-APP-ID though
  10. We don’t handle user creation anymore, it’s all at a device level. Much simpler
  11. We don’t handle user creation anymore, it’s all at a device level. Much simpler
  12. We don’t handle user creation anymore, it’s all at a device level. Much simpler
  13. Example of GeoJSON format. Can add date and time conditions.
  14. How do you make a Geotrigger?It's easy. SImply define the area you'd like to set the trigger in. THiscan be a point and a radius, a polygon, or a series of polygons.Then define the action - this can be whether someone is entering,dwelling or leaving an area.Then define the message. This could be a coupon, a civic notification,piece of location-based information, or notification to another service.Don't want a message to be triggered all of the time? You can also addother metadata like hours or dates. For instance, you could haver amessage trigger only between 9am and am on Mondays, or you could set amessages to be delivered when a user is 500 meters away from a givenpoint.
  15. Rough mode Only gathers approximate location data Good for determining if a device is in a given city or neighborhoodThe most battery efficient
  16. Adaptive mode Optimized for Geotrigger™ eventsWill use less power when farther away from triggers and content
  17. Highest resolutionSends accurate location as fast as possible Least battery efficient
  18. Example of GeoJSON format. Can add date and time conditions.
  19. The Geotrigger SDKs and API help you to unleash it Think about where your data is. Data is everywherein your organizationon the web