VDARSDKController Class Reference
Inherits from | NSObject |
Conforms to | VDARImageReceiver |
Declared in | VDARSDKController.h |
Overview
Manage the local Context DB and dispatch events when modes are detected / lost.
Warning: No instance of VDARSDKController should be created manually. Use only the [VDARSDKController startSDK:withLicenseKey:] method to create a shared instance and to use it.
Tasks
Other Methods
-
internalBrowserClassName
Set the class to be instancied when the internal browser should be opened.
property -
afterLoadingQueue
The Context DB is loaded asynchronously at startup and therefore might not be available immediatly. This can known when a given function (add or remove) returns an error or by checking the appropriate property. In order to execute those operation when the DB is loaded, the operations can be added to the queue represented by this property.
property -
dbLoaded
Defines whether or not the local Context DB is loaded or not. Any call related to the DB will fail if this property is not set to YES.
property -
detectionDelegates
Context detection delegates.
property -
sensorDelegates
Sensor detection delegates.
property -
modelsDBDirectory
The Context DB directory where all the data is stored.
property -
displayModelDebugOverlay
Display the debug overlay to locate the context properly even if the context has no annotation.
property -
imageSender
The image sender which will send frame to the system. This is needed starting from version 2.0.11b
property -
remoteAPIKey
The Remote API key generated by the AR Manager website.
property -
contextIDs
The id of all contexts
property -
availableContextIDs
The id of all available contexts.
property -
pendingNotifications
The list of all notifications that are pending.
property -
preventNotifications
Prevent spurious notifications to be displayed.
property -
deviceUUID
The user device UUID
property -
– getContext:
Get the context of a given id
-
– loadContext:
Load the context of a given id
-
– unloadAllNonRootContexts
Unload all the contexts in memory
Code recognition
-
enableCodesRecognition
When set to YES, code recognition is also performed while trying to recognize a VDARContext.
property -
recognizableCodes
Select which types of codes should be recognized by the system.
property
Notifications
-
enableNotifications
Enable push notifications support in the SDK.
property -
enableDefaultNotificationController
When a notification arrives in a state where the application is open, the SDK will handle it and display an alert with the notification. You can disable this behaviour by setting this flag to NO. By default, it is set to YES.
property -
enablePendingNotifications
When a beacon notification arrives in a state where the application is open, the SDK will handle the notification and display it in a popup window. When the notification list is presented by default the SDK will show the nearby Beacons/GPS To show the list of the pending notification instead set this flag to YES. By default, it is set to NO.
property -
enableDefaultARViewOpeningMechanism
When a content needing the AR view to be opened is triggered, usually due to a beacon event, the app needs to open the AR view. By default, the SDK takes care of that. It opens the AR view if not already opened, or display the content directly if the AR view is open.
property -
cloudRecognitionLanguage
Defines the language that must be used for the online recognition. If it is not set, the device language must be used.
property -
– application:didRegisterForRemoteNotificationsWithDeviceToken:
Tell the PixLive SDK that the remote notification request has succeeded. The app delegate has to call this method when such an event is received.
-
– application:didFailToRegisterForRemoteNotificationsWithError:
Tell the PixLive SDK that the remote notification request has failed. The app delegate has to call this method when such an event is received.
-
– application:didReceiveRemoteNotification:
Tell the PixLive SDK that a remote notification has been received. The app delegate has to call this method when such an event is received.
-
– setEnablePendingNotifications:
enable pending notifications
-
– presentLastNotification
Present the last notification to the user
-
– presentNotificationsList
Present the in-SDK notification list to the user
-
– presentNearbyList
Present the in-SDK notification list to the user with nearby GPS points
-
– presentNearbyListForLat:lon:
Present the in-SDK notification list to the user with nearby GPS points
-
– refreshNearbyListForLat:lon:
Present the in-SDK notification list to the user with nearby GPS points
Geo Points
-
– isContainingGPSPoints
Return YES if the app contain GPS points, NO otherwise
-
– computeDistanceBetweenGPSPointsOfLat1:lon1:lat2:lon2:
The distance bewteen to GPS points in meter
-
– getNearbyGPSPointsfromLat:lon:
The list of nearby GPS points
-
– getGPSPointsInBoundingBoxOfMinLat:minLon:maxLat:maxLon:
The list of GPS points in BoundingBox
Beacons
-
– isContainingBeacons
Return YES if the app contain beacons, NO otherwise
-
– getNearbyBeacons
Return the list of context IDs of nearby beacons.
-
– setEnableNearbyRequirementDialog:
Enables/disables the nearby requirement dialog asking for bluetooth/localisation requirement If enabled, a dialog will ask the user to enabled the required settings for bluetooth and localisation when the SDK start to scan for beacons. By default, this is enabled.
-
– getNearbyStatus
Return localization authorization status and bluetooth status
Bookmarks
-
enableBookmarks
Defines whether the application should display a button for adding a bookmark when some content is displayed (content with web view {@link VDARModalWebView}).
property -
bookmarks
The list of context IDs that have been bookmarked so far.
property -
– addBookmark:
Add a bookmark for the specified context
-
– removeBookmark:
Remove the bookmark for the specified context
-
– isBookmarked:
Return YES if the context identified by contextId is already bookmarked, NO otherwise
Initialization methods
-
+ sharedInstance
Return the shared instance of the VDARSDKController.
-
+ startSDK:withLicenseKey:
Start the shared instance of the VDARSDKController. Calling it twice will return nil.
Other methods
-
– setDeviceOrientation:
Set the current device orientation. This is necessery to be able to recognize images when the device is not in portrait mode.
-
– releaseMemory:
Release the memory used by not-detected-but-loaded contexts. Level is for future use.
-
– save
Save the contexts and DB to disk.
-
– openURLInInternalBrowser:
Open the given URL in the internal browser embedded in the SDK (instead of opening up the device browser and switiching applications).
-
– previewContext:completionBlock:
The preview of the passed context is shown. The context image has to be loaded from the network, therefore the completion block can be used in order to know when the fetch is completed and the preview is started.
-
– unloadAll
This method will force the system to stop and hide anything displayed in the AR view such as context, content or annotations.
-
+ VDARSDKVersion
Return a string describing the VDARSDK version.
-
+ isCapableOfRunningVDARSDK
Return YES if the current device can run the Vidinoti AR SDK.
-
+ platformType
Return the device type on which the SDK is running.
-
– setVisionContext:ignored:
Disables or enables a vision context. If the vision context is ignored, it won’t be recognized, even if it is present locally on the device. By default, all vision contexts are enabled (i.e. not ignored)
-
– removeContext:
Unloads and removes the context.
-
– disableContext:
Disables the context. The context remains local but won’t be detected (its sensors are unregistered)
-
– enableContext:
Enables the context after being disabled (see disableContext).
-
– disableContexts
Disables all the contexts. The context remains on the device but their sensors are unregistered.
-
– enableContextsWithTags:
Enables all contexts belonging to specific tags. Ensure that the mapping Context <–> Tag exists otherwise no context will be enabled. The mapping Context-Tag must be retrieved using the VDARRemoteController
-
– setLicenseKey:
Allows changing the license key when the SDK is already running. The new license key will be validated against the server.
-
– forceLanguage:
Sets the language of the SDK interface. By default, the SDK uses the phone language. If this method is called, it uses the given language instead. Call this method with null, for cancelling the forced language.
Properties
afterLoadingQueue
The Context DB is loaded asynchronously at startup and therefore might not be available immediatly. This can known when a given function (add or remove) returns an error or by checking the appropriate property. In order to execute those operation when the DB is loaded, the operations can be added to the queue represented by this property.
@property (nonatomic, readonly) NSOperationQueue *afterLoadingQueue
Discussion
The Context DB is loaded asynchronously at startup and therefore might not be available immediatly. This can known when a given function (add or remove) returns an error or by checking the appropriate property. In order to execute those operation when the DB is loaded, the operations can be added to the queue represented by this property.
Once the DB is loaded, this property is not longer valid (set to nil).
See Also
Declared In
VDARSDKController.h
availableContextIDs
The id of all available contexts.
@property (nonatomic, readonly) NSArray *availableContextIDs
Availability
Version 5.1.0
Discussion
The id of all available contexts.
An available context is defined as a context that is triggered by some sensors (i.e. a beacon) but that its content is not (yet) displayed on screen and require user approval to display it on screen.
Declared In
VDARSDKController.h
bookmarks
The list of context IDs that have been bookmarked so far.
@property (nonatomic, readonly) NSArray<NSString*> *bookmarks
Availability
Version 5.2.5
Discussion
The list of context IDs that have been bookmarked so far.
Declared In
VDARSDKController.h
cloudRecognitionLanguage
Defines the language that must be used for the online recognition. If it is not set, the device language must be used.
@property (nonatomic, retain) NSString *cloudRecognitionLanguage
Availability
Version 6.??
Discussion
Defines the language that must be used for the online recognition. If it is not set, the device language must be used.
Declared In
VDARSDKController.h
contextIDs
The id of all contexts
@property (nonatomic, readonly) NSArray *contextIDs
Availability
Version 5.0.0
Discussion
The id of all contexts
Declared In
VDARSDKController.h
dbLoaded
Defines whether or not the local Context DB is loaded or not. Any call related to the DB will fail if this property is not set to YES.
@property (nonatomic, readonly) BOOL dbLoaded
Discussion
Defines whether or not the local Context DB is loaded or not. Any call related to the DB will fail if this property is not set to YES.
Declared In
VDARSDKController.h
detectionDelegates
Context detection delegates.
@property (nonatomic, readonly) NSMutableArray<NSObject<VDARSDKControllerDelegate> *> *detectionDelegates
Discussion
Context detection delegates.
Declared In
VDARSDKController.h
deviceUUID
The user device UUID
@property (nonatomic, readonly) NSString *deviceUUID
Availability
Version 5.2.0
Discussion
The user device UUID
Declared In
VDARSDKController.h
displayModelDebugOverlay
Display the debug overlay to locate the context properly even if the context has no annotation.
@property (nonatomic) BOOL displayModelDebugOverlay
Return Value
YES if the debug overlay is rendered, NO otherwise.
Availability
Version 2.0.0b2
Discussion
Display the debug overlay to locate the context properly even if the context has no annotation.
Declared In
VDARSDKController.h
enableBookmarks
Defines whether the application should display a button for adding a bookmark when some content is displayed (content with web view {@link VDARModalWebView}).
@property (nonatomic, getter=isBookmarksEnabled) BOOL enableBookmarks
Availability
Version 5.2.5
Discussion
Defines whether the application should display a button for adding a bookmark when some content is displayed (content with web view {@link VDARModalWebView}).
For content within the AR view, it is up to the application developper to implement it.
Declared In
VDARSDKController.h
enableCodesRecognition
When set to YES, code recognition is also performed while trying to recognize a VDARContext.
@property (nonatomic) BOOL enableCodesRecognition
Availability
Version 1.1.0beta r230
Discussion
When set to YES, code recognition is also performed while trying to recognize a VDARContext.
Code recognition allows you to recognize different type of codes (1-D codes such as a barcodes or 2D codes such as QR Codes). Those codes can contains any information they can support. When a code is detected, the codesDetected: method of all the VDARSDKController delegates is called with the detected codes represented as VDARCode objects. You can then use the returned objects to read the codes data and act upon it.
You can use the QR Code generator available in Vidinoti AR Manager under My Contents –> Code Generator to generate your own QR Codes.
Several different special QR Codes are understood by the system. Those special QR codes actually contain a special URL. To be understood correctly, this special URL has to be of the following format:
vdarsdk://<command>/<parameter 1>/.../<parameter n>
The following commands are supported:
- Context Download QR Code (command = mdl)
This special QR Code can trigger the download (a.k.a pre-fetch) of a VDARContext so that the VDARContext can be recognized afterhand. Those special QR codes should contains an URL of the following format:
vdarsdk://mdl/<your Context Remote ID>
For example, if you have a Context with the remote ID fsgdg4t3few, then you can create a QR code with this URL vdarsdk://mdl/fsgdg4t3few to autmatically trigger the download of the corresponding context.
- Tag synchrnoization request (command = tsc)
This special QR Code can trigger the synchronization request (a.k.a pre-fetch) of several VDARContext corresponding to a given or multiple tags. Those special QR codes should contains an URL of the following format:
vdarsdk://tsc/<tag 1>/<tag 2>/.../<tag n>
For example, if you want to synchronize the local AR DB with all the contexts having the tags hello and bye, then you can create a QR code with this URL vdarsdk://tsc/hello/bye to autmatically trigger the download of the corresponding contexts.
Note that the code recognition is automatically disabled when a VDARContext has been recognized and when it is tracked
You can customize which codes can be recognized with the recognizableCodes property.
See Also
Declared In
VDARSDKController.h
enableDefaultARViewOpeningMechanism
When a content needing the AR view to be opened is triggered, usually due to a beacon event, the app needs to open the AR view. By default, the SDK takes care of that. It opens the AR view if not already opened, or display the content directly if the AR view is open.
@property (nonatomic) BOOL enableDefaultARViewOpeningMechanism
Availability
Version 5.1.0
Discussion
When a content needing the AR view to be opened is triggered, usually due to a beacon event, the app needs to open the AR view. By default, the SDK takes care of that. It opens the AR view if not already opened, or display the content directly if the AR view is open.
You can prevent this functionnality by setting the flag to NO and implementing your own logic by listening to the VDARNotificationARViewRequested notification. An AR should be open as soon as the notification VDARNotificationARViewRequested is triggered.
By default, it is set to YES.
Declared In
VDARSDKController.h
enableDefaultNotificationController
When a notification arrives in a state where the application is open, the SDK will handle it and display an alert with the notification. You can disable this behaviour by setting this flag to NO. By default, it is set to YES.
@property (nonatomic) BOOL enableDefaultNotificationController
Availability
Version 5.1.0
Discussion
When a notification arrives in a state where the application is open, the SDK will handle it and display an alert with the notification. You can disable this behaviour by setting this flag to NO. By default, it is set to YES.
Declared In
VDARSDKController.h
enableNotifications
Enable push notifications support in the SDK.
@property (nonatomic, getter=isNotificationsEnabled) BOOL enableNotifications
Availability
Version 3.1.0
Discussion
Enable push notifications support in the SDK.
If set to YES, the application delegate has to forward the correct calls to VDARSDKController. This can be done this way in your AppDelegate:
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken {
[[VDARSDKController sharedInstance] application:app didRegisterForRemoteNotificationsWithDeviceToken:devToken];
}
- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err {
[[VDARSDKController sharedInstance] application:app didFailToRegisterForRemoteNotificationsWithError:err];
}
- (void)application:(UIApplication *)app didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))handler {
[[VDARSDKController sharedInstance] application:app didReceiveRemoteNotification:userInfo];
handler(UIBackgroundFetchResultNoData);
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// ...Your initialization code...
// Enables the push notifications
[VDARSDKController sharedInstance].enableNotifications=YES;
// Forward the push notification if the application was not running when the notification has been received
[[VDARSDKController sharedInstance] application:application didReceiveRemoteNotification:launchOptions];
return YES;
}
By default, the value is NO.
Declared In
VDARSDKController.h
enablePendingNotifications
When a beacon notification arrives in a state where the application is open, the SDK will handle the notification and display it in a popup window. When the notification list is presented by default the SDK will show the nearby Beacons/GPS To show the list of the pending notification instead set this flag to YES. By default, it is set to NO.
@property (nonatomic) BOOL enablePendingNotifications
Availability
Version 5.3.0
Discussion
When a beacon notification arrives in a state where the application is open, the SDK will handle the notification and display it in a popup window. When the notification list is presented by default the SDK will show the nearby Beacons/GPS To show the list of the pending notification instead set this flag to YES. By default, it is set to NO.
Declared In
VDARSDKController.h
imageSender
The image sender which will send frame to the system. This is needed starting from version 2.0.11b
@property (nonatomic, retain) NSObject<VDARImageSender> *imageSender
Availability
Version 2.0.11b
Discussion
The image sender which will send frame to the system. This is needed starting from version 2.0.11b
Declared In
VDARSDKController.h
internalBrowserClassName
Set the class to be instancied when the internal browser should be opened.
@property (nonatomic, copy) NSString *internalBrowserClassName
Availability
Version 2.1.1
Discussion
Set the class to be instancied when the internal browser should be opened.
This is set by default to nil, which corresponds to the default internal browser provided by the SDK.
Declared In
VDARSDKController.h
modelsDBDirectory
The Context DB directory where all the data is stored.
@property (nonatomic, readonly) NSString *modelsDBDirectory
Discussion
The Context DB directory where all the data is stored.
Declared In
VDARSDKController.h
pendingNotifications
The list of all notifications that are pending.
@property (nonatomic, readonly) NSArray *pendingNotifications
Availability
Version 5.1.0
Discussion
The list of all notifications that are pending.
Declared In
VDARSDKController.h
preventNotifications
Prevent spurious notifications to be displayed.
@property (nonatomic) BOOL preventNotifications
Availability
Version 5.1.0
Discussion
Prevent spurious notifications to be displayed.
When set to YES, the notification list will never appear. Instead, the notification will be buffered and will be displayed as soon as the flag goes back to NO.
Declared In
VDARSDKController.h
recognizableCodes
Select which types of codes should be recognized by the system.
@property (nonatomic) VDARCodeType recognizableCodes
Discussion
Select which types of codes should be recognized by the system.
This variable should be an OR'ed mask of the constant defined in VDARCodeType. The mask can be built with the following values:
- VDAR_CODE_TYPE_EAN2 = GS1 2-digit add-on
- VDAR_CODE_TYPE_EAN5 = GS1 5-digit add-on
- VDAR_CODE_TYPE_EAN8 = EAN-8
- VDAR_CODE_TYPE_UPCE = UPC-E
- VDAR_CODE_TYPE_ISBN10 = ISBN-10 (from EAN-13).
- VDAR_CODE_TYPE_UPCA = UPC-A
- VDAR_CODE_TYPE_EAN13 = EAN-13
- VDAR_CODE_TYPE_ISBN13 = ISBN-13 (from EAN-13).
- VDAR_CODE_TYPE_COMPOSITE = EAN/UPC composite
- VDAR_CODE_TYPE_I25 = Interleaved 2 of 5.
- VDAR_CODE_TYPE_CODE39 = Code 39.
- VDAR_CODE_TYPE_QRCODE = QR Code.
By default, the enabled codes when enableCodesRecognition is set to YES are QR Codes.
Warning: The more codes you enable, the slower the overall recognition will be.
Declared In
VDARSDKController.h
Class Methods
VDARSDKVersion
Return a string describing the VDARSDK version.
+ (NSString *)VDARSDKVersion
Return Value
A string uniquely identifying the version of this VDARSDK instance
Availability
Version 1.0.1rc1 r160
Discussion
Return a string describing the VDARSDK version.
Declared In
VDARSDKController.h
isCapableOfRunningVDARSDK
Return YES if the current device can run the Vidinoti AR SDK.
+ (BOOL)isCapableOfRunningVDARSDK
Return Value
YES if the device is supported, NO otherwise.
Availability
Version 2.0.0GM
Discussion
Return YES if the current device can run the Vidinoti AR SDK.
You should call this method before attempting to start the VDARSDKController, otherwise it might result in crashes.
Declared In
VDARSDKController.h
platformType
Return the device type on which the SDK is running.
+ (UIDevicePlatform)platformType
Return Value
The type of device represented as a UIDevicePlatform on which the SDK is running.
Availability
Version 2.1.2
Discussion
Return the device type on which the SDK is running.
Declared In
VDARSDKController.h
sharedInstance
Return the shared instance of the VDARSDKController.
+ (instancetype)sharedInstance
Return Value
the shared instance of the VDARSDKController
Availability
5.0.0
Discussion
Return the shared instance of the VDARSDKController.
Warning: The VDARSDKController should have been already started using [VDARSDKController startSDK:withLicenseKey:] method.
See Also
Declared In
VDARSDKController.h
startSDK:withLicenseKey:
Start the shared instance of the VDARSDKController. Calling it twice will return nil.
+ (instancetype)startSDK:(NSString *)modelDBDir withLicenseKey:(NSString *)licenseKey
Parameters
- modelDBDir
The directory in which all the contexts and the context DB will be stored. Should be a user-writable directory (it will be created if it does not yet exists)
- licenseKey
The API License key generate by Vidinoti AR Manager. Get it from https://armanager.vidinoti.com by logging in into your account.
Return Value
The VDARSDKController instance if the initilization happened correctly, nil otherwise.
Availability
Version 3.2.0
Discussion
Start the shared instance of the VDARSDKController. Calling it twice will return nil.
Declared In
VDARSDKController.h
Instance Methods
addBookmark:
Add a bookmark for the specified context
- (void)addBookmark:(NSString *)contextId
Parameters
- contextId
The ID of the Context to add a bookmark for
Availability
Version 5.2.5
Discussion
Add a bookmark for the specified context
Declared In
VDARSDKController.h
application:didFailToRegisterForRemoteNotificationsWithError:
Tell the PixLive SDK that the remote notification request has failed. The app delegate has to call this method when such an event is received.
- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err
Parameters
- app
The app triggering the event
- err
The error explaining the failure
Availability
Version 3.1.0
Discussion
Tell the PixLive SDK that the remote notification request has failed. The app delegate has to call this method when such an event is received.
Declared In
VDARSDKController.h
application:didReceiveRemoteNotification:
Tell the PixLive SDK that a remote notification has been received. The app delegate has to call this method when such an event is received.
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
Parameters
- application
The app triggering the event
- userInfo
The notification content. It is mandatory to pass this parameter.
Availability
Version 3.1.0
Discussion
Tell the PixLive SDK that a remote notification has been received. The app delegate has to call this method when such an event is received.
Warning: If your app delegate implements the application:didReceiveRemoteNotification:fetchCompletionHandler: method, you should call [VDARSDKController application:didReceiveRemoteNotification:] within this method instead in the fetchCompletion less one.
Declared In
VDARSDKController.h
application:didRegisterForRemoteNotificationsWithDeviceToken:
Tell the PixLive SDK that the remote notification request has succeeded. The app delegate has to call this method when such an event is received.
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken
Parameters
- app
The app triggering the event
- devToken
The token for notification registration
Availability
Version 3.1.0
Discussion
Tell the PixLive SDK that the remote notification request has succeeded. The app delegate has to call this method when such an event is received.
Declared In
VDARSDKController.h
computeDistanceBetweenGPSPointsOfLat1:lon1:lat2:lon2:
The distance bewteen to GPS points in meter
- (float)computeDistanceBetweenGPSPointsOfLat1:(float)lat1 lon1:(float)lon1 lat2:(float)lat2 lon2:(float)lon2
Parameters
- lat1
latitude of point 1
- lon1
longitude of point 1
- lat2
latitude of point 2
- lon2
longitude of point 2
Availability
Version 5.3.0
Discussion
The distance bewteen to GPS points in meter
Declared In
VDARSDKController.h
disableContext:
Disables the context. The context remains local but won’t be detected (its sensors are unregistered)
- (void)disableContext:(NSString *)contextId
Parameters
- contextId
The id of context to disable.
Availability
Version 6.5.12
Discussion
Disables the context. The context remains local but won’t be detected (its sensors are unregistered)
Declared In
VDARSDKController.h
disableContexts
Disables all the contexts. The context remains on the device but their sensors are unregistered.
- (void)disableContexts
Availability
Version 6.5.12
Discussion
Disables all the contexts. The context remains on the device but their sensors are unregistered.
Declared In
VDARSDKController.h
enableContext:
Enables the context after being disabled (see disableContext).
- (void)enableContext:(NSString *)contextId
Parameters
- contextId
The id of context to enable.
Availability
Version 6.5.12
Discussion
Enables the context after being disabled (see disableContext).
Declared In
VDARSDKController.h
enableContextsWithTags:
Enables all contexts belonging to specific tags. Ensure that the mapping Context <–> Tag exists otherwise no context will be enabled. The mapping Context-Tag must be retrieved using the VDARRemoteController
- (void)enableContextsWithTags:(NSArray *)tags
Parameters
- tags
a list of tag names. The context to enable must have all of the given tags (logical AND)
Discussion
Enables all contexts belonging to specific tags. Ensure that the mapping Context <–> Tag exists otherwise no context will be enabled. The mapping Context-Tag must be retrieved using the VDARRemoteController
Declared In
VDARSDKController.h
forceLanguage:
Sets the language of the SDK interface. By default, the SDK uses the phone language. If this method is called, it uses the given language instead. Call this method with null, for cancelling the forced language.
- (void)forceLanguage:(NSString *)languageCode
Parameters
- languageCode
the language code (2 lowercase characters, e.g. “fr”)
Discussion
Sets the language of the SDK interface. By default, the SDK uses the phone language. If this method is called, it uses the given language instead. Call this method with null, for cancelling the forced language.
Declared In
VDARSDKController.h
getContext:
Get the context of a given id
- (VDARContext *)getContext:(NSString *)remoteID
Parameters
- remoteID
remote ID of the context
Return Value
Availability
Version 5.0.0
Discussion
Get the context of a given id
Declared In
VDARSDKController.h
getGPSPointsInBoundingBoxOfMinLat:minLon:maxLat:maxLon:
The list of GPS points in BoundingBox
- (NSArray<VDARGPSPoint*> *)getGPSPointsInBoundingBoxOfMinLat:(float)minLat minLon:(float)minLon maxLat:(float)maxLat maxLon:(float)maxLon
Parameters
- minLat
latitude of the lower left corner
- minLon
longitude of the lower left corner
- maxLat
latitude of the uper right corner
- maxLon
longitude of the uper right corner
Availability
Version 5.3.0
Discussion
The list of GPS points in BoundingBox
Declared In
VDARSDKController.h
getNearbyBeacons
Return the list of context IDs of nearby beacons.
- (NSArray<NSString*> *)getNearbyBeacons
Availability
Version 5.3.0
Discussion
Return the list of context IDs of nearby beacons.
Declared In
VDARSDKController.h
getNearbyGPSPointsfromLat:lon:
The list of nearby GPS points
- (NSArray<VDARGPSPoint*> *)getNearbyGPSPointsfromLat:(float)myLat lon:(float)myLon
Parameters
- myLat
current latitude
- myLon
current longitude
Availability
Version 5.3.0
Discussion
The list of nearby GPS points
Declared In
VDARSDKController.h
getNearbyStatus
Return localization authorization status and bluetooth status
- (NSDictionary *)getNearbyStatus
Return Value
NSDictinary with keys @“authorizationStatus” (@“unknow”,@“disabled”,@“enabled”,@“enabled_in_use”) and @“bluetoothStatus” (@“unknow”,@“disabled”,@“unsupported”,@“enabled”)
Availability
Version 5.3.0
Discussion
Return localization authorization status and bluetooth status
Declared In
VDARSDKController.h
isBookmarked:
Return YES if the context identified by contextId is already bookmarked, NO otherwise
- (BOOL)isBookmarked:(NSString *)contextId
Return Value
YES if already bookmarked, NO otherwise
Availability
Version 5.2.5
Discussion
Return YES if the context identified by contextId is already bookmarked, NO otherwise
Declared In
VDARSDKController.h
isContainingBeacons
Return YES if the app contain beacons, NO otherwise
- (BOOL)isContainingBeacons
Return Value
YES if the app contain beacons, NO otherwise
Availability
Version 6.0.0
Discussion
Return YES if the app contain beacons, NO otherwise
Declared In
VDARSDKController.h
isContainingGPSPoints
Return YES if the app contain GPS points, NO otherwise
- (BOOL)isContainingGPSPoints
Return Value
YES if the app contain GPS points, NO otherwise
Availability
Version 5.3.0
Discussion
Return YES if the app contain GPS points, NO otherwise
Declared In
VDARSDKController.h
loadContext:
Load the context of a given id
- (BOOL)loadContext:(NSString *)remoteID
Parameters
- remoteID
remote ID of the context
Return Value
YES if the context is successfully loaded
Availability
Version 5.0.0
Discussion
Load the context of a given id
Declared In
VDARSDKController.h
openURLInInternalBrowser:
Open the given URL in the internal browser embedded in the SDK (instead of opening up the device browser and switiching applications).
- (void)openURLInInternalBrowser:(NSURL *)url
Parameters
- url
The URL to open in the internal browser
Availability
Version 2.0.2
Discussion
Open the given URL in the internal browser embedded in the SDK (instead of opening up the device browser and switiching applications).
Declared In
VDARSDKController.h
presentLastNotification
Present the last notification to the user
- (void)presentLastNotification
Availability
Version 5.3.0
Discussion
Present the last notification to the user
Declared In
VDARSDKController.h
presentNearbyList
Present the in-SDK notification list to the user with nearby GPS points
- (void)presentNearbyList
Availability
Version 5.3.0
Discussion
Present the in-SDK notification list to the user with nearby GPS points
Declared In
VDARSDKController.h
presentNearbyListForLat:lon:
Present the in-SDK notification list to the user with nearby GPS points
- (void)presentNearbyListForLat:(float)myLat lon:(float)myLon
Availability
Version 5.3.0
Discussion
Present the in-SDK notification list to the user with nearby GPS points
Declared In
VDARSDKController.h
presentNotificationsList
Present the in-SDK notification list to the user
- (void)presentNotificationsList
Availability
Version 5.1.0
Discussion
Present the in-SDK notification list to the user
Declared In
VDARSDKController.h
previewContext:completionBlock:
The preview of the passed context is shown. The context image has to be loaded from the network, therefore the completion block can be used in order to know when the fetch is completed and the preview is started.
- (BOOL)previewContext:(NSString *)contextId completionBlock:(void ( ^ ) ( BOOL err ))completion
Parameters
- contextId
The id of context to preview or nil to stop the currently playing preview.
- completion
The block that will be called when the preview is started. Can be nil.
Return Value
YES in case of succcess, NO otherwise.
Availability
Version 5.0
Discussion
The preview of the passed context is shown. The context image has to be loaded from the network, therefore the completion block can be used in order to know when the fetch is completed and the preview is started.
Pass nil for the context argument to stop the preview.
Declared In
VDARSDKController.h
refreshNearbyListForLat:lon:
Present the in-SDK notification list to the user with nearby GPS points
- (void)refreshNearbyListForLat:(float)myLat lon:(float)myLon
Availability
Version 5.3.0
Discussion
Present the in-SDK notification list to the user with nearby GPS points
Declared In
VDARSDKController.h
releaseMemory:
Release the memory used by not-detected-but-loaded contexts. Level is for future use.
- (void)releaseMemory:(int)level
Parameters
- level
Pass 2 to this parameter. Reserved for future use.
Availability
Version 1.0beta r85
Discussion
Release the memory used by not-detected-but-loaded contexts. Level is for future use.
Declared In
VDARSDKController.h
removeBookmark:
Remove the bookmark for the specified context
- (void)removeBookmark:(NSString *)contextId
Parameters
- contextId
The ID of the Context to remove the bookmark for
Availability
Version 5.2.5
Discussion
Remove the bookmark for the specified context
Declared In
VDARSDKController.h
removeContext:
Unloads and removes the context.
- (void)removeContext:(NSString *)contextId
Parameters
- contextId
The id of context to remove.
Availability
Version 6.1.5
Discussion
Unloads and removes the context.
Declared In
VDARSDKController.h
save
Save the contexts and DB to disk.
- (void)save
Availability
Version 1.0beta r85
Discussion
Save the contexts and DB to disk.
This method generate a VDARNotificationContextListChanged notification if changes have been made to the DB and saved to disk.
Declared In
VDARSDKController.h
setDeviceOrientation:
Set the current device orientation. This is necessery to be able to recognize images when the device is not in portrait mode.
- (void)setDeviceOrientation:(UIDeviceOrientation)d
Parameters
- d
The orientation of the device.
Availability
Version 2.0.0beta r251
Discussion
Set the current device orientation. This is necessery to be able to recognize images when the device is not in portrait mode.
Declared In
VDARSDKController.h
setEnableNearbyRequirementDialog:
Enables/disables the nearby requirement dialog asking for bluetooth/localisation requirement If enabled, a dialog will ask the user to enabled the required settings for bluetooth and localisation when the SDK start to scan for beacons. By default, this is enabled.
- (void)setEnableNearbyRequirementDialog:(BOOL)nearbyRequirementDialogEnabled
Parameters
- {BOOL}nearbyRequirementDialogEnabled
true for enabling the dialog, false otherwise
Availability
Version 6.0.0
Discussion
Enables/disables the nearby requirement dialog asking for bluetooth/localisation requirement If enabled, a dialog will ask the user to enabled the required settings for bluetooth and localisation when the SDK start to scan for beacons. By default, this is enabled.
Declared In
VDARSDKController.h
setEnablePendingNotifications:
enable pending notifications
- (void)setEnablePendingNotifications:(BOOL)pendingNotificationsEnabled
Parameters
- {BOOL}pendingNotificationsEnabled
true to enable pending notification mode
Availability
Version 5.3.0
Discussion
enable pending notifications
Declared In
VDARSDKController.h
setLicenseKey:
Allows changing the license key when the SDK is already running. The new license key will be validated against the server.
- (void)setLicenseKey:(NSString *)licenseKey
Parameters
- licenseKey
the new license key.
Discussion
Allows changing the license key when the SDK is already running. The new license key will be validated against the server.
Declared In
VDARSDKController.h
setVisionContext:ignored:
Disables or enables a vision context. If the vision context is ignored, it won’t be recognized, even if it is present locally on the device. By default, all vision contexts are enabled (i.e. not ignored)
- (void)setVisionContext:(NSString *)contextId ignored:(BOOL)ignored
Availability
Version 6.1.4
Discussion
Disables or enables a vision context. If the vision context is ignored, it won’t be recognized, even if it is present locally on the device. By default, all vision contexts are enabled (i.e. not ignored)
Declared In
VDARSDKController.h
unloadAll
This method will force the system to stop and hide anything displayed in the AR view such as context, content or annotations.
- (void)unloadAll
Availability
Version 5.2.5
Discussion
This method will force the system to stop and hide anything displayed in the AR view such as context, content or annotations.
Declared In
VDARSDKController.h