React Native 2.X.X Migration Guide
DashboardUser GuideDataspecStatus Page

React Native 2.X.X Migration Guide

Changes


The method used in v1.X.X has been deprecated and replaced with the following.

/**
 * Send event to server.
 * @param {string} category event name
 * @param {EventOption} [option={}] event options
 */
trackEvent(category: string, option?: EventOption): void;

option can be null, or it can also be used with action, label, value, customAttributes and semanticAttributes.

Please refer to Event Setup for details.

If you were using React Native SDK v1.X.X, please switch to trackEvent(category: string, option?: EventOption) to track events.


User Events

User Events Documentation

Sign Up

- Airbridge.event.signUp(user, option);
+ Airbridge.state.setUser({
+    ID: ...,
+    email: ...,
+    phone: ...,
+    alias: {},
+    attributes: {},
+ });
+ Airbridge.trackEvent(AirbridgeCategory.SIGN_UP, option);

Changes need to be made if you were using Airbridge.event.signUp(user, option).
Instead of passing user information through the user parameter, fill in Airbridge.state.setUser() and forward the sign up event using Airbridge.trackEvent(AirbridgeCategory.SIGN_UP, option).

Sign In

- Airbridge.event.signIn(user, option);
+ Airbridge.state.setUser({
+    ID: ...,
+    email: ...,
+    phone: ...,
+    alias: {},
+    attributes: {},
+ });
+ Airbridge.trackEvent(AirbridgeCategory.SIGN_IN, option);

Changes need to be made if you were using Airbridge.event.signIn(user, option).
Instead of passing user information through the user parameter, fill in Airbridge.state.setUser() and forward the sign in event using Airbridge.trackEvent(AirbridgeCategory.SIGN_IN, option).

Sign Out

- Airbridge.event.signOut(option);
+ Airbridge.trackEvent(AirbridgeCategory.SIGN_OUT, option);
+ Airbridge.state.setUser({});

Changes need to be made if you were using Airbridge.event.signOut(option).
Sign out using Airbridge.trackEvent(AirbridgeCategory.SIGN_OUT, option) and then empty user information using Airbridge.state.setUser({}).


E-commerce Events

E-commerce Events Documentation

View Home Screen

- Airbridge.event.viewHome(option);
+ Airbridge.trackEvent(AirbridgeCategory.HOME_VIEW, option);

Changes need to be made if you were using Airbridge.event.viewHome(category, option).
Send HOME_VIEW events using Airbridge.trackEvent(AirbridgeCategory.HOME_VIEW, option).

View Product Details

- Airbridge.event.viewProductDetail(data?: {products?: Product[];}, option?: EventOption)
+ Airbridge.trackEvent(AirbridgeCategory.PRODUCT_DETAILS_VIEW, {
+     semanticAttributes: {
+         [AirbridgeAttributes.PRODUCTS]: [
+             {
+                 [AirbridgeProduct.PRODUCT_ID]: 'coke_zero',
+                 [AirbridgeProduct.NAME]: 'Coke Zero',
+                 [AirbridgeProduct.PRICE]: 1.99,
+                 [AirbridgeProduct.CURRENCY]: 'USD',
+                 [AirbridgeProduct.POSITION]: 1,
+                 [AirbridgeProduct.QUANTITY]: 1,
+             },
+         ]
+     }
+ });

Changes need to be made if you were using Airbridge.event.viewProductDetail(data, option).
Send PRODUCT_DETAILS_VIEW events using Airbridge.trackEvent(AirbridgeCategory.PRODUCT_DETAILS_VIEW, option)

Product details should be sent under semanticAttributes.[AirbridgeAttributes.PRODUCTS].

View Product List

