Getting started with the WersDa SDK

The WersDa SDK allows you to bring rich WersDa Maps for your organization into your own app. Additionally, if it makes sense for your users to navigate your location with a list, as with a grocery store, WersDa provides a list matching feature set that will take users' input and match it against your organizations location data (This is set up in the WersDa Admin Center on WersDa.com)

Log in to get access to the WersDa SDK and Access Tokens



Part 1: Getting it set up

What you need to get started:
1) WersDa Framework
2) WersDa Resources bundle
3) WersDa Access Tokens


Step 1: Drag the WersDa framework into your project.

Check both your project's target and "Copy items into..."


Click Finish


Step 2: Drag the WersDa resource bundle into your project. Follow the same procedure as in Step 1

Again, check both your project's target and "Copy items into..."


Click Finish


Step 3: In your project’s "yourProject-info.plist" add the key WersdaAccessToken
Set its value as your Dev or Prod WersDa Access Token.

Because your organization may not have locations set up in the WersDa Admin center, we recommend you start by using your Dev Access Token which provides access to a test location named Great Groceries.


Step 4: Adding linker flags if they're not already there
(A) In the Project Navigator click on your project.
(B) From there click on your project's target.
(C) In Build Settings find the Other Linker Flags, made easier by filtering on the word “other”.
(D) Lastly add the -ObjC value to Other Linker Flags if its not already there.


Step 5: Add CLLocation framework to your project
Your app will need to provide the WersDa SDK with the user's current GPS coodinate. You'll need CoreLocation.framework to accomplish this.

(A) In the Project Navigator click on your project.
(B) From there click on your project's target.
(C) Click on the Build Phases tab
(D) Click the +


Filter by searching for "Location". Then select CoreLocation.framework and click "Add"

Step Done: Congratulations! The annoying part is over and now for the fun stuff, actually writing code!



Part 2: Using the WersDa SDK:
#import <WersdaSDK/Wersda.h>
Maps:

The WersDa framework requires the user's current location. See the Great Groceries example implementation for the recommended way to use WersDa. For maps specifically look at the implementation in MapsViewController.m

To get a list of nearby Wersda Locations for your organization you need to call:
+ (void)fetchMappedLocationsNearCoordinate:(CLLocationCoordinate2D)coordinate
    onCompletion:(void (^)(NSMutableArray *locations))completionBlock
    onError:(void (^)(NSError *error))errorBlock;
This will return a list of WRSLocations sorted by nearest locations first.

To access the same locations without having to do a round trip to the Wersda server you can call:
+ (NSArray *)nearbyMappedLocations;
You can present the list of nearby locations to your user however you see fit for your application. Once you’re ready to show the map to the user you can call:
+ (void)pushMapViewControllerForLocation:(WRSLocation *)location
    withHostViewController:(UIViewController *)parentViewController;

Lists:

WersDa also allows your users to build and maintain lists that can be synchronized against the data (products, attractions, stores) for your organizations locations. A prime example of this is letting a user build a grocery list and then matching that list to actual products in a grocery store. WersDa can take that list and show all its items on a the map and show a route from any location to all other locations.

Accessing this lists is made easy by these API methods:
+ (NSArray *)lists; //access previously created and saved lists

    + (void)deleteList:(WRSList *)list;

    + (void)showListViewControllerForList:(WRSList *)list
    withHostViewController:(UIViewController *)parentViewController;

For an example implementation see the ListsViewController.m in the GreatGroceries example implementation provided in the WersDa SDK.


For troubleshooting or support please email us at contact@wersda.com