aem apps enhanced: in-app messaging and beacons by john fait
TRANSCRIPT
AEM Apps Enhanced : In-app Messaging and Beacons John Fait, Adobe AEM Apps R&D
Me
2
AEM APPS
3
Attendees
Mobile
AEM Apps
Messaging
Beacons
Q & A
Agenda
Mobile Trends and Challenges
• Users are consuming content across web, mobile web and mobile app channels
• Content consumption via Mobile far outpaces the browser
• Users expect apps
• User experience first
• Beacons and Location Based Services on rise
• Personalization and contextual targeting
Trends
Mobile is very important &
the opportunity is huge
• App Management
• Multiple platforms
• Multiple devices
• Rising costs
• User Experience
• Conversion
• Loyalty
• Retention
• Mindshare
Challenges
Mobile development and management
is challenging
AEM Apps Apps Made Easy
AEM Apps
Mobile Apps Made Easy!
Enterprise
DPS
AEM Apps
Adobe PhoneGap Enterprise
Adobe Digital Publishing
Solution
Native Apps
Managing Apps
1. Create
2. Manage
3. Measure
4. Optimize
AEM Apps mobile application development
and management platform
Apps Made Easy
Mobile Apps Made Easy! • Reuse AEM authoring and development skillsets
• Reuse assets across channels and devices
• Reduce costs, increase consistency improve brand loyalty
• Easy app updates without AppStore submissions
13
NOPE
-[nohp] Adverb, informal
1. No
Examples: Nope, your app is not done
15
• Analytics
• Targeting & Personalization
• Messaging
• Beacons and Location Services
Advanced Apps
Messaging
• Retention
• Engagement
• Conversion
• Notifications
• Offers
• Content promotion
Messaging
Push
In-App Messaging
High access to users.
App does not have to be running.
• Delivers message to users home screen
• Requires user opt in
• Can bring users back to your app
• Simple to implement, simple to miss-use difficult to do well (or is it?)
Push
App must be running.
• Does not require opt in
• Richer content, more relevance
• Keep your users engaged and loyal
In-App Messaging
DEMO
In App Messaging
DEMO REVEALED
In App Messaging
Messaging Tips and Tricks
Mobile Apps Made Easy! • Clear message and action to take
• Measure, review and repeat
• Target and Personalize (Audiences)
• Respect the user – Content
– Timing
– Frequency
Push Messaging Tips, Tricks and Benefits
Mobile Apps Made Easy! • Clear message and action to take
• Measure, review and repeat
• Target and Personalize (Audiences)
• Respect the user
– Content
– Timing
– Frequency
• Transparent about type, frequency and benefits of messaging to increase opt in rate
• Deep linking, take user to the content
In-App Messaging Tips, Tricks and Benefits
Mobile Apps Made Easy! • Clear message and action to take
• Measure, review and repeat
• Target and Personalize (Audiences)
• Respect the user
– Content
– Timing
– Frequency
• Rich and visually appealing
• Can be used to complement push messaging
Beacons
Small wireless device that broadcasts a radio signal at regular intervals
Uses BlueTooth Smart™ Technology (aka BLE)
• Very low power
• Low cost
• Large range
• Supported by all modern smartphones
What are Beacons
How do Beacons work?
1. Beacons broadcast a radio signal at a regular interval
2. Signal is detected by listening nearby Bluetooth Smart™ enabled device
3. App uses the signal to identify the beacon and optionally take action
How do Beacons work?
Broadcast
• ProximityUUID, Major, Minor, txPower, other
Detection
• Ranging
• Monitoring
Action
• Triggers : Enter, Exit, Dwell …
• Actions : track, enable/disable, show/hide …
Merge digital and physical worlds
to deliver engaging mobile experiences
• Proximity marketing
• Traffic analysis
• Deliver contextually relevant content and experiences
• Gamification
• Contextual feature enablement and app behaviour modification
• Welcome and parting messages
Beacons Uses
• Beacons ARE NOT accurate
• Beacons ARE proximity based NOT location based
• Beacons DO NOT track you or collect information about you
• Beacons DO NOT deliver content to you
• Beacons ARE easily discoverable (not just by your app)
• Beacons ARE NOT limited to indoor use
• Phones CAN BE beacons
• Beacons WORK offline
Beacons Myths and Truths
DEMO
Beacons
DEMO REVEALED
Beacon Management : Authoring
DEMO REVEALED
Beacon Management : Development
config.xml
<plugin name="com.telerik.plugins.nativepagetransitions" spec="https://github.com/Telerik-Verified-Plugins/NativePageTransitions#0.4.0" /> <plugin name="pl.makingwaves.estimotebeacons" spec="https://github.com/evothings/phonegap-estimotebeacons.git" /> <plugin name="cordova-plugin-whitelist" spec="https://github.com/apache/cordova-plugin-whitelist" />
Plugin Usage
// iOS Request permission to access Location Services estimote.beacons.requestAlwaysAuthorization();
// Starting ranging estimote.beacons.startRangingBeaconsInRegion($scope.regionData, onBeaconsRanged, onError); function onBeaconsRanged(beaconInfo) { BeaconManager.trackBeacons(beaconInfo); }
// Stop Ranging estimote.beacons.stopRangingBeaconsInRegion($scope.regionData, onRangingStopped, onError);
Beacon Export into Beacons.json
<jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" jcr:primaryType="nt:unstructured" path="/content/phonegap/conference-app/en/home/beacons" targetRootDirectory="www" type="beacons-list"/>
[ { "name": "Coffee Shop Beacon", "description": "Proximity to the adobe ottawa coffee shop", "uuid": "b9407f30-f5f8-466e-aff9-25556b57fe6d", "major": 3437, "minor": 10001, "location": "Coffee Shop", "onEnter": "/content/phonegap/conference-app/en/home/venues/adobe/rooms/coffeeshop" }, … ]
Adobe Mobile Services: tracking
https://marketing.adobe.com/resources/help/en_US/mobile/ios/phonegap_methods.html
Beacon Management : enterBeaconCallback
• Track closest beacon • Ignore noise and dropped signals • Fire callbacks for beaconEnter, beaconExit and beaconUpdate
function enterBeaconCallback(beacon){ console.log("APP BEACON ENTER >>>>> " +BeaconManager.getBeaconAsString(beacon)); … if (beaconJson != null && beaconJson.onEnter != null) { $scope.go(beaconJson.onEnter, beaconJson.name); } … } function exitBeaconCallback(beacon){…} function updateBeaconCallback(beacon, dwellTime){…}
Beacon Management : exitBeaconCallback
• Track closest beacon • Ignore noise and dropped signals • Fire callbacks for beaconEnter, beaconExit and beaconUpdate
function enterBeaconCallback(beacon){…} function exitBeaconCallback(beacon){ console.log("APP BEACON EXIT < < < " + BeaconManager.getBeaconAsString(beacon)); … if (beaconJson != null && beaconJson.onExit != null) { $scope.go(beaconJson.onExit, beaconJson.name); } … } function updateBeaconCallback(beacon, dwellTime){…}
Beacon Management : updateBeaconCallback
• Track closest beacon • Ignore noise and dropped signals • Fire callbacks for beaconEnter, beaconExit and beaconUpdate
function enterBeaconCallback(beacon){…} function exitBeaconCallback(beacon){…} function updateBeaconCallback(beacon, dwellTime){ if(dwellTime%5==0){ console.log("APP BEACON UPDATE > " + BeaconManager.getBeaconAsString(beacon) + ":" + dwellTime); } // DWELL ACTION }
DEMO REVEALED Adobe Mobile Services :
Beacon Path Analysis Traffic Reporting
DEMO REVEALED Adobe Mobile Services :
Beacons as action triggers
DEMO REVEALED Adobe Mobile Services :
Technology Report
• Power/Battery
• Size
• Management & Provisioning
• Development and Testing
• Signal Accuracy and Noise – Distance fluctuations
– Proximity variations
– Obstacles
Beacon Challenges
Beacon Challenges : Noise and Inaccuracy
Test. Re-Test. Test Again.
• Test the Plan (triggers, actions, etc)
• Test via Simulation
• Test the reality (real physical environment)
• Test against different devices and OSs
Beacons Tips and Tricks
• Phone as your beacons
• Dev/test page in your app to fake/trigger beacon events
• Use/configure dwell time, signal ignores distance/proximity setting
• Adjust beacon power
Beacons Tips and Tricks Continued…
Takeaways
2 Messaging to bring
back, retain and convert users
1 AEM Apps for your App
development and management needs
3 Beacons to merge and
reduce the friction between the digital and physical experiences
Questions
John Fait AEM Apps R&D
Thank you