- Airbridge.event.viewProductList(data?: {listID?: string; products?: Product[];}, option?:EventOption);
+ Airbridge.trackEvent(AirbridgeCategory.PRODUCT_LIST_VIEW, {
+     semanticAttributes: {
+         [AirbridgeAttributes.PRODUCT_LIST_ID]: 'ID-1234567890'
+         [AirbridgeAttributes.PRODUCTS]: [
+             {
+                 [AirbridgeProduct.PRODUCT_ID]: 'coke_zero',
+                 [AirbridgeProduct.NAME]: 'Coke Zero',
+                 [AirbridgeProduct.PRICE]: 1.99,
+                 [AirbridgeProduct.CURRENCY]: 'USD',
+                 [AirbridgeProduct.POSITION]: 1,
+                 [AirbridgeProduct.QUANTITY]: 1,
+             },
+             {
+                 [AirbridgeProduct.PRODUCT_ID]: 'burger_cheese_double',
+                 [AirbridgeProduct.NAME]: 'Double Cheeseburger',
+                 [AirbridgeProduct.PRICE]: 3.99,
+                 [AirbridgeProduct.CURRENCY]: 'USD',
+                 [AirbridgeProduct.POSITION]: 2,
+                 [AirbridgeProduct.QUANTITY]: 1,
+             },
+         ]
+     }
+ });

Changes need to be made if you were using Airbridge.event.viewProductList(data, option).
Send PRODUCT_LIST_VIEW events using Airbridge.trackEvent(AirbridgeCategory.PRODUCT_LIST_VIEW, option).

Product details should be sent under semanticAttributes.[AirbridgeAttributes.PRODUCTS].
Product List ID should be sent under semanticAttributes.[AirbridgeAttributes.PRODUCT_LIST_ID].

View Search Result

- Airbridge.event.viewSearchResult(data?: {query?: string; products?: Product[];}, option?:EventOption)
+ Airbridge.trackEvent(AirbridgeCategory.SEARCH_RESULT_VIEW, {
+     semanticAttributes: {
+         [AirbridgeAttributes.QUERY]: 'product'
+         [AirbridgeAttributes.PRODUCTS]: [
+             {
+                 [AirbridgeProduct.PRODUCT_ID]: 'coke_zero',
+                 [AirbridgeProduct.NAME]: 'Coke Zero',
+                 [AirbridgeProduct.PRICE]: 1.99,
+                 [AirbridgeProduct.CURRENCY]: 'USD',
+                 [AirbridgeProduct.POSITION]: 1,
+                 [AirbridgeProduct.QUANTITY]: 1,
+             },
+             {
+                 [AirbridgeProduct.PRODUCT_ID]: 'burger_cheese_double',
+                 [AirbridgeProduct.NAME]: 'Double Cheeseburger',
+                 [AirbridgeProduct.PRICE]: 3.99,
+                 [AirbridgeProduct.CURRENCY]: 'USD',
+                 [AirbridgeProduct.POSITION]: 2,
+                 [AirbridgeProduct.QUANTITY]: 1,
+             },
+         ]
+     }
+ });

Changes need to be made if you were using Airbridge.event.viewSearchResult(data, option).
Send SEARCH_RESULT_VIEW events using Airbridge.trackEvent(AirbridgeCategory.SEARCH_RESULT_VIEW, option).

Product details should be sent under semanticAttributes.[AirbridgeAttributes.PRODUCTS].
Query term should be sent under semanticAttributes.[AirbridgeAttributes.QUERY].

Add to Cart

