Repository navigation
Send Action (Event) Examples
ruofan edited this page Feb 19, 2024
·
29 revisions
- Import OmniSegment SDK in your React Native project.
- Ensure that the OmniSegment is properly initialized and configured.
import OmniSegment, {
OSGEventBuilder,
} from "bebit-tech-react-native-app-sdk";
const App = () => {
useEffect(() => {
OmniSegment.setFCMToken("Test FCM Token from RN");
OmniSegment.setAppId("TestAppId");
OmniSegment.setAppName("TestAppName");
OmniSegment.setDeviceId("TestDeviceId");
const event = OSGEventBuilder.appOpen()
event.location = 'app://LaunchApp' // you can set your deeplink here, if you have
event.locationTitle = 'RN Test App @OpenApp'
OmniSegment.trackEvent(event);
}, []);
return (
<NavigationContainer>
<Stack.Navigator screenOptions={{ headerShown: false }}>
<Stack.Screen name='Login' component={LoginScreen} />
</Stack.Navigator>
</NavigationContainer>
);
};
export default App;- You can find the incoming data in OmniSegment under the customer page, in the corresponding user details, and browsing history.
- Tracking with Email:
import OmniSegment, {
OSGEventBuilder,
OSGRecommendRequest,
OSGRecommendType,
OSGProduct,
} from "bebit-tech-react-native-app-sdk";
const RegisterScreen = ({ navigation }: any) => {
const handleRegister = () => {
OmniSegment.setCurrentPage("Register");
const event = OSGEventBuilder.completeRegistration({email: 'renee@bebit-tech.com'})
event.location = 'app://Register' // you can set your deeplink here
event.locationTitle = 'Register'
OmniSegment.trackEvent(event);
navigation.navigate("Tab", { screen: "Home" });
};
return (
<View style={styles.container}>
<TouchableOpacity style={styles.button} onPress={handleLogin}>
<Text style={styles.buttonText}>Login</Text>
</TouchableOpacity>
</View>
)
};- Tracking with Registration Type:
import OmniSegment, {
OSGEventBuilder,
OSGRecommendRequest,
OSGRecommendType,
OSGProduct,
} from "bebit-tech-react-native-app-sdk";
const RegisterScreen = ({ navigation }: any) => {
const handleRegister = () => {
OmniSegment.setCurrentPage("Register");
const event = OSGEventBuilder.completeRegistration({regType: 'Google'});
event.location = 'app://Register' // you can set your deeplink here, if you have
event.locationTitle = 'Register'
OmniSegment.trackEvent(event);
navigation.navigate("Tab", { screen: "Home" });
};
return (
<View style={styles.container}>
<TouchableOpacity style={styles.button} onPress={handleLogin}>
<Text style={styles.buttonText}>Login</Text>
</TouchableOpacity>
</View>
)
};- The label dictionary can include various keys like
emailorregeType. These keys can be customized based on the data you want to track.
- You can find the incoming data in OmniSegment under the customer page, in the corresponding user details, and browsing history.
import OmniSegment, {
OSGEventBuilder,
OSGProduct,
} from "bebit-tech-react-native-app-sdk";
const CoffeCardAddToCart = ({
id,
index,
name,
roasted,
imagelink_square,
special_ingredient,
type,
prices,
}: any) => {
addToCart({
id,
index,
name,
roasted,
imagelink_square,
special_ingredient,
type,
prices,
});
calculateCartPrice();
const products: [OSGProduct] = [{ id, name }];
const event = OSGEventBuilder.addToCart(products)
event.location = 'app://Home'
event.locationTitle = 'RN Test App @Home'
OmniSegment.trackEvent(event);
};- You can find the incoming data in OmniSegment under the customer page, in the corresponding user details, and browsing history.
import OmniSegment, {
OSGEventBuilder,
OSGProduct,
} from "bebit-tech-react-native-app-sdk";
const HomeScreen = ({ navigation }: any) => {
const CoffeeList = useStore((state: any) => state.CoffeeList);
useEffect(() => {
OmniSegment.login("omnisegment20240101")
OmniSegment.setCurrentPage("Home");
const products: [OSGProduct] = CoffeeList.map((i) => ({id: i.id, name: i.name}))
const event = OSGEventBuilder.productImpression(products)
event.location = 'app://Home'
event.locationTitle = 'RN Test App @Home'
OmniSegment.trackEvent(event);
},[])
return (
...
);
};- You can find the incoming data in OmniSegment under the customer page, in the corresponding user details, and browsing history.
import OmniSegment, {
OSGEventBuilder,
OSGProduct,
} from "bebit-tech-react-native-app-sdk";
const searchCoffee = (search: string) => {
if (search != "") {
ListRef?.current?.scrollToOffset({
animated: true,
offset: 0,
});
setCategoryIndex({ index: 0, category: categories[0] });
setSortedCoffee([
...CoffeeList.filter((item: any) =>
item.name.toLowerCase().includes(search.toLowerCase())
),
]);
const event = OSGEventBuilder.search({label: search})
event.location = 'app://Home'
event.locationTitle = 'RN Test App @Home'
OmniSegment.trackEvent(event);
}
};- You can find the incoming data in OmniSegment under the customer page, in the corresponding user details, and browsing history.