For the complete documentation index, see llms.txt. This page is also available as Markdown.

Remote Evaluation

Remote Evaluation is a mode in which the Hackle server evaluates the user in advance and the SDK looks up the result.

Because evaluation is based on user information stored on the Hackle server, use this mode when distribution must be based on the latest user information stored on the server.

Using Remote Evaluation

You can use Remote Evaluation by setting evaluationMode to Remote Evaluation when initializing the SDK. For platform-specific setup, see Configuration in Evaluation Mode.

Check the supported SDKs and versions in Minimum Supported SDK Version per Feature.

Feature Support

Remote Evaluation evaluates based on user information stored on the Hackle server. Because evaluation runs on the server, the SDK communicates with the server to re-evaluate when user information changes.

When you use Remote Evaluation, user information is not stored on the device or in the browser.

Any user information already stored from previous use of Local Evaluation is deleted.

Feature
Local Evaluation
Remote Evaluation

A/B Test distribution

Feature Flag decision

Remote Config lookup

Evaluation based on user information stored on the device

Evaluation based on user information stored on the server

Re-evaluation without server communication when user information changes

How It Works

The Hackle server evaluates A/B Tests, Feature Flags, and more for the user in advance, and the SDK fetches only the evaluation results and stores them internally. When distribution is needed, it looks up the stored evaluation results.

  1. On SDK initialization, the SDK sends user information to the Hackle server.

  2. The Hackle server evaluates A/B Tests, Feature Flags, and more for the user, and the SDK fetches the evaluation results and stores them internally.

  3. On a distribution/decision call, the SDK looks up the stored evaluation results. No network call occurs in this process.

When User Information Changes

When the User Identifier changes (setUser, setUserId, setDeviceId, resetUser) or User Properties are updated, the SDK sends the updated user information to the Hackle server and fetches the latest evaluation results to refresh what it has stored.

Reflecting Dashboard Changes

With Remote Evaluation, the SDK stores and looks up evaluation results that the Hackle server performed in advance. Therefore, it returns results based on when the evaluation was performed, not on the Dashboard settings at the moment the distribution/decision was called.

Evaluation is performed at the following points, and the evaluation results stored in the SDK are refreshed at that time.

  • On SDK initialization

  • When user information is updated (setUser, setUserId, setDeviceId, resetUser, User Property update)

Last updated