Tích hợp AdBrix SDK Plugin [React Native]
Theo dõiQuick Start
Tải SDK Plugin
Tải AdBrix SDK Plugin for React Native sử dụng npm.
npm install react-native-adbrix-remaster --save
Thiết lập dependency project tự động. [Trường hợp cần tiến hành thủ công, xem thêm tại project repository]
react-native link react-native-adbrix-rm-react
Cài đặt Platform
Để sử dụng AdbrixRM SDK Plugin for React Native, cần cấu hình mỗi platform (Android/ iOS) một cách độc lập.
Android
1. Thêm dependencies vào file [app:build.gradle].
dependencies { implementation 'com.google.android.gms:play-services-ads:15.0.0' implementation 'com.android.installreferrer:installreferrer:1.0' }
[[인용:위험:보통]]* Để phòng chống Fraud Traffic và xác định install attribution trên Play Store, bạn cần cài com.android.installreferrer:installreferrer.
* Để nhận được google adid, bạn cần cài com.google.android.gms:play-service-ads.
2. Thêm permission vào file [AndroidManifest.xml > manifest].
<manifest> ... <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- OPTIONAL --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> ... </manifest>
3. Thêm code sau vào file app / proguard-rule.pro để SDK hoạt động chính xác. Tránh làm Proguard ảnh hưởng tới việc xác định mobile attribution.
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient {*;} -keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$* {*;}
iOS
1. Trong project React Native, vào thư mục ios, chạy trên terminal lệnh pod install để Cocoapods cài SDK
$ cd ios
$ pod install
※ Nếu chưa cài Cocoapods thì dùng lệnh sau đây để cài đặt Cocoapods.
$ sudo gem install cocoapods
2. Mở Xcode thêm iAd.framework theo hướng dẫn [General > Linked Frameworks and Libraries].
3. Chọn nhúng thư viện Swift standard [Build Settings > Always Embed Swift Standard Libraries].
Khởi tạo SDK
Để khởi tạo SDK, gọi hàm startAdbrixSDK trong componentDidMount() của file App.js
import AdbrixRm from 'react-native-adbrix-remaster'; componentDidMount(): void { AdbrixRm.startAdbrixSDK('your_app_key', 'your_secret_key'); }
[[인용:안내:보통]] Kiểm tra App Key & Secret Key
App Key và Secret Key được cấp riêng cho mỗi app khi sử dụng AdBrix. 2 tham số này cần dùng để khởi tạo SDK. Để lấy thông tin 2 Key này, bạn vào AdBrix Console.
_ Cách lấy App Key và Secret Key
_ Mở AdBrix Console
[[인용:안내:보통]] Chúc mừng bạn đã tích hợp thành công AdBrix SDK!!!
Bạn đã hoàn thành bước tích hợp SDK cho dịch vụ cơ bản của AdBrix. Bây giờ, vào AdBrix Console, bạn có thể kiểm tra event ở SDK đã được đưa lên AdBrix server, hiển thị trên báo cáo.
1. Kiểm tra báo cáo về DAU, MAU, retention
2. Truy vết các chiến dịch cài đặt ứng dụng hình thái nCPI và các hình thái tương tự khác. Kiểm tra thông số install count, re-install count phân bổ theo từng chiến dịch.
Chú ý: Event đầu tiên hiện trên Console hoặc LiveBrix có thể mất 5 phút.
Bước tiếp theo: Để truy vết và phân tích deep-link attribution và các sự kiện trong ứng dụng (in-app event), hãy tiếp tục tích hợp SDK theo hướng dẫn bên dưới. Các sự kiện được định nghĩa theo nhu cầu của ứng dụng một cách linh hoạt. Bạn có thể tham khảo một số ví dụ về event thường gặp trong app như create_account, log_in, register_credit_card, trong e-commerce như purchase, add_to_cart, view_product, trong game như create_character, level_up, v.v
Cấu hình SDK bổ sung
Cấu hình chu kì upload sự kiện
AdBrix SDK cung cấp hàm để ghi log sự kiện vào hàng đợi, sau đó sẽ dựa trên 2 tiêu chí sau đây để upload sự kiện lên server.
- Tiêu chí số event trong hàng đợi của SDK
- Tiêu chí thời gian
[[인용:안내:보통]] * Trong 2 tiêu chí trên, tiêu chí nào đến trước thì sẽ được thực hiện trước
* Hàm cài đặt tham số chu kì upload nên được gọi trong Application class hoặc ở Activity đầu tiên của ứng dụng.
1. Tiêu chí số event trong hàng đợi của SDK
Khi số event trong hàng đợi vừa qua ngưỡng cài đặt, SDK sẽ tiến hành upload toàn bộ dữ liệu lên server.
Hằng số được định nghĩa sẵn trong AdBrix SDK:
- AdbrixRm.UPLOAD_COUNT_INTERVAL_MIN : 10 counts
- AdbrixRm.UPLOAD_COUNT_INTERVAL_NORMAL: 30 counts
- AdbrixRm.UPLOAD_COUNT_INTERVAL_MAX : 60 counts
AdbrixRm.setEventUploadCountInterval(AdbrixRm.UPLOAD_COUNT_INTERVAL_NORMAL);
2. Tiêu chí thời gian
SDK sẽ đợi một khoảng thời gian nhất định được cấu hình từ trước. Sau đó, SDK sẽ tải toàn bộ dữ liệu lên server và sau đó tiếp tục đợi phiên tiếp theo.
- AdbrixRm.UPLOAD_TIME_INTERVAL_MIN: 10 counts
- AdbrixRm.UPLOAD_TIME_INTERVAL_NORMAL : 30 counts
- AdbrixRm.UPLOAD_TIME_INTERVAL_MAX : 60 counts
AdbrixRm.setEventUploadTimeInterval(AdbrixRm.UPLOAD_TIME_INTERVAL_NORMAL);
Deep Linking/ Deferred Deep Linking
Phân tích sự kiện Deep Linking
Deep linking là phương thức để mở một Activity trong ứng dụng thông qua deep link có địa chỉ dạng scheme://host. Android hỗ trợ thêm phương thức App Link, địa chỉ có dạng giống như địa chỉ web https://domain để mở Activity trong app từ mobile browser. Như vậy Android App Link và Deep Link có thể hiểu là một sự kết nối từ bên ngoài vào mobile app. Trường hợp đặc biệt của Deep Link khi app được mở lần đầu tiên sau khi cài đặt được gọi là Deferred Deep Link. AdBrix tracking link hỗ trợ toàn bộ các dạng Deep Link như mô tả ở trên. Khi tạo tracking link, tuỳ theo phương thức mong muốn, tracking link có thể hoạt động như Android AppLink hoặc Deep Link thông thường hoặc Deferred Deep Link.
[[인용:안내:보통]] Deep Link URI format có dạng myscheme://host?key=value. Tham số đính kèm trong link có kiểu dữ liệu dạng String. Tham số được cấu hình dễ dàng trên AdBrix Console.
Thông qua tracking link, người dùng mở ứng dụng ở một màn hình Activity của Android trong ứng dụng bằng phương pháp deep linking. Đây là một sự kiện quan trọng mà marketer cần quan sát và phân tích.
Làm theo hướng dẫn để app nhận giá trị deeplink. Sau khi nhận được giá trị này, app có thể đưa người dùng đến màn hình cụ thể tùy theo logic. Để cài đặt Deeplink Listener, thêm hàm setDeeplinkListener trong componentDidMount().
componentDidMount(): void { AdbrixRm.setDeeplinkListener(function (deeplink) { console.log("deeplink msg arrived!"); console.log(deeplink); // you will receive deeplink info on "deeplink" }); }
Cài đặt hỗ trợ deeplinking trên mỗi platform
Để sử dụng deeplinking trên Android / iOS mỗi platform cần cài đặt riêng biệt như sau:
Android
Vào Androidmanifest.xml, trong MAIN/LAUNCHER Activity cấu hình deeplink scheme và host như sau
<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <!--Add your deeplink scheme and host --> <data android:scheme="your_scheme" android:host="your_host" /> </intent-filter>
Trong trường hợp marketer dùng Android App Link, [AndroidManifest.xml > manifest > application] cài đặt android:host với định dạng "your_appkey.adtouch.adbrix.io"
<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="https" android:host="your_appkey.adtouch.adbrix.io" /> </intent-filter>
[[인용:경고:보통]] Tham số your_appkey chính là App Key nhận được từ AdBrix Console.
iOS
Mở Xcode [General > Target > Info > URL Types] khai báo URL Schemes.
Thêm đoạn tracking code vào AppDelegate.m.
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options { // AdBrixRM instance AdBrixRM *adBrix = [AdBrixRM sharedInstance]; // Deeplink tracking code [adBrix deepLinkOpenWithUrl:url]; return YES; }
[[인용:안내:보통]] Tham khảo thêm Hướng dẫn SDK integration để cài đặt Xcode cần thiết khi sử dụng Universal link
[Adbrix iOS Integration [Swift] - Universal link]
[Adbrix iOS Integration [Objective-C] - Universal link]
Cài đặt logic nhận Deferred Deep Link
Deferred Deep Linking là trường hợp đặc biệt, redirect người dùng tới một Activity cụ thể theo phương thức deep linking tại thời điểm lần đầu tiên người dùng mở app. Chú ý, tính năng này giúp cải thiện trải nghiệm người dùng của app, chứ không ảnh hưởng tới báo cáo analytics trên AdBrix Console. Tính năng này hữu ích nếu ứng dụng cần nhận Deferred Deep Link để đưa người dùng tới màn hình promotion hay màn hình sản phẩm cụ thể người dùng đã xem trước đó khi mở app lần đầu.
Cách hoạt động như sau: Ban đầu, khi người dùng bấm vào banner trong promotion campaign, kích hoạt tracking link ( dạng download + deep link), do app chưa được cài nên người dùng được redirect tới app store. Sau khi cài app, AdBrix xác định người dùng cài app do đã click vào tracking link có sử dụng deep link từ trước. SDK sẽ trả về Deferred Deep Link cho app thông qua DeferredDeeplinkListener.
componentDidMount(): void { AdbrixRm.setDeferredDeeplinkListener(function (deeplink) { console.log("deeplink msg arrived!"); console.log(deeplink); // you will receive DeferredDeeplink info on "deeplink" }); }
[[인용:경고:보통]] Listener không được gọi!!!
Nếu không thấy DeferredDeeplinkListener được gọi, hãy kiểm tra:
1. Người dùng có được chuyển đổi từ tracking link hay không. (install attribution check)
2. Tracking link có hỗ trợ deep link hay không.
[[인용:경고:보통]] App mở 2 lần!!!
Trường hợp này có thể xảy ra khi người dùng thông qua tracking link (sử dụng deeplink) và cài ứng dụng trên Google Play Store, sau đó bấm nút CONTINUE trên Google Play Store để tiếp tục thay vì mở app từ icon ở màn hình Home. Khi đó người dùng được đưa trên Activity đích theo deep link được cài đặt qua tracking link theo tính năng Deferred Deep Link được hỗ trợ trên Google Play Store.
Để tránh việc mở Activity đích 2 lần, một lần từ phương thức Deferred Deep linking của Play Store và một lần từ DeferredDeeplinkListener, ứng dụng nên có logic để phòng việc này.
Phân tích in-app event
Adbrix có thể phân tích in-app event xảy là trong app và gửi event postback lại cho media để tối ưu hóa chiến dịch quảng cáo. Để thực hiện việc phân tích in-app event, sử dụng các hàm ghi log dữ liệu dưới đây. Ví dụ chỉ mang tính chất minh họa, tùy vào nhu cầu phân tích, bạn có thể ghi log sự kiện linh hoạt.
Adbrix hỗ trợ 5 nhóm event như sau:
- User Analysis
- Login / Logout Event
- User information
- Location information
- Custom Analysis
- General Analysis
- Registration/Signup
- App update
- User invitation
- Credit Usage
- Purchase
- Commerce Event Analysis
- Home view
- Category view
- Product view
- Add to cart
- Add to wishlist
- Review order
- Refund
- Product search
- Product share
- Product listview
- Cart view
- Payment information
- Game Analysis
- Tutorial complete
- Create character
- Stage complete
- Level up
User Analytics
Login / Logout Event
Phân tích sự kiện người dùng login/logout.
onPress={() => { // LogIn AdbrixRm.login("your_user_id"); }}
* Để đảm bảo tính bảo mật thông tin cá nhân, user_id ( ví dụ: phone number, email) nên được mã hóa (BASE64, MD5, SHA1, v.v)
User Properties
Phân tích thông tin liên quan tới người dùng như tuổi, giới tính, tình trạng kết hôn v.v
onPress={() => { // Age AdbrixRm.setAge(30); // Gender AdbrixRm.setGender(AdBrixRm.GENDER_MALE); // Other user properties var userProperties = new AdbrixRm.UserProperties(); userProperties.setProperty("user_nick", "peterPark"); userProperties.setProperty("place","Seoul"); userProperties.setProperty("height",180); userProperties.setProperty("married",false); AdbrixRm.setUserProperties(userProperties); }}
[[인용:위험:보통]] Chú ý khi thiết lập UserProperty và AttrModel
1. Attribute có dạng Key/Value. SDK sẽ không xử lý số attribute nhiều hơn 100.
2. Key có kiểu dữ liệu string, không quá 256 kí tự. Key chỉ chứa kí tự trong bảng chữ cái tiếng Anh, viết thường , chữ số. (Không hỗ trợ chữ viết hoa và kí tự đặc biệt ngoại trừ gạch ngang: - và gạch dưới: _)
3. Giá trị của Value không được quá 1024 byte.
Custom Event
In-app event là những sự kiện xảy ra trong app, chúng ta cần ghi log những sự kiện quan trọng trong app để sử dụng cho mục đích phân tích tối ưu app. Trước khi triển khai code, bạn cần lên kế hoạch event gì cần được ghi lại, hiểu được mục tiêu của việc ghi log là gì. Sử dụng hàm AdbrixRm.event để đưa event lên AdBrix server.
Chú ý: Trong mục này, chúng ta đề cập tới các sự kiện đặc trưng cho app của bạn, sử dụng hàm ghi event tổng quát là AdBrixRm.event. Các event liên quan tới commerce được trình bày riêng ở mục khác. Các event thường gặp ở hầu hết các ứng dụng có những hàm riêng đã được định nghĩa sẵn trong AdBrix SDK cũng sẽ được trình bày bên dưới ở mục riêng.
Ví dụ một số in-app event như: "Button Click", "Character Creation", "Tutorial Complete", "Level Up". Mỗi event lại có những thuộc tính để mô tả đặc điểm của event đó, sử dụng AdBrixRm.AttrModel để lưu những giá trị này.
onPress={() => { // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York") eventAttr.setAttrs("age", 27) eventAttr.setAttrs("firsttime",true); // Click a button "Invite a friend" AdbrixRm.event("invite_button_click", eventAttr); // Complete "Character creation" AdbrixRm.event("create_character_complete",eventAttr); // Complete "Tutorial view" AdbrixRm.event("tutorial_complete", eventAttr); // Achieve "Level 10" AdbrixRm.event("level_10", eventAttr); }}
[[인용:위험:보통]] AdBrix chỉ hỗ trợ tối đa 100 custom event.
※ Chú ý
Custom event cần được tổ chức hợp lý tiện cho việc phân tích. Ví dụ dưới đây cho thấy việc ghi log sự kiện thay đổi "Level" của người dùng trong app không hiệu quả. Cách ghi log như này không giúp cho việc phân tích, đồng thời rất khó để quản lý.
AdbrixRm.event("custom:Lev-37 cleared,clearTime:00:00:39.2343535");
AdBrix đánh custom event name theo index để phân tích và truy vấn dữ liệu. Thuộc tính của event giúp marketer theo dõi event ở những dimension khác nhau. Ví dụ dưới đây về việc viết lại sự kiện người dùng lên level mới trong game ở trên.
// Addtional event parameter api var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("level",37); eventAttr.setAttrs("clear_time_mile", 39238); // set custom event with addtional event parameter AdbrixRm.event("level_clear", eventAttr);
Common/ General Event Analytics
AdBrixRm.event cung cấp hàm ghi custom event mà bạn có sử dụng linh hoạt. Bên cạnh đó, AdBrix cung cấp các hàm ghi những event thường gặp ở hầu hết các ứng dụng để tiện cho việc tích hợp và phân tích.
Trong mục này, chúng ta sẽ cùng xem các hàm liên quan tới sự kiện:
- Registration/ Sign Up
- App Update
- User Invitation
- Credit Usage
- Purchase
* Chú ý: Để theo dõi báo cáo về doanh thu theo kênh quảng cáo, bạn phải tích hợp sự kiện "Purchase"
Registration/ Sign Up
Ví dụ về việc phân tích sự kiện đăng kí hội viên sử dụng hàm AdbrixRm.commonSignUp.
onPress={() => { // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); AdbrixRm.commonSignUp (AdbrixRm.SIGNUP_CHANNEL_KAKAO,eventAttr); }}
App Update
Phân tích event người dùng update ứng dụng sử dụng hàm AdbrixRm.commonAppUpdate.
onPress={() => { // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); AdbrixRm.commonAppUpdate("1.0.0","1.0.1",eventAttr); }}
User Invitation
Phân tích sự kiện gửi invitation dùng hàm AdbrixRm.commonInvite.
onPress={() => { // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); AdbrixRm.commonInvite(AdbrixRm.INVITE_CHANNEL_KAKAO,eventAttr); }}
Credit Usage
Gọi khi người dùng sử dụng credit trong app với hàm AdbrixRm.commonUseCredit.
onPress={() => { // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); eventAttr.setAttrs("credit", 10000); AdbrixRm.commonUseCredit(eventAttr); }}
Purchase
Phân tích purchase event sử dụng hàm AdbrixRm.commonPurchase.
Hàm AdbrixRm.commonPurchase có thể nhận tham số là danh sách sản phẩm hàng hóa mà kiểu dữ liệu là AdbrixRm.ProductModelList. Thông tin mỗi sản phẩm được nhóm trong AdbrixRm.ProductModel class.
Ý nghĩa của tham số:
- order id : (yêu cầu bắt buộc) mã đơn hàng
- product id : (yêu cầu bắt buộc) mã sản phẩm
- product name : (yêu cầu bắt buộc) tên sản phẩm
- price : (yêu cầu bắt buộc) đơn giá
- quantity : (yêu cầu bắt buộc) số lượng đặt hàng
- discount : (thuộc tính không bắt buộc) số tiên giảm giá
- currency string : (thuộc tính không bắt buộc) đơn vị tiền tệ
- category : (thuộc tính không bắt buộc) hạng mục sản phẩm
- extra attr : (thuộc tính không bắt buộc) thuộc tính sản phẩm
- delivery charge : (thuộc tính không bắt buộc) phí vận chuyển
- payment method : (thuộc tính không bắt buộc) phương thức thanh toán
onPress={() => { // product and category setup var category1 = new AdbrixRm.CategoryModel(); category1.setCategory("cloth"); category1.setCategory("panth"); category1.setCategory("short"); category1.setCategory("summer"); category1.setCategory("Nike"); var product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); var category2 = new AdbrixRm.CategoryModel(); category2.setCategory("electronic"); category2.setCategory("small"); category2.setCategory("samsung"); category2.setCategory("phone"); category2.setCategory("galaxybrand"); var product2 = new AdbrixRm.ProductModel(); product2.setProductId("12324"); product2.setProductName("Galaxy S10"); product2.setPrice(50000); product2.setDiscount(10000); product2.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product2.setCategory(category2); // productlist setup var productList = new AdbrixRm.ProductModelList(); productList.setProduct(product1); productList.setProduct(product2); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //purchase API AdbrixRm.commonPurchase("orderId_12341",productList,0.00,3500.00,AdbrixRm.PAYMENT_METHOD_BANK_TRASNFER,eventAttr); }}
Commerce Event Analytics
Phân tích các sự kiện liên quan tới mua bán sản phẩm như xem chi tiết sản phẩm, bỏ vào giỏ hàng v.v
AdBrix cung cấp những hàm sau đây:
- Home/ Main page view
- Category page/ event page view
- Product detail view
- Add to cart
- Add to wishlist
- View an order
- Cancel an order
- Search a product
- View product list
- Share the product
- View cart
- Fill in payment information
Home/ Main Page View
onPress={() => { // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true) AdbrixRm.commerceViewHome(eventAttr); }}
Category / Event Page View
Phân tích sự kiện người dùng vào trang Category/ Event Page. Ý nghĩa tham số:
- product id : (yêu cầu bắt buộc) mã sản phẩm
- product name : (yêu cầu bắt buộc) tên sản phẩm
- price : (yêu cầu bắt buộc) đơn giá
- quantity : (yêu cầu bắt buộc) số lượng sản phẩm
- discount : (thuộc tính không bắt buộc) tiền giảm giá
- currency string : (thuộc tính không bắt buộc) đơn vị tiền tệ
- category : (thuộc tính không bắt buộc) hạng mục sản phẩm
- extra attr : (thuộc tính không bắt buộc) thuộc tính sản phẩm
onPress={() => { // product and category setup (can be set maximum 5 categories) var category1 = new AdbrixRm.CategoryModel(); category1.setCategory("cloth"); category1.setCategory("panth"); category1.setCategory("short"); category1.setCategory("summer"); category1.setCategory("Nike"); var product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); // productlist setup var productList = new AdbrixRm.ProductModelList(); productList.setProduct(product1); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //CategoryView API AdbrixRm.commerceCategoryView(category1,productList,eventAttr); }}
Product Detail View
Phân tích sự kiện người dùng xem thông tin sản phẩm cụ thể. Ý nghĩa tham số
- product id :(yêu cầu bắt buộc) mã sản phẩm
- product name : (yêu cầu bắt buộc) tên sản phẩm
- price : (yêu cầu bắt buộc) đơn giá
- quantity : (yêu cầu bắt buộc) số lượng sản phẩm
- discount : (thuộc tính không bắt buộc) số tiên giảm giá
- currency string : (thuộc tính không bắt buộc) đơn vị tiền tệ
- category : (thuộc tính không bắt buộc) hạng mục sản phẩm
- extra attr : (thuộc tính không bắt buộc) thuộc tính sản phẩm
onPress={() => { // product and category setup (can be set maximum 5 categories) var category1 = new AdbrixRm.CategoryModel(); category1.setCategory("cloth"); category1.setCategory("panth"); category1.setCategory("short"); category1.setCategory("summer"); category1.setCategory("Nike"); var product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //ProductView API AdbrixRm.commerceProductView(product1,eventAttr); }}
Add to Cart
Phân tích sự kiện bỏ hàng vào giỏ. Ý nghĩa tham số:
- product id : (yêu cầu bắt buộc) mã sản phẩm
- product name : (yêu cầu bắt buộc) tên sản phẩm
- price : (yêu cầu bắt buộc) đơn giá
- quantity : (yêu cầu bắt buộc) số lượng đặt hàng
- discount : (thuộc tính không bắt buộc) số tiên giảm giá
- currency string : (thuộc tính không bắt buộc) đơn vị tiền tệ
- category : (thuộc tính không bắt buộc) hạng mục sản phẩm
- extra attr : (thuộc tính không bắt buộc) thuộc tính sản phẩm
onPress={() => { // product and category setup (can be set maximum 5 categories) var category1 = new AdbrixRm.CategoryModel(); category1.setCategory("cloth"); category1.setCategory("panth"); category1.setCategory("short"); category1.setCategory("summer"); category1.setCategory("Nike"); var product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); var category2 = new AdbrixRm.CategoryModel(); category2.setCategory("electronic"); category2.setCategory("small"); category2.setCategory("samsung"); category2.setCategory("phone"); category2.setCategory("galaxybrand"); var product2 = new AdbrixRm.ProductModel(); product2.setProductId("12324"); product2.setProductName("Galaxy S10"); product2.setPrice(50000); product2.setDiscount(10000); product2.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product2.setCategory(category2); // productlist setup var productList = new AdbrixRm.ProductModelList(); productList.setProduct(product1); productList.setProduct(product2); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //AddToCart API AdbrixRm.commerceAddToCart(productList,eventAttr); }}
Add to Wishlist
Phân tích sự kiện đưa một sản phẩm vào wishList.
onPress={() => { // product and category setup (can be set maximum 5 categories) var category1 = new AdbrixRm.CategoryModel(); category1.setCategory("cloth"); category1.setCategory("panth"); category1.setCategory("short"); category1.setCategory("summer"); category1.setCategory("Nike"); var product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //AddToWishList API AdbrixRm.commerceAddToWishList(product1,eventAttr); }}
View an Order
Sự kiện người dùng kiểm tra lại đơn hàng trước sự kiện đặt mua dùng
Thông tin đặt hàng và sản phẩm bao gồm:
- order id : (yêu cầu bắt buộc) mã đơn hàng
- product id : (yêu cầu bắt buộc) mã sản phẩm
- product name : (yêu cầu bắt buộc) tên sản phẩm
- price : (yêu cầu bắt buộc) đơn giá
- quantity : (yêu cầu bắt buộc) số lượng đặt hàng
- discount : (thuộc tính không bắt buộc) số tiên giảm giá
- currency string : (thuộc tính không bắt buộc) đơn vị tiền tệ
- category : (thuộc tính không bắt buộc) hạng mục sản phẩm
- extra attr : (thuộc tính không bắt buộc) thuộc tính sản phẩm
- delivery charge : (thuộc tính không bắt buộc) phí vận chuyển
onPress={() => { // product and category setup var category1 = new AdbrixRm.CategoryModel(); category1.setCategory("cloth"); category1.setCategory("panth"); category1.setCategory("short"); category1.setCategory("summer"); category1.setCategory("Nike"); var product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); var category2 = new AdbrixRm.CategoryModel(); category2.setCategory("electronic"); category2.setCategory("small"); category2.setCategory("samsung"); category2.setCategory("phone"); category2.setCategory("galaxybrand"); var product2 = new AdbrixRm.ProductModel(); product2.setProductId("12324"); product2.setProductName("Galaxy S10"); product2.setPrice(50000); product2.setDiscount(10000); product2.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product2.setCategory(category2); // productlist setup var productList = new AdbrixRm.ProductModelList(); productList.setProduct(product1); productList.setProduct(product2); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //ReviewOrder API AdbrixRm.commerceReviewOrder("orderId_12341",productList,0.00,3500.00,eventAttr); }}
Cancel an Order / Refund
Sự kiện người dùng yêu cầu hủy đơn hàng hoặc hoàn tiền.
Thông tin sản phẩm và đặt hàng gồm:
- order id : (yêu cầu bắt buộc) mã đơn hàng
- product id : (yêu cầu bắt buộc) mã sản phẩm
- product name : (yêu cầu bắt buộc) tên sản phẩm
- price : (yêu cầu bắt buộc) đơn giá
- quantity :(yêu cầu bắt buộc) số lượng đặt hàng
- discount : (thuộc tính không bắt buộc) số tiên giảm giá
- currency string : (thuộc tính không bắt buộc) đơn vị tiền tệ
- category : (thuộc tính không bắt buộc) hạng mục sản phẩm
- extra attr : (thuộc tính không bắt buộc) thuộc tính sản phẩm
- penalty charge : (thuộc tính không bắt buộc) tiền hủy đơn
onPress={() => { // product and category setup (can be set maximum 5 categories) var category1 = new AdbrixRm.CategoryModel(); category1.setCategory("cloth"); category1.setCategory("panth"); category1.setCategory("short"); category1.setCategory("summer"); category1.setCategory("Nike"); var product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); var category2 = new AdbrixRm.CategoryModel(); category2.setCategory("electronic"); category2.setCategory("small"); category2.setCategory("samsung"); category2.setCategory("phone"); category2.setCategory("galaxybrand"); var product2 = new AdbrixRm.ProductModel(); product2.setProductId("12324"); product2.setProductName("Galaxy S10"); product2.setPrice(50000); product2.setDiscount(10000); product2.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product2.setCategory(category2); // productlist setup var productList = new AdbrixRm.ProductModelList(); productList.setProduct(product1); productList.setProduct(product2); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //Refund API AdbrixRm.commerceRefund("orderId_12341",productList,2500.00,eventAttr); }}
Search a Product
Phân tích sự kiện người dùng tìm kiếm sản phẩm.
Thông tin sản phẩm và kết quả tìm kiếm gồm
- keyword : (yêu cầu bắt buộc) từ khóa tìm kiếm
- product id : (yêu cầu bắt buộc) mã sản phẩm
- product name : (yêu cầu bắt buộc) tên sản phẩm
- price : (yêu cầu bắt buộc) đơn giá
- quantity :(yêu cầu bắt buộc) số lượng đặt hàng
- discount : (thuộc tính không bắt buộc) số tiên giảm giá
- currency string : (thuộc tính không bắt buộc) đơn vị tiền tệ
- category : (thuộc tính không bắt buộc) hạng mục sản phẩm
onPress={() => { // product and category setup (can be set maximum 5 categories) var category1 = new AdbrixRm.CategoryModel(); category1.setCategory("cloth"); category1.setCategory("panth"); category1.setCategory("short"); category1.setCategory("summer"); category1.setCategory("Nike"); var product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); var category2 = new AdbrixRm.CategoryModel(); category2.setCategory("electronic"); category2.setCategory("small"); category2.setCategory("samsung"); category2.setCategory("phone"); category2.setCategory("galaxybrand"); var product2 = new AdbrixRm.ProductModel(); product2.setProductId("12324"); product2.setProductName("Galaxy S10"); product2.setPrice(50000); product2.setDiscount(10000); product2.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product2.setCategory(category2); // productlist setup var productList = new AdbrixRm.ProductModelList(); productList.setProduct(product1); productList.setProduct(product2); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //Search API AdbrixRm.commerceSearch("your_key_word",productList,eventAttr); }}
Share a Product
Phân tích sự kiện người dùng chia sẻ sản phẩm.
Thông tin sản phẩm được chia sẻ gồm
- product id : (yêu cầu bắt buộc) mã sản phẩm
- product name : (yêu cầu bắt buộc) tên sản phẩm
- price : (yêu cầu bắt buộc) đơn giá
- quantity :(yêu cầu bắt buộc) số lượng đặt hàng
- discount : (thuộc tính không bắt buộc) số tiên giảm giá
- currency string : (thuộc tính không bắt buộc) đơn vị tiền tệ
- category : (thuộc tính không bắt buộc) hạng mục sản phẩm
- extra attr : (thuộc tính không bắt buộc) thuộc tính sản phẩm
onPress={() => { // product and category setup (can be set maximum 5 categories) var category1 = new AdbrixRm.CategoryModel(); category1.setCategory("cloth"); category1.setCategory("panth"); category1.setCategory("short"); category1.setCategory("summer"); category1.setCategory("Nike"); var product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //Share API AdbrixRm.commerceShare(AdbrixRm.SHARING_CHANNEL_KAKAO,product1,eventAttr); }}
View a Product List
Phân tích sự kiện người dùng xem một danh sách sản phẩm
onPress={() => { // product and category setup (can be set maximum 5 categories) var category1 = new AdbrixRm.CategoryModel(); category1.setCategory("cloth"); category1.setCategory("panth"); category1.setCategory("short"); category1.setCategory("summer"); category1.setCategory("Nike"); var product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); var category2 = new AdbrixRm.CategoryModel(); category2.setCategory("electronic"); category2.setCategory("small"); category2.setCategory("samsung"); category2.setCategory("phone"); category2.setCategory("galaxybrand"); var product2 = new AdbrixRm.ProductModel(); product2.setProductId("12324"); product2.setProductName("Galaxy S10"); product2.setPrice(50000); product2.setDiscount(10000); product2.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product2.setCategory(category2); // productlist setup var productList = new AdbrixRm.ProductModelList(); productList.setProduct(product1); productList.setProduct(product2); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //ListView API AdbrixRm.commerceListView(productList,eventAttr); }}
View a Cart
Sự kiện người dùng xem giỏ hàng
onPress={() => { // product and category setup (can be set maximum 5 categories) var category1 = new AdbrixRm.CategoryModel(); category1.setCategory("cloth"); category1.setCategory("panth"); category1.setCategory("short"); category1.setCategory("summer"); category1.setCategory("Nike"); var product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); var category2 = new AdbrixRm.CategoryModel(); category2.setCategory("electronic"); category2.setCategory("small"); category2.setCategory("samsung"); category2.setCategory("phone"); category2.setCategory("galaxybrand"); var product2 = new AdbrixRm.ProductModel(); product2.setProductId("12324"); product2.setProductName("Galaxy S10"); product2.setPrice(50000); product2.setDiscount(10000); product2.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product2.setCategory(category2); // productlist setup var productList = new AdbrixRm.ProductModelList(); productList.setProduct(product1); productList.setProduct(product2); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //CartView API AdbrixRm.commerceCartView(productList,eventAttr); }}
Fill in Payment Information
Phân tích sự kiện người dùng nhập thông tin thanh toán dùng
onPress={() => {
var commmerceAttr = new AdbrixRm.AttrModel(); commmerceAttr.setAttrs("grade", "vip"); commmerceAttr.setAttrs("howmany_buy", 36); commmerceAttr.setAttrs("card", "kbcard"); commmerceAttr.setAttrs("discount", true); //Event of filling in payment information AdbrixRm.commercePaymentInfoAdded(commmerceAttr); }}
Gaming Event Analytics
Phân tích sự kiện xảy ra trong game
AdBrix cung cấp sẵn những hàm để ghi những sự kiện sau:
- Tutorial completion
- Character creation
- Stage cleared
- Level achieved
Tutorial Completion
Phân tích sự kiện người chơi hoàn thành Tutorial. Ý nghĩa tham số:
- setIsSkip : (yêu cầu bắt buộc) Giá trị boolean thể hiện việc bỏ qua(skip) màn tutorial
onPress={() => { // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); eventAttr.setAttrs("credit", 10000); AdbrixRm.gameTutorialCompleted(true,eventAttr); }}
Character Creation
Phân tích sự kiện tạo ra nhân vật trong game.
onPress={() => { // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); eventAttr.setAttrs("credit", 10000); eventAttr.setAttrs("name","AngryNelsson316"); AdbrixRm.gameCharacterCreated(eventAttr); }}
Stage Cleared
Phân tích sự kiện người chơi qua bàn.
- stageName : (yêu cầu bắt buộc) Tên của bàn/ stage trong game
onPress={() => { // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); eventAttr.setAttrs("credit", 10000); AdbrixRm.gameStageCleared("stage1-1",eventAttr); }}
Level Achieved
Phân tích sự kiện người chơi lên level mới.
- level : (yêu cầu bắt buộc) Cấp độ level (1~10000)
onPress={() => { // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); eventAttr.setAttrs("credit", 10000); AdbrixRm.gameLevelAchieved(25,eventAttr); }}
Bình luận
0 bình luận
Vui lòng đăng nhập để viết bình luận.