4. ARGSession

ARGSession maintains the status of your application and manages the life cycle of your application according to the status. It also contains rendered frames.

<ARGear/ARGear.h> should be imported beforehand.

ARGSessionDelegate protocol required.

4.1 Init & Create

When creating ARGSession, you can pass ARGConfig and ARGInferenceFeature parameters. ARGConfig contains API URL, API key, secret key, and auth key and it must be sent to ARGSession.

You must pass ARGInferenceFeature parameter to ARGSession and the selected feature will be obtained. The configured feature information can be obtained from ARGFrame.

Below is the sample code to create ARGSession.

Objective-C
Swift
Objective-C
// Sample Code. ARGSession Creation Example
ARGConfig *argConfig = [[ARGConfig alloc] initWithApiURL:API_HOST apiKey:API_KEY secretKey:API_SECRET_KEY authKey:API_AUTH_KEY];
NSError * error;
_argSession = [[ARGSession alloc] initWithARGConfig:argConfig feature:ARGInferenceFeatureFaceLowTracking error:&error];
_argSession.delegate = self;
Swift
// Sample Code. ARGSession Creation Example
do {
let config = ARGConfig(
apiURL: API_HOST,
apiKey: API_KEY,
secretKey: API_SECRET_KEY,
authKey: API_AUTH_KEY
)
argSession = try ARGSession(argConfig: config, feature: [.faceLowTracking])
argSession?.delegate = self
} catch let error as NSError {
} catch let exception as NSException {
}

Unless ARGConfig is properly set during ARGSession creation, the ARGear SDK will not be initiated. Therefore, you must create an account in https://argear.io, set the created API Key information in ARGConfig, and create ARGSession with the ARGConfig to use ARGear SDK.

4.2 Run

Create ARGSession with or without an option, ARGInferenceOption. For the details of ARGInferenceOption, please refer to ARGInferenceOption.

Sample code is written below.

Objective-C
Swift
Objective-C
// Sample Code. ARGSession Run Example
ARGSession *argSession = [[ARGSession alloc] initWithARGConfig:argConfig feature:ARGInferenceFeatureFaceLowTracking error:&error];
[argSession run];
Swift
// Sample Code. ARGSession Run Example
argSession = try ARGSession(argConfig: config, feature: [.faceLowTracking])
argSession?.run()

4.3 Pause

To pause the current ARGSession, call pause function inside ARGSession.

Sample code is written below.

Objective-C
Swift
Objective-C
// Sample Code. ARGSession Pause Example
ARGSession *argSession = [[ARGSession alloc] initWithARGConfig:argConfig error:&error];
[argSession pause];
Swift
// Sample Code. ARGSession Pause Example
argSession?.pause()

4.4 Destroy

To destroy the current ARGSession, use the destroy function.

Sample code is written as follows.

Objective-C
Swift
Objective-C
// Sample Code. ARGSession Destroy Example
ARGSession *argSession = [[ARGSession alloc] initWithARGConfig:argConfig error:&error];
[argSession destroy];
Swift
// Sample Code. ARGSession Destroy Example
argSession?.destroy()