Updating the Visitor Context
In the Flagship
SDK, the visitor context is a set of data or attributes associated with a user (visitor) at a given time. This could include information such as the user's location, device type, language preference, or any other custom attributes that you define.
The visitor context is used by Flagship to make decisions about which variations of features or experiments to show to the user. For example, you might have an experiment that shows different versions of a webpage based on the user's location. The visitor context would provide the location data needed to decide which version to show.
Visitor context can be set during the visitor creation process or whenever with the visitor instance
Below are examples in different programming environments:
//... other code
//Set during the visitor creation process
const visitor = Flagship.newVisitor({
visitorId: "your_visitor_id",
context: { age: 31, isVip: true },
});
// Alternatively, use the updateContext method
visitor.updateContext({ lastPurchaseDate: 1615384464 });
import React from "react";
import { FlagshipProvider, useFlagship } from "@flagship.io/react-sdk";
const App = () => (
<>
<FlagshipProvider
envId="<ENV_ID>"
apiKey="<API_KEY>"
visitorData={{
id: "<VISITOR_ID>",
hasConsented: true,
context: { //Set during the visitor creation process
isVIP: true,
country: "NL",
loginProvider: "Google"
}
}}
>
<Component/>
</FlagshipProvider>
</>
);
const Component = () => {
const { updateContext } = useFlagship();
useEffect(() => {
// Alternatively, use the updateContext method
updateContext({ isVIP: false });
}, []);
return (
<div>
<h1>My component</h1>
</div>
);
};
import React from "react";
import { FlagshipProvider, useFlagship } from "@flagship.io/react-native-sdk";
const App = () => (
<>
<FlagshipProvider
envId="<ENV_ID>"
apiKey="<API_KEY>"
visitorData={{
id: "<VISITOR_ID>",
hasConsented: true,
context: { //Set during the visitor creation process
isVIP: true,
country: "NL",
loginProvider: "Google"
}
}}
>
<Component/>
</FlagshipProvider>
</>
);
const Component = () => {
const { updateContext } = useFlagship();
useEffect(() => {
// Alternatively, use the updateContext method
updateContext({ isVIP: false });
}, []);
return (
<div>
<h1>My component</h1>
</div>
);
};
use Flagship\Flagship;
//... code
//Set during the visitor creation process
$visitor = Flagship::newVisitor("<VISITOR_ID>", true)
->setContext(["isVip" => true, "age"=> 31])
->build();
// Alternatively, use the updateContext method
$visitor->updateContext("lastPurchaseDate", 1615384464);
using Flagship.Main;
//... code
//Set during the visitor creation process
var visitor = Fs.NewVisitor("<VISITOR_ID>", true)
.SetContext(new Dictionary<string, object> {
{ "isQA", true },
{ "age", 31 }
})
.Build();
// Alternatively, use the updateContext method
visitor.UpdateContext("lastPurchaseDate", 1615384464);
Please consult the reference documentation for your specific SDK for more detailed information:
Updated 5 months ago