SDK for iOS Overview Version 1.2 NOMi Mobile SDK for iOS Microlocation Marketing For The Enterprise BRING YOUR STORE TO LIFE ECommerce vendors continue to steal market share from brick-and-
mortar businesses by oering lower prices and convenient shipping. To remain competitive, oine retailers need to provide a more compelling shopping experience that stimulates each of the ve senses. NOMi Mobile enhances the in store experience by allowing loyal customers to unlock rewards, product reviews and services in real time as they browse your aisles. To access proximity aware in-app messaging, retailers deploy Nomis Bluetooth LE beacons and integrate the companys SDK into its mobile app. COMPETE ON CUSTOMER EXPERIENCE The NOMi SDK for iOS makes it easy for native iOS developers to collect location-based engagement data and interact with customers through SDK for iOS Overview Version 1.2 their mobile applications. NOMi partners can then leverage the NOMi Dashboard to:
Overlay application adoption and usage with other in-store metrics like the number of visits, visit duration and frequency. Engage customers in-store using personalized, context-based notications. NOMI DELIVERS A SOLUTION, NOT A FEATURE Nomis robust Location Platform oers interior analytics and proximity marketing in a single solution. Only NOMi provides the ability to analyze and optimize customers complete path to purchase. By integrating clients existing CRM, BI, and POS systems, NOMi provides a single, comprehensive view of the customer across all channels. ENTERPRISE-GRADE INFRASTRUCTURE Nomis team has spent the past decade building world class enterprise software at Salesforce.com and Buddy Media. Only NOMi oers secure, enterprise-grade beacon management tools that automatically alert you when sensors go down or battery life nears depletion. INFLUENCE DONT ANALYZE Nomis real-time proximity aware messages oer the opportunity to inuence purchase decisions before checkout. Traditional loyalty programs wait until a customer transacts out to oer incentives. By then, its often too late to upsell or cross-sell a customer.
!
SDK for iOS Overview Version 1.2 FEATURES
!
Messaging Proximity Marketing
!
Management Geo-fencing Enrich the in store experience for your most loyal customers with in-
app marketing triggered by proximity to products on the shelves. Nomis exible geo-fencing allows you to dene the radius of in-app messaging by inches, feet, or dozens of feet depending on the goal of your campaign. Real Time Interactivity Tap To Trigger Functionality Nomis unique design eliminates any delay in proximity based promotions. That means you reach customers with the right message at the right time, every time. Rules Engine Nomis rules engine puts you in control of your proximity based promotions. You dene who receives what message. Allow customers with your mobile application to unlock additional rewards by tapping their device to in store kiosks- register for sweepstakes or view product reviews. Easy Installation NOMi designed the markets smallest beacons to facilitate hassle free deployment. Place a beacon in POP signage, product display or at the cash wrap to oer enhanced in-app interactions. In-App Convenience Unied Reporting Reward customers who have downloaded your mobile app with additional in-app services such as reserving a tting room or pre-
order for in-store pick up.
!
!
NOMi reports the results of all your marketing campaigns, including proximity based promotions, in a single dashboard. Easily assess the performance of your overall marketing strategy in a single summary.
!
SDK for iOS Overview Version 1.2 TABLE OF CONTENTS HOW IT WORKS!
INSTALLATION!
REGISTERING FOR EVENTS!
CLASS REFERENCE!
RULES & NOTIFICATIONS !
TECHNICAL SPECIFICATIONS!
SUPPORT!
5!
6!
7!
9!
10!
10!
11 SDK for iOS Overview Version 1.2 HOW IT WORKS NOMi SDK The NOMi SDK for iOS is integrated to a branded apps and sends lightweight, secure (HTTPS) events to the NOMi Cloud for processing.Bluetooth Low Energy Beacons When a mobile device with a mobile app powered by the NOMi SDK interacts with a beacon, the NOMi SDK for iOS may initiate context-based push notication.Cloud-based Dashboard Store managers and stakeholders then securely access reports through a standard web browser with app usage overlays.ABLUETOOTH LE HARDWARE You may want to turn beacons on and o to simulate enter and exit events during your tests. To turn on:Remove pull tab (highlighted) from beacon. Save pull tab to disable beacon in the future. To turn o:Re-insert pull tab to same slot until fully in.Note: In order to conserve battery life, beacons are shipped in o mode and require activation upon receipt. There is a delay between start and enter events happening in the application (up to 10 minutes) - this is a result of IOS interactions!!!A SDK for iOS Overview Version 1.2 INSTALLATION Installing the NOMi Beacon SDK for iOS is easy and simple. After it has been congured in your application, the dashboard statistics will include an overlay of app usage. To get the NOMi SDK for iOS up and running an iOS application, follow these two simple steps:
1. Add NOMi headers and libraries to your project Download the NOMi Beacon SDK Framework
(NomiBeaconSDK.Framework) for iOS, add it to your project directory, and add it to your application targets linked libraries. The NOMi Beacon SDK for iOS uses the CoreLocation and CoreData frameworks, so you will need to add the following to your application targets linked libraries:
CoreLocation.framework CoreData.framework 2. Initialize the NOMi engine To initialize the engine, import the NomiBeaconSDK.h header, implement the NomiBeaconManagerDelegate protocol, and initialize the NomiBeaconManager with your delegate and NOMi App ID:
#import <NomiBeaconSDK/NomiBeaconSDK.h>
@interface ViewController () <NomiBeaconManagerDelegate>
- (void)viewDidLoad {
[super viewDidLoad];
// Initialize Nomi SDK NomiBeaconManager *beaconManager = [NomiBeaconManager sharedInstance];
[beaconManager setDelegate:self];
// Use the App ID supplied to you by Nomi for this application
[beaconManager startBeaconMonitoringWithAppID:@"<Your Nomi App ID>"
authKey:@"<Your Nomi API Key>"];
@end
!
!
!
SDK for iOS Overview Version 1.2
!
// Recommended: You can submit user-specic data from your app to
// Nomi to have more granular queries on your tracked data
// Any data can be submitted but suggested
// * user_id (email, or other unique user identier)
// * name
// * dob (date of birth)
// * gender NSDictionary *userInfo = @{
@"user_id" : @nomi@suburban.com,
@"name": @"Nomi",
@"dob": @"10/22/13",
@"gender": @"male" };
[beaconManager submitUserInfo:userInfo];
} !
REGISTERING FOR EVENTS To get the most of the NOMi Beacon SDK, youll want to take advantage of the callbacks provided by the NomiBeaconManagerDelegate. Simply adopt the NomiBeaconManagerDelegate protocol and implement any of the callbacks you are interested in receiving. Entering and Exiting a Location You will receive these callbacks when entering or exiting the range of Nomis beacon advertisements. These callbacks will re even if the app is in the background or not running, causing the app to wake up and allowing for a short period of processing time. A common use might be to re a local notication to say Welcome or Farewell. The exit callback also includes the amount of time spent within the region. Along with the message, comes data about the location as well as the users history with the location.
#import <NomiBeaconSDK/NomiBeaconSDK.h>
@interface ViewController () <NomiBeaconManagerDelegate>
@end
!
!
SDK for iOS Overview Version 1.2
#pragma mark - NomiBeaconManagerDelegate callbacks
- (void)didEnterLocation:(NomiLocation*)location
{
// Welcome user to a location with a notication UILocalNotication *notication = [[UILocalNotication alloc] init];
notication.alertBody =
[NSString stringWithFormat:@"Welcome to %@!", location.name];
notication.soundName = UILocalNoticationDefaultSoundName;
[[UIApplication sharedApplication] presentLocalNoticationNow:notication];
- (void)didExitLocation:(NomiLocation*)location afterTime:(NSTimeInterval)seconds
{
// If this is the users rst visit and she/he spent
// more than ve minutes at the location, say Farewell if (location.stats.visits.count == 1 && seconds > 300)
{
UILocalNotication *notication = [[UILocalNotication alloc] init];
notication.alertBody = @"Farewell";
notication.soundName = UILocalNoticationDefaultSoundName;
[[UIApplication sharedApplication] presentLocalNoticationNow:notication];
}!
}
} !!
Ranging a Beacon You will receive the ranging callback under a couple conditions:
1. Your app is in the foreground and you are inside Nomis beacon region 2. The device is locked or your app is in the background and the device just entered a NOMi beacon region (will range for ~10 seconds) Ranging oers two valuable pieces of information provided by the NomiBeacon class: RSSI and proximity zones. The RSSI value is the signal strength between the device and the beacon. Proximity zones are dened as follows:
Unknown - iOS cannot determine where the device is in relation to the most recently ranged beacon (usually meaning the device is outside of range) SDK for iOS Overview Version 1.2 Tap - The device is very close (within inches) to the beacon and can be used for tap interactions Near - The device is within a few feet of the beacon Far - The device is distant from the beacon but still within advertisement range Information about the user's current zone is available to you. Using this information, you can create an engaging experience for the app user. CLASS REFERENCE NomiLocationStatsinherits fromNSObjectpropertiesvisitsNSMutableArrayNomiLocationinherits fromNSObjectpropertiesnameNSStringaddressNSStringstatsNomiLocationStatsNomiBeaconinherits fromNSObjectpropertiesproximityBeaconProximityrssiNSInteger SDK for iOS Overview Version 1.2 RULES & NOTIFICATIONS Rules and notications will be featured in a coming release due Q3 2014. TECHNICAL SPECIFICATIONS Dimensions1.457 in. D x 0.551 in. H 37mm.Dx14mm.HWeight (including standard battery)16 g 0.564 ozRange100 feet 30 metersBroadcast Interval1.5 secondsBattery Life2 yearsModel: 2617 FCC ID: 2ADER-2617 IC: 11584A-2617Pursuant to FCC 15.21 of the FCC rules, changes not expressly approved by NOMi Corporation, Inc might cause harmful interference and void the FCC authorization to operate this product.This product complies with FCC OET Bulletin 65 & Industry Canadas RSS-102 radiation exposure limits set forth for an uncontrolled environmentThis device complies with Part 15 of the FCC Rules and Industry Canada license-exempt RSS standard(s). Operation is subject to the following two conditions: (1) This device may not cause harmful interference. and (2) this device must accept any interference received, including interference that may cause undesired operation.Cet appareil est conforme des rglements d'Industrie Canada exempts de licence standard RSS (s). Son fonctionnement est soumis aux deux conditions suivantes: (1) Ce dispositif ne doit pas causer d'interfrences nuisibles, et (2) cet appareil doit accepter toute interfrence reue, y compris les interfrences pouvant entraner un fonctionnement indsirable. SDK for iOS Overview Version 1.2 SUPPORT For more information, contact us at support@nomi.com