Available Features

The following table summarizes the features currently supported by each client SDK and REST API.

For mobile application development

The following features are supported for developing mobile applications.

Feature Android iOS JavaScript REST API
Kii Cloud SDK
User management Registering, authenticating and deleting users Yes Yes Yes Yes
Registering with an email/phone number Yes Yes Yes Yes
Saving user attributes Yes Yes Yes Yes
Using refresh tokens, logging in with the auto-saved credentials Yes Yes - Yes
Changing and resetting passwords Yes Yes Yes Yes
Group management Creating and deleting groups Yes Yes Yes Yes
Changing a group owner - - - Yes
Managing group members Yes Yes Yes Yes
Data management Creating and deleting buckets Yes Yes Yes Yes
Saving KiiObjects (key-value pairs) Yes Yes Yes Yes
Putting Geolocation in KiiObjects Yes Yes Yes Yes
Leveraging object bodies (files) Details Details Details Details
Putting access controls on buckets/KiiObjects Yes Yes Yes Yes
Accessing data as an application administrator - - Yes Yes
Admin feature Operation with the administrator privileges - - Yes Yes
Application configuration, force password reset, disabling users - - - Yes
Push notifications Configuring and subscribing push Yes Yes Yes Yes
Sending push messages Yes Yes Yes Yes
Receiving push messages *1 Yes Yes Yes -
Server extension (Executing server code) *2 Executing server code manually Yes Yes Yes Yes
Coding server code & executing server code with triggers and by schedule - - Yes -
Application analytics Checking basic analytics Yes Yes Yes Yes

*1 For the technologies available for receiving push notifications, see Push notification below.
*2 Server extension feature is available only for users who have signed the service contract. See Feature termination for trial users (2021.01.19) for details.

Push notification

You can use different push notification technologies with Kii Cloud depending on the target SDKs and platforms. See the below table for available technologies.

Platform Push Notification Technology
Android FCM
iOS APNs
JavaScript Cordova For Android FCM
For iOS APNs
For the others -
Browser MQTT over WebSocket
Node.js MQTT over the TCP socket

Note these considerations:

  • With the Cordova, the available push notification technology is different depending on the target platform of your mobile app.

  • Normally, use WebSocket with MQTT because a number of JavaScript libraries assume use of WebSocket with MQTT. However, the Kii Cloud API supports direct use of TCP in MQTT communication.

For IoT application development

The features available for developing IoT applications are different between the Thing-IF SDK and the Kii Cloud SDK.

Thing-IF SDK

Both mobile apps and things can make use of all the features supported by the Thing-IF SDK.

  • Mobile app side

    The Thing-IF SDKs for Android, iOS, and JavaScript allow you to implement IoT functions in your mobile app. You can make use of the features for mobile apps in Thing Interaction Framework, such as sending commands, getting the state, and setting automatic execution.

    Basically, the same features are available across the platforms except that the SDK for JavaScript supports a different set of features.

    Feature Android iOS JavaScript
    Using Thing Interaction Framework Yes Yes Yes
    Locally saving and restoring initialized ThingIFAPI instances Yes Yes -
    Operating with non-owner's privilege such as an app administrator's - - Yes
    Operating gateways Yes Yes -
  • Thing side

    The Thing-IF SDK for C allows you to implement IoT functions in your thing. You can make use of the features for things in Thing Interaction Framework, such as receiving commands and registering the state.

Kii Cloud SDK

  • Mobile app side

    You can make use of the features below in addition to the all the features for mobile apps when you develop your mobile app for an IoT solution.

    Feature Android iOS JavaScript REST API
    Thing management Registering things, setting owners, managing data in the thing scope Yes Yes Yes Yes
    Authenticating with PIN code and checking owner - - - Yes
    Manipulating with an access token of a thing - - Yes *1 Yes

    *1 In general, mobile apps do not use the thing access token. This feature is used in thing implementation.

  • Thing side

    You can select the environment to add the SDK for things from the C language or JavaScript (Node.js). You can also use the REST API.

    If you use the C language, you can make use of the features of Kii Cloud through the Thing SDK Embedded which is internally used in the Thing-IF SDK. The APIs of the Thing SDK Embedded allow you to make use of a subset of features required for thing implementation. You can make use of all the features of Kii Cloud through the API call function in the Thing SDK Embedded.

    If you use JavaScript, you can make use of all the features of the Kii Cloud SDK for JavaScript on Node.js. Access to Kii Cloud is achieved with the thing access token. Note that the Thing-IF SDK for JavaScript does not support implementation on the thing side.

Push notification

The technologies available for mobile application development can be used with mobile apps for IoT solutions. See Push notification in the section above for mobile application development.

Usually, MQTT is used on the thing side.