Getting Started with the Ignite Core SDK

If you are an app developer, the easiest way to work with Ignite Store Services is to use our SDK.  All vehicles that are certified to work with Ignite Store Services are integrated with the Ignite Core Client.

What are Ignite Store Services? A variety of features, including identity management, voice, templates, etc, are enabled by this core client

In order to build apps that take advantage of the services, you will need to integrate the Ignite Core Client SDK in to your app.  This SDK facilitates communication between your app, other native Ignite components in the vehicle and the Ignite Ecosystem Services cloud. 

Example: You want to show results from a POI search 

<picture here>

 

Ignite Core SDK Sample​​ Code and Projects

Visit our GitHub to get sample projects and see our platform in action demonstrate some basic use-cases you will need as a developer.

Set Up Your D​​evelopment Environment: Android Studio

Whether you are trying one of the sample projects, or you are ready to use Ignite Core SDK in your own project, make sure your gradle file is updated to be able to pull the Ignite libraries when needed. 

Adding Ignite repositories to the root/build.gradle​

allprojects {
   repositories {
      jcenter()
      google()
      maven {
         url 'https://maven.harman.com/repo/releases/'
      }
   }
}


Addi​ng a Development Token To Your Project

The SDK doesn't work unless you have been provisioned access.   If you have a Ignite Developer account, you can request access token(s).

Once you have your access token, modify your AndroidManifest.xml in the following manner,  

  • Modify AndroidManifest.xml

    Add service keys, inside the <application> tag.​
<meta-data android:name="IgniteCore.Key" android:value="undefined" />

Us​ing Ignite Core SDK in Your Own Projects

The following are interfaces for Ignite Core Client SDK​

import com.harman.ignite.internal.ICoreInterface;
import com.harman.ignite.sdk.CoreResponse;
import com.harman.ignite.sdk.IgniteClient;
import com.harman.ignite.sdk.IgniteClientSingleton;
import com.harman.ignite.sdk.IntentConstants;
import com.harman.ignite.sdk.RequestParameter;
import com.harman.ignite.sdk.RequestType;
import com.harman.ignite.sdk.TestId;
import com.harman.ignite.sdk.interfaces.IIgniteClientCallback;
import com.harman.ignite.sdk.interfaces.IIgniteConnectionCallback;
import com.harman.ignite.sdk.uitemplates.IIgniteListItemListener;
import com.harman.ignite.sdk.uitemplates.IIgnitePoiDetailsListener;
import com.harman.ignite.sdk.uitemplates.IgniteExploreView;
import com.harman.ignite.sdk.uitemplates.IgniteListView;
import com.harman.ignite.sdk.uitemplates.IgnitePoiDetailsView;
import com.harman.ignite.sdk.uitemplates.PoiInfo;

Connecting to Core Client

Connecting​ to Core Client​

IgniteClientSingleton igniteClient = IgniteClientSingleton.getInstance(this);
igniteClient.connect(null);

Policies and Terms

As a developer, you have a responsibility to disclose to your users that Ignite Store Services are being used in your Android application.  All applications that use the Ignite Core SDK for Android must adhere to the requirements described in the Ignite Store Terms of Service.

Review our Terms of Use

Before you start writing code and building features based off of Ignite Store Services, review our Developer Terms of Use.

Disclose to Your Users

As a developer, your app must embed a link to Ignite's Terms of Service and Privacy Policy, disclosing to the user that by using the features associated with Ignite, they are subject to our terms/PP.

Submit for Certification

Apps that use Ignite Store Services must be certified by our Certification team before being deployed into public use.   When uploading, Developers should add a link to their legal terms in their app listing when uploading to the Ignite Dev Console.  

During certification we can check to see if there is an explicit click thru acceptance of terms within the UX of the 3rd party app or within the off board account creation process (if account is required to use the 3rd party app/service).​​