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.
|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.
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 or JPush|
|For the others||-|
|Browser||MQTT over WebSocket|
|Node.js||MQTT over the TCP socket|
Note these considerations:
JPush works with various platforms. Currently, only the Kii Cloud SDK for Android supports JPush for receiving push notifications.
With the Cordova, the available push notification technology is different depending on the target platform of your mobile app.
For IoT application development
The features available for developing IoT applications are different between the Thing-IF SDK and the Kii Cloud 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 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.
*1 In general, mobile apps do not use the thing access token. This feature is used in thing implementation.
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.
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.