/apiai-apple-client

iOS SDK for API.AI

Primary LanguageObjective-CApache License 2.0Apache-2.0

Objective-C(Cocoa) SDK for api.ai

Build Status Version License Platform


Overview

The API.AI Objective-C(Cocoa) SDK makes it easy to integrate speech recognition with API.AI natural language processing API on Apple devices. API.AI allows using voice commands and integration with dialog scenarios defined for a particular agent in API.AI.

Prerequsites

Running the Demo app

  • Run pod update in the ApiAiDemo project folder.

  • Open ApiAIDemo.xworkspace in Xcode.

  • In ViewController -viewDidLoad insert API key.

    configuration.clientAccessToken = @"YOUR_CLIENT_ACCESS_TOKEN";
    

    Note: an agent in api.ai should exist. Keys could be obtained on the agent's settings page.

  • Define sample intents in the agent.

  • Run the app in Xcode. Inputs are possible with text and voice (experimental).

Integrating into your app

1. Initialize CocoaPods

  • Run pod install in your project folder.

  • Update Podfile to include:

    pod 'ApiAI'
    
  • Run pod update

2. Init the SDK.

In the AppDelegate.h, add ApiAI.h import and property:

#import <ApiAI/ApiAI.h>

@property(nonatomic, strong) ApiAI *apiAI;

In the AppDelegate.m, add

  self.apiAI = [[ApiAI alloc] init];

  // Define API.AI configuration here.
  id <AIConfiguration> configuration = [[AIDefaultConfiguration alloc] init];
  configuration.clientAccessToken = @"YOUR_CLIENT_ACCESS_TOKEN_HERE";

  self.apiAI.configuration = configuration;

3. Perform request.

...
// Request using text (assumes that speech recognition / ASR is done using a third-party library, e.g. AT&T)
AITextRequest *request = [apiai textRequest];
request.query = @[@"hello"];
[request setCompletionBlockSuccess:^(AIRequest *request, id response) {
    // Handle success ...
} failure:^(AIRequest *request, NSError *error) {
    // Handle error ...
}];

[_apiAI enqueue:request];

How to make contributions?

Please read and follow the steps in the CONTRIBUTING.md.

License

See LICENSE.

Terms

Your use of this sample is subject to, and by using or downloading the sample files you agree to comply with, the Google APIs Terms of Service.

This is not an official Google product.