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.