You should implement this each time you create a feature within Kana to ensure
your user’s don’t accidentally use the feature in question when they
shouldn’t.
Prerequisites
You will need to ensure you have details on both:- The user who has used the feature
- The feature which the user has used
id
of both.
Code Sample
The canusefeature-featureid SDK method will work no matter what type of feature is being used, with the returnedaccess
boolean being true
when the user has access (for Binary features), has enough of a feature remaining to be used (for Consumable features), or has overage enabled (for Consumable features).
Will the access boolean consider if a user will be using more than one of a feature?No - for Consumable features, we will only return
false
only if there’s no more of the feature be used by a delta of 1. We will not consider any greater delta currently. If the delta
you need to provide when recording usage of the feature is greater than 1, you will need to understand if the user can access the feature yourself by using the returnedConsumption object and calculating the amount remaining via the used
and budget
fields.Basic
React
Example
React
Ensure the state is set before the feature is viewed or used. If you need to
prevent someone from navigating to the page altogether, then we recommend
redirecting server-side (see our Block Feature Access
(Backend) guide for example
code).
Next Steps
Congratulations 🎉 You’ve now successfully checked a users entitlement to
a feature and blocked them from using the feature if they should have no
access.
messages
feature, your users may be able to send messages via your UI and through an API call - both should block access when necessary.
You may want to also implement something similar on the backend of your application for those actions which don’t touch the frontend, or for any redirects before page load that you may want to action.
Block Feature Access (Frontend)
If you haven’t yet recorded usage of your features when access is granted, we strongly recommend this as a next step. It’s a key requirement in order for us to understand a user’s entitlement towards a feature.
Record Feature Usage