In order for you to check if a mobile application out in the wild has been marked/flagged to be upgraded, you need to integrate your application with out API backend.
This is fairly simple and can be done with just one API call. We recommend you do this when your application is being opened for the first time or is coming back from being on the background.
The base URL is /api/v1/
target-checks
This endpoint allows you to check whether you application has been marked for soft or hard upgrading.
Header name | Description | Example |
---|---|---|
X-API-KEY |
API Key generated from KickIt | prefix.key |
X-KICKIT-APP-NAME |
App name set in KickIt | MyApp |
X-KICKIT-APP-VERSION |
App version set in KickIt | 1.0.0 |
X-KICKIT-BUILD-NUMBER |
App build number set in KickIt | 1000 |
X-KICKIT-PLATFORM |
App platform (ios/android) selected in KickIt | ios |
X-KICKIT-PLATFORM-OS-VERSION |
App os version set in KickIt | 10.5 |
The request body needs to conform to a json object. The main object must
define a data
attribute. From there, whatever is added
inside of data
will be saved and used as extra data sent
for multiple purposes including, but not exclusive to debugging.
For example:
{
"data": {
"client": "My custome client data point",
"some_other_custom_field": "custom_value"
}
}
POST /api/v1/target-checks HTTP/1.1
Host: kickit.dev
X-API-KEY: 2d71d7ebb9e2c0ed.dd24791ce6985c826497ec3fdcb4126521deff88f613db6680eea15a0d9f9b01
X-KICKIT-APP-NAME: KickItApp
X-KICKIT-APP-VERSION: 1.0.1-production
X-KICKIT-BUILD-NUMBER: 1000
X-KICKIT-PLATFORM: iOS
X-KICKIT-PLATFORM-OS-VERSION: 10.4
Content-Type: application/json
{
"data": {
"client": "My custome client data point",
"some_other_custom_field": "custom_value"
}
}
HTTP/1.1 200 OK
Connection: keep-alive
X-Frame-Options: SAMEORIGIN
Referrer-Policy: strict-origin-when-cross-origin
Content-Type: application/json; charset=utf-8
Vary: Accept
Etag: W/"9ce0ec7deabcb98c0fb40323819ac385"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: 63c973ab-f4dd-4a79-8fff-892ae1b49d3f
X-Runtime: 0.014923
Transfer-Encoding: chunked
{
"matched": true,
"message": "Please install our newest version 0.0.2",
"hard_deprecation": false,
"target_meta": {
"app_name": "KickItApp",
"version": "1.0.1-production",
"build_number": "1000",
"platform": "ios",
"platform_version": "10.4",
}
}
Based on this response, on the client side, we would check whether
matched
is true
or false
. If it
is true
we would then need to check whether it is a
hard_deprecation
. If it is we stop the user from continuing
forward and show the configured text message, if not, we then show the
user a dismissible dialog that shows the configured message but that
allows them to proceed using your application.
To help you manage applications that users must/could upgrade, you can
use the https://kickit.dev/api/v1/target-checks/
endpoint.
This endpoint takes in what you created in
https://kickit.dev/app-targets
and returns a json object
that you can use from the application to determine if you should allow
the user to proceed or not.