Actions in r4nkt are essentially things that a player can do within your application or game. Actions can be things like closing a sale, submitting an article, or slaying a red dragon. Whatever they might be will depend on your app and what you find interesting and want to measure or promote. Whenever your player performs a given action, r4nkt should be notified via the API. Once r4nkt is notified, the action is recorded for the specified player and r4nkt determines whether any achievements have been earned.
Actions have the following properties:
An action may have reactions. This is one of the many features designed to make your life easier.
Sometimes, your player will do something that could translate into one or more individual actions. You can keep track of and report each of these individually, or you can assign reactions to your actions where it makes sense and then let r4nkt do the rest of the work for you.
Let's say that you have an application where your players can submit content in a variety of ways. Perhaps they can submit product articles as well as reviews. You might want to keep track of the number of articles submitted, the number of reviews submitted, and the overall number of content submissions. To do this, you would create three actions:
submit.content. Then, you would add
submit.content as a reaction to both
submit.review. Then, whenever you report that a player has submitted an article, that will be recorded and r4nkt will automatically record an additional activity:
submit.content. Likewise, when you report that a player has submitted a review, r4nkt will record that and it will automatically record its reaction:
In doing this, you can define achievements that use
submit.review in whatever way you want, since they're all recorded. Once you know that the reactions are set up correctly, then your application only needs to worry about recording the "top-level" action.
Some notes about reactions:
Actions can have zero or more reactions.
Actions cannot have duplicate reactions.
Chains can be defined. That is, action A can trigger action B, which can trigger action C.
Chains may not be cyclical. That is, action A can trigger action B, but action B cannot trigger action A.
Depending on your subscription, there may be limits to the number of reactions a single action can have as well as the depth or length of an action-reaction chain.