- Airbridge.event.addToCart(data?: {cartID?: string; products?: Product[]; currency?: string; total?: number;}, option?: EventOption)
+ Airbridge.trackEvent(AirbridgeCategory.ADD_TO_CART, {
+     semanticAttributes: {
+         [AirbridgeAttributes.CART_ID]: 'ID-1234567890',
+         [AirbridgeAttributes.CURRENCY]: 'USD',
+         [AirbridgeAttributes.TOTAL_VALUE]: 5.98,
+         [AirbridgeAttributes.PRODUCTS]: [
+             {
+                 [AirbridgeProduct.PRODUCT_ID]: 'coke_zero',
+                 [AirbridgeProduct.NAME]: 'Coke Zero',
+                 [AirbridgeProduct.PRICE]: 1.99,
+                 [AirbridgeProduct.CURRENCY]: 'USD',
+                 [AirbridgeProduct.POSITION]: 1,
+                 [AirbridgeProduct.QUANTITY]: 1,
+             },
+             {
+                 [AirbridgeProduct.PRODUCT_ID]: 'burger_cheese_double',
+                 [AirbridgeProduct.NAME]: 'Double Cheeseburger',
+                 [AirbridgeProduct.PRICE]: 3.99,
+                 [AirbridgeProduct.CURRENCY]: 'USD',
+                 [AirbridgeProduct.POSITION]: 2,
+                 [AirbridgeProduct.QUANTITY]: 1,
+             },
+         ]
+     }
+ });

Changes need to be made if you were using Airbridge.event.addToCart(data, option).
Send ADD_TO_CART events using Airbridge.trackEvent(AirbridgeCategory.ADD_TO_CART, option).

Product details should be sent under semanticAttributes.[AirbridgeAttributes.PRODUCTS].
Cart ID should be sent under semanticAttributes.[AirbridgeAttributes.CART_ID].
Currency should be sent under semanticAttributes.[AirbridgeAttributes.CURRENCY].
Total value of the products should be sent under semanticAttributes.[AirbridgeAttributes.TOTAL_VALUE].

Purchase

- Airbridge.event.purchase(data?: {transactionID?: string; products?: Product[]; isInAppPurchase?: boolean; currency?: string; total?: number;}, option?: EventOption)
+ Airbridge.trackEvent(AirbridgeCategory.ORDER_COMPLETED, {
+     semanticAttributes: {
+         [AirbridgeAttributes.TRANSACTION_ID]: 'transactionID-purchase',
+         [AirbridgeAttributes.CURRENCY]: 'USD',
+         [AirbridgeAttributes.TOTAL_VALUE]: 5.98,
+         [AirbridgeAttributes.IN_APP_PURCHASED]: true,
+         [AirbridgeAttributes.PRODUCTS]: [
+             {
+                 [AirbridgeProduct.PRODUCT_ID]: 'coke_zero',
+                 [AirbridgeProduct.NAME]: 'Coke Zero',
+                 [AirbridgeProduct.PRICE]: 1.99,
+                 [AirbridgeProduct.CURRENCY]: 'USD',
+                 [AirbridgeProduct.POSITION]: 1,
+                 [AirbridgeProduct.QUANTITY]: 1,
+             },
+             {
+                 [AirbridgeProduct.PRODUCT_ID]: 'burger_cheese_double',
+                 [AirbridgeProduct.NAME]: 'Double Cheeseburger',
+                 [AirbridgeProduct.PRICE]: 3.99,
+                 [AirbridgeProduct.CURRENCY]: 'USD',
+                 [AirbridgeProduct.POSITION]: 2,
+                 [AirbridgeProduct.QUANTITY]: 1,
+             },
+         ]
+     }
+ });

Changes need to be made if you were using Airbridge.event.purchase(data, option).
Send ORDER_COMPLETED events using Airbridge.trackEvent(AirbridgeCategory.ORDER_COMPLETED, option).

Product details should be sent under semanticAttributes.[AirbridgeAttributes.PRODUCTS].
Transaction ID should be sent under semanticAttributes.[AirbridgeAttributes.TRANSACTION_ID].
Whether or not it was an in app purchase should be sent under semanticAttributes.[AirbridgeAttributes.IN_APP_PURCHASED].
Total value of the products should be sent under semanticAttributes.[AirbridgeAttributes.TOTAL_VALUE].

Custom Events

- Airbridge.event.custom(category, option)
+ Airbridge.trackEvent(category, option);

Changes need to be made if you were using Airbridge.event.custom(category, option).
Send custom events using Airbridge.trackEvent(category, option).