/index-api

Java web api for remote indexing

Primary LanguageJavaMIT LicenseMIT

IRext Java Web API

Indexing to the specified remote index and download IR binary file for it.

Android SDK Usage

1. Register your APP

Register your APP on irext SDK console irext SDK console, (You need to register an irext account first)

You need to fetch the package name and SHA1 signature of your APP and fill these information as SDK registration information

While your APP is registered, you can see the APP key and APP secret in your APP list

2. Import the SDK

You can either import this project or download the web-api .aar file from Android SDK and import to your Android APP project

Add 2 meta-data tags to your AndroidManifest.xml providing APP key and secret get from step 1.

<meta-data
    android:name="irext_app_key"
    android:value="your app key" />

<meta-data
    android:name="irext_app_secret"
    android:value="your app secret" />

3. Use the SDK

Import classes:

import net.irext.webapi.model.*;    
import net.irext.webapi.WebAPIs;
import net.irext.webapi.WebAPICallbacks.*;

Get web API instance:

WebAPIs webApis = WebAPIs.getInstance();

Sign in for access id and token:

SignInCallback signInCallback = new SignInCallback() {
    @Override
    public void onSignInSuccess(UserApp userApp) {
        int id = userApp.getId();
        int token = userApp.getToken();
    }

    @Override
    public void onSignInFailed() {
    }

    @Override
    public void onSignInError() {
    }
};
webApis.signIn(context, signInCallback);

Fetch household appliances categories:

ListCategoriesCallback listCategoriesCallback = new ListCategoriesCallback() {
    @Override
    public void onListCategoriesSuccess(List<Category> categories) {
    }

    @Override
    public void onListCategoriesFailed() {
    }

    @Override
    public void onListCategoriesError() {
    }
};
webApis.listCategories(listCategoriesCallback);

Fetch brands of a certain category other than STB:

ListBrandsCallback listBrandsCallback = new ListBrandsCallback() {
    @Override
    public void onListBrandsSuccess(List<Brand> brands) {
    }

    @Override
    public void onListBrandsFailed() {
    }

    @Override
    public void onListBrandsError() {
    }
};
webApis.listBrands(category.getId(), listBrandsCallback);

Fetch cities (in China) for STB:

ListProvincesCallback listProvincesCallback = new ListProvincesCallback() {
    @Override
    public void onListProvincesSuccess(List<City> provinces) {
    }

    @Override
    public void onListProvincesFailed() {
    }

    @Override
    public void onListProvincesError() {
    }
};

ListCitiesCallback listCitiesCallback = new ListCitiesCallback() {
    @Override
    public void onListCitiesSuccess(List<City> cities) {
    }

    @Override
    public void onListCitiesFailed() {
    }

    @Override
    public void onListCitiesError() {
    }
};
webApis.listProvinces(listProvincesCallback);
webApis.listCities(provincePrefix, listCitiesCallback);

Fetch STB operators of a certain city:

ListOperatersCallback listOperatorCallback = new ListOperatersCallback() {

    @Override
    public void onListOperatorsSuccess(List<StbOperator> operators) {
    }

    @Override
    public void onListOperatorsFailed() {
    }

    @Override
    public void onListOperatorsError() {
    }
};
webApis.listOperators(cityCode, listOperatorCallback);

Fetch remote indexes of a certain brand or STB operator:

ListIndexesCallback listIndexesCallback = new ListIndexesCallback() {

    @Override
    public void onListIndexesSuccess(List<RemoteIndex> indexes) {
    }

    @Override
    public void onListIndexesFailed() {
    }

    @Override
    public void onListIndexesError() {
    }
};
webApis.listRemoteIndexes(category.getId(), brand.getId(), city.getCode(), operator.getOperator_id(), listIndexesCallback);

Download IR binary for certain remote index:

DownloadBinCallback downloadBinCallback = new DownloadBinCallback() {

    @Override
    public void onDownloadBinSuccess(InputStream inputStream) {
    }

    @Override
    public void onDownloadBinFailed() {
    }

    @Override
    public void onDownloadBinError() {
    }
};
webApis.downloadBin(remoteIndex.getRemote_map(), remoteIndex.getId(), downloadBinCallback);

Java Web SDK Usage

1. Register your APP

Register your APP on irext SDK console irext SDK console, (You need to register an irext account first

While your APP is registered, you can see the APP key and APP secret in your APP list

2. Import the SDK

You can either import this project or download the web-api .jar file from Java SDK and import to your project

3. Use the SDK

Import classes:

import net.irext.webapi.model.*;    
import net.irext.webapi.WebAPIs;
import net.irext.webapi.WebAPICallbacks.*;

Get web API instance:

WebAPIs webApis = WebAPIs.getInstance();

Sign in for access id and token:

// App key and secret are fetched in step 1.
SignInCallback signInCallback = new SignInCallback() {
    @Override
    public void onSignInSuccess(UserApp userApp) {
        int id = userApp.getId();
        int token = userApp.getToken();
    }

    @Override
    public void onSignInFailed() {
    }

    @Override
    public void onSignInError() {
    }
};
webApis.signIn(context, signInCallback);

Fetch household appliances categories:

ListCategoriesCallback listCategoriesCallback = new ListCategoriesCallback() {
    @Override
    public void onListCategoriesSuccess(List<Category> categories) {
    }

    @Override
    public void onListCategoriesFailed() {
    }

    @Override
    public void onListCategoriesError() {
    }
};
webApis.listCategories(listCategoriesCallback);

Fetch brands of a certain category other than STB:

ListBrandsCallback listBrandsCallback = new ListBrandsCallback() {
    @Override
    public void onListBrandsSuccess(List<Brand> brands) {
    }

    @Override
    public void onListBrandsFailed() {
    }

    @Override
    public void onListBrandsError() {
    }
};
webApis.listBrands(category.getId(), listBrandsCallback);

Fetch cities (in China) for STB:

ListProvincesCallback listProvincesCallback = new ListProvincesCallback() {
    @Override
    public void onListProvincesSuccess(List<City> provinces) {
    }

    @Override
    public void onListProvincesFailed() {
    }

    @Override
    public void onListProvincesError() {
    }
};

ListCitiesCallback listCitiesCallback = new ListCitiesCallback() {
    @Override
    public void onListCitiesSuccess(List<City> cities) {
    }

    @Override
    public void onListCitiesFailed() {
    }

    @Override
    public void onListCitiesError() {
    }
};
webApis.listProvinces(listProvincesCallback);
webApis.listCities(provincePrefix, listCitiesCallback);

Fetch STB operators of a certain city:

ListOperatersCallback listOperatorCallback = new ListOperatersCallback() {

    @Override
    public void onListOperatorsSuccess(List<StbOperator> operators) {
    }

    @Override
    public void onListOperatorsFailed() {
    }

    @Override
    public void onListOperatorsError() {
    }
};
webApis.listOperators(cityCode, listOperatorCallback);

Fetch remote indexes of a certain brand or STB operator:

ListIndexesCallback listIndexesCallback = new ListIndexesCallback() {

    @Override
    public void onListIndexesSuccess(List<RemoteIndex> indexes) {
    }

    @Override
    public void onListIndexesFailed() {
    }

    @Override
    public void onListIndexesError() {
    }
};
webApis.listRemoteIndexes(category.getId(), brand.getId(), city.getCode(), operator.getOperator_id(), listIndexesCallback);

Download IR binary for certain remote index:

DownloadBinCallback downloadBinCallback = new DownloadBinCallback() {

    @Override
    public void onDownloadBinSuccess(InputStream inputStream) {
    }

    @Override
    public void onDownloadBinFailed() {
    }

    @Override
    public void onDownloadBinError() {
    }
};
webApis.downloadBin(remoteIndex.getRemote_map(), remoteIndex.getId(), downloadBinCallback);