Skip to main content

Tổng quan về API

Last updated on

Để đơn giản hoá trong việc phát triển app trên Tiki. Tini App Framework cung cấp đa dạng các JSAPI cần thiết để truy cập tới thiết bị, giao diện cũng như open services của Tiki.

Demo

Trải nghiệm thử với trình giả lập bên dưới

Basic

TênMô tả
my.canIUseKiểm tra xem liệu Runtime của Tiki App Framework cài trên Tiki App có hỗ trợ hay không
my.exitMiniAppĐóng miniapp hiện tại
my.getAppIdSyncLấy ID của Mini App hiện tại
my.getAppSecretLấy thông tin secret của Tini App hiện tại
my.getLaunchOptionsSyncLấy parameters để launch Tini App hiện tại
my.getRunSceneLấy version của Mini App đang chạy
my.SDKVersionLấy version hiện tại của SDK

In-App Event

TênMô tả
my.offAppErrorDùng để remove listener của event `onAppError` từ trước
my.offUnhandledRejectionDùng để remove listener của event `onUnhandledRejection` từ trước
my.offAppHideDùng để remove listener của event `onAppHide` từ trước
my.offAppShowDùng để remove listener của event `onAppShow` từ trước
my.onAppErrorDùng để lắng nghe sự kiện app error khi có error xảy ra trong lúc gọi api, tương đương với function `onError` trong app.js
my.onUnhandledRejectionDùng để lắng nghe sự kiện khi 1 Promise reject xảy ra nhưng không được handle, tương đương với function `onUnhandledRejection` trong app.js
my.onAppHideDùng để lắng nghe sự kiện app hide (app enter background), tương đương với function `onHide` trong app.js
my.onAppShowdùng để lắng nghe sự kiện app show, tương đương với function `onShow` trong app.js

UI

Navigation Bar

TênMô tả
my.addIconsToNavigationBarThêm icons vào navigation bar bên cạnh nút ba chấm nằm ngang (⋯) mở menu
my.getTitleColorLấy background color của Navigation Bar
my.showAddToDeviceHiển thị nút lưu tiện ích xuống thiết bị trên Title Bar
my.hideBackHomeẨn đi nút back trên Title Bar
my.hideNavigationBarLoadingẨn đi loading animation trên thanh Navigation Bar của page hiện tại
my.setNavigationBarSet style cho Navigation Bar
my.showNavigationBarLoadingHiển thị loading animation trên thanh Navigation Bar của page hiện tại

Tab Bar

TênMô tả
my.hideTabBarRedDotẨn đi nút đỏ ở góc trên bên phải của một Tab Bar Item
my.hideTabBarẨn đi thanh Tab Bar
my.removeTabBarBadgeBỏ đi badge text cho một Tab Bar Item
my.setTabBarBadgeThêm badge text vào một Tab bar item
my.setTabBarItemThay đổi các thuộc tính của một Tab bar item, bao gồm text, icon khi item ở trạng thái bình thường, và icon ở trạng thái được chọn (selected)
my.setTabBarStyleSet style cho Tab Bar
my.showTabBarRedDotHiển thị nốt đỏ ở góc trên phải của một Tab Bar Item
my.showTabBarHiển thị lại tab bar sau khi ẩn

Route

TênMô tả
my.navigateBackMiniAppDùng để quay lại app trước đó hoặc nhảy tới 1 app bất kỳ đã được mở trước đó
my.navigateBackDùng để đóng màn hình hiện tại và trở lại màn hình trước đó
my.navigateToMiniAppDùng để di chuyển giữa các app
my.navigateToDùng để di chuyển từ màn hình hiện tại tới màn hình mong muốn trong ứng dụng
my.reLaunchDùng để đóng tất cả các pages hiện tại và nhảy tới một page nào đó trong ứng dụng
my.redirectToDùng để di chuyển từ màn hình hiện tại tới màn hình mong muốn trong ứng dụng
my.reLaunchMiniAppGiống với `my.navigateToMiniApp` tuy nhiên thay vì được chồng lên Tiniapp cũ, Tiniapp mới sẽ replace luôn Tiniapp cũ
my.switchTabDùng để nhảy về một tab ở màn hình home

Feedback

TênMô tả
my.alertHiển thị alert
my.confirmHiển thị confirm popup
my.hideLoadingẨn loading
my.hideToastẨn toast
my.promptHiển thị prompt popup, để user có thể nhập giá tri vào
my.showActionSheetHiển thị bottom popup để user có thể chọn option
my.showLoadingHiển thị loading
my.showToastHiển thị toast từ top và tự hide đi sau 1 khoảng thời gian

Pull-down

TênMô tả
my.setCanPullDownSet lại việc có hỗ trợ kéo xuống để refresh hay ko. Mặc định thì page hỗ trợ kéo xuống để refresh
my.startPullDownRefreshActive tính năng pull down to refresh, khi được gọi sẽ có animation loading tương đương với việc manual pull down list
my.stopPullDownRefreshStop loading khi đã gọi `my.startPullDownRefresh` hoặc manual pull down

Animation

TênMô tả
my.createAnimationTạo ra một animation instance

Canvas

TênMô tả
my.createCanvasContextTạo ra canvas drawing context

Keyboard

TênMô tả
my.hideKeyboardẨn bàn phím

Selector Query

TênMô tả
my.createSelectorQueryDùng để tạo SelectorQuery object

Cascade selection

TênMô tả
my.multiLevelSelectTạo component select đa cấp

Multilevel select

TênMô tả
my.multiLevelSelectTạo component select đa cấp

Background

TênMô tả
my.setBackgroundColorThay đổi màu nền của page
my.setBackgroundTextStyleThay đổi font và color của text khi pull down để refresh

Option Selector

TênMô tả
my.optionsSelectDùng để tạo component Select. Bạn có thể tạo component Select 1 cấp hoặc 2 cấp

Page Scroll To

TênMô tả
my.pageScrollToDùng để scroll đến vị trí bất kỳ trong trang

Date Picker

TênMô tả
my.datePickerCho phép user chọn thời gian

Font

TênMô tả
my.loadFontFaceLoad 1 web font

Media

Image

TênMô tả
my.chooseImagedùng để chụp ảnh bằng camera hoặc chọn hình từ album cục bộ
my.compressImageDùng để nén nhiều ảnh (image) cùng một lúc, khiến chúng có dung lượng nhỏ hơn nhưng vẫn giữ nguyên kích thước ban đầu
my.createCropperContextDùng để tạo ra ImageCropperContext - đối tượng cung cấp phương thức giúp bạn điều khiển `image-cropper` component
my.cropImageDùng để crop hình ảnh
my.getImageInfoDùng để lấy thông tin của 1 ảnh (image). Ảnh có thể từ remote, từ đường dẫn cục bộ hoặc từ resources của app
my.previewImageCho phép mở một cửa sổ lớn để xem hình ảnh
my.saveImageDùng để lưu 1 remote image vào gallery của thiết bị di động

Audio

TênMô tả
my.createAudioContextDùng để tạo ra AudioContext - đối tượng quản lý việc phát audio trên Tini App
my.createInnerAudioContextDùng để tạo ra InnerAudioContext - đối tượng cung cấp cho bạn các phương thức và thuộc tính để phát audio nền (background audio) trên Tini App

Video

TênMô tả
my.chooseVideoDùng để quay video hoặc chọn video từ album cục bộ
my.compressVideoDùng để nén video khiến chúng có dung lượng nhỏ hơn
my.createVideoContextdùng để tạo ra VideoContext - đối tuợng quản lý việc phát video. Cụ thể hơn, nó cung cấp các hàm giúp điều khiển `video` component
my.trimVideoCho phép cắt video trong 1 khoảng thời gian

Lottie

TênMô tả
my.createLottieContextDùng để tạo ra LottieContext - đối tượng cung cấp các thuôc tính và phương thức giúp bạn điều khiển `lottie` component

Storage

TênMô tả
my.clearStorageXoá toàn bộ dữ liệu của app
my.getStorageInfoĐọc ra thông tin storage của tiện ích như dung lượng sử dụng hiện tại, giới hạn, các keys đã được lưu
my.getStorageLấy dữ liệu đã được lưu theo key
my.removeStorageXoá dữ liệu đã được lưu theo key
my.setStorageLưu trữ dữ liệu theo key, dữ liệu mới sẽ ghi đè dữ liệu cũ nếu cùng key

Deeplink

TênMô tả
my.openDeeplinkOpen 1 deeplink

File

TênMô tả
my.getFileInfoDùng để lấy thông tin một tập tin cục bộ. Tập tin có thể ở dạng tạm hoặc được lưu
my.getSavedFileInfoDùng để lấy thông tin tập tin được lưu cục bộ. Để lấy thông tin tập tin tạm
my.getSavedFileListDùng để lấy thông tin tất cả các tập tin được lưu cục bộ của Tini App gọi API này
my.openDocumentDùng để xem trước file PDF.
my.removeSavedFileDùng để xoá 1 local cache file
my.saveFileDùng để lưu lại file về thiết bị từ 1 đường dẫn tạm thời (local temporary file)

Geography

Location

TênMô tả
my.getLocationDùng để lấy thông tin vị trí địa lí hiện tại của device

Network

TênMô tả
my.closeSocketDùng để đóng một WebSocket connection được mở trước đó
my.connectSocketDùng để mở websocket connection trên ứng dụng
my.downloadFileDùng để dowload file về máy. File sẽ được lưu trữ tạm ở device
my.offSocketCloseDừng lắng nghe sự kiện đóng WebSocket connection trước đó
my.offSocketErrorDừng lắng nghe sự kiện error được tạo trước đó
my.offSocketMessageDừng lắng nghe sự kiện message được thiết lập trước đó
my.offSocketOpenDừng lắng nghe sự kiện mở WebSocket connection trước đó
my.onSocketCloseLắng nghe sự kiện mở close của WebSocket
my.onSocketErrorLắng nghe sự kiện error trên WebSocket connection
my.onSocketMessageLắng nghe sự kiện message nhận được từ WebSocket Server
my.onSocketOpenLắng nghe sự kiện mở connection của WebSocket
my.requestDùng để thực hiện các network request. Hiện chỉ hỗ trợ những request qua giao thức https
my.sendSocketMessageDùng để gửi dữ liệu thông qua một WebSocket connection
my.uploadFileDùng để upload file từ máy lên server

Device

Screen

TênMô tả
my.getScreenBrightnessDùng để lấy thông tin độ sáng màn hình
my.setKeepScreenOnDùng để giữ màn hình luôn sáng
my.offUserCaptureScreenDừng việc lắng nghe các sự kiện chụp màn hình
my.onUserCaptureScreenLắng nghe các sự kiện chụp màn hình đang hoạt động do người dùng khởi tạo
my.setScreenBrightnessDùng để điều chỉnh độ sáng màn hình

Setting

TênMô tả
my.getSettingLấy thông tin cài đặt. Trả về kết quả cài đặt quyền của người dùng
my.openAppSettingDùng để mở app cài đặt của hệ thống và hiển thị màn hình các cài đặt tuỳ biến của app hiện tại (nếu có)
my.openSettingMở giao diện cài đặt

Network

TênMô tả
my.getNetworkTypeLấy thông tin kết nối mạng của thiết bị
my.offNetworkStatusChangeHuỷ nhận sự kiện thay đổi trạng thái mạng của thiết bị
my.onNetworkStatusChangeNhận sự kiện thay đổi trạng thái mạng của thiết bị

Vibrate

TênMô tả
my.vibrateLongDùng để làm rung thiết bị, với thời gian rung 400ms
my.vibrateShortDùng để làm rung thiết bị, với thời gian rung 40ms
my.vibrateDùng để làm rung thiết bị, với thời gian rung 200ms

Shake

TênMô tả
my.watchShakeDùng để nhận sự kiện lắc thiết bị

Compass

TênMô tả
my.offCompassChangeDừng việc theo dõi dữ liệu compass
my.onCompassChangeTheo dõi các sự kiện thay đổi dữ liệu compass
my.startCompassStart theo dõi dữ liệu compass
my.stopCompassDừng theo dõi dữ liệu compass

Accelerometer

TênMô tả
my.offAcceleronmeterChangeDừng việc theo dõi dữ liệu acceleronmeter
my.onAcceleronmeterChangeTheo dõi các sự kiện thay đổi dữ liệu cảm biến gia tốc
my.startAccelerometerLắng nghe các sự kiện thay đổi dữ liệu cảm biến gia tốc
my.stopAccelerometerDừng lắng nghe các sự kiện thay đổi dữ liệu cảm biến gia tốc

Contact

TênMô tả
my.addPhoneContactDùng để chọn ghi thông tin liên hệ vào sổ địa chỉ của điện thoại dưới dạng "tạo một liên hệ mới" hoặc "thêm vào một liên hệ hiện có"
my.choosePhoneContactDùng để chọn một liên hệ từ Danh bạ trong điện thoại của người dùng
my.makePhoneCallDùng để gọi tới 1 số điện thoại cụ thể

Clipboard

TênMô tả
my.getClipboardDùng để lấy nội dung từ clipboard của thiết bị
my.setClipboardDùng để đưa dữ liệu vào clipboard của thiết bị

Scan

TênMô tả
my.scanQuét mã QR hoặc mã vạch (barcode)

Bio metrics

local-authentication

TênMô tả
my.bioMetrics.localAuthDùng để xác thực người dùng ở mức độ device

server-authentication

TênMô tả
my.bioMetrics.createKeyTạo ra cặp public và private key RSA 2048, được lưu trữ vào keychain của ios hoặc keystore của android
my.bioMetrics.createSignatureTạo ra chuỗi signature từ challenge. Tham khảo full luồng xác thực người dùng bằng biometrics
my.bioMetrics.deleteKeyXoá cặp key đề cập ở my.bioMetrics.createKey
my.bioMetrics.isSupportedKiểm tra thiết bị có sensor của bio metrics hay không và đã cài đặt sẵn 1 trong các loại xác thực face id, touch id hoặc móng mắt (tuỳ thuộc vào thiết bị)... hay chưa
my.bioMetrics.keyExistsKiểm tra thiết bị đã có lưu sẵn cặp key đề cập ở JSAPI my.bioMetrics.createKey

Security Storage

TênMô tả
my.getEncryptedStorageLấy dữ liệu đã được lưu theo key
my.getAllKeysEncryptedStorageLấy toàn bộ key của app
my.removeEncryptedStorageXoá dữ liệu đã được lưu theo key
my.setEncryptedStorageLưu trữ dữ liệu theo key, dữ liệu mới sẽ ghi đè dữ liệu cũ nếu cùng key

Permission

TênMô tả
my.checkNativePermissionsKiểm tra người dùng đã bật các quyền cho Tiki app hay chưa
my.checkNotificationKiểm tra người dùng đã bật notification cho Tiki app hay chưa

Others

TênMô tả
my.getBatteryInfoDùng để lấy thông tin pin của thiết bị
my.getSystemInfoDùng để lấy thông tin của hệ thống

Open

TênMô tả
my.getAddressDùng để chọn một địa chỉ từ Sổ địa chỉ của Tiki. Yêu cầu người dùng phải đăng nhập trước
my.saveAddressDùng để lưu địa chỉ vào Sổ địa chỉ của Tiki. Yêu cầu người dùng phải đăng nhập trước
my.getAuthCodeLấy ra auth code của một user
my.getUserInfoLấy các thông tin cơ bản của users (tên, ảnh, số điện thoại, email và tiki user id)
my.addToCartThêm 1 hoặc nhiều sản phẩm vào giỏ hàng (cart) của Tiki
my.callSecuritySystemXác thực người dùng khi gọi các APIs lấy dữ liệu từ hệ thống Tiki
my.getCartTrả về tổng sản phẩm đang có trong giỏ hàng (cart) của Tiki, được lọc theo sellerId
my.isLoggedInKiểm tra user đã log in hay chưa
my.makePaymentTạo payment
my.openNativeAppStoreDùng để truy cập đến một ứng dụng trên Apple Store hay Google Play Store
my.openScreenDùng để mở 1 số màn hình của Tiki
my.setChatSellerProfileIdDùng để set chat seller profile Id
my.askDownloadNewClientDùng để kiểm tra Tiki App cài trên thiết bị di động có phải là phiên bản mới nhất không

Ads

InterstitialAd

TênMô tả
my.createInterstitialAdHiển thị quảng cáo dạng popup. Khi dùng jsapi này sẽ trả ra 1 instance `interstitial-ad`
TênMô tả
Interstitiad.destroyĐóng quảng cáo
Interstitiad.loadTải quảng cáo
Interstitiad.offCloseHuỷ việc lắng nghe sự kiện quảng cáo bị đóng
Interstitiad.offErrorHuỷ việc lắng nghe sự kiện quảng cáo bị lỗi
Interstitiad.offLoadHuỷ việc lắng nghe sự kiện quảng cáo được load thành công
Interstitiad.onCloseLắng nghe sự kiện quảng cáo bị đóng
Interstitiad.onErrorLắng nghe sự kiện hiển thị quảng cáo bị lỗi
Interstitiad.onLoadLắng nghe sự kiện quảng cáo được load thành công
Interstitiad.showHiển thị quảng cáo

Analytics

TênMô tả
my.reportAnalyticsGhi nhận dữ liệu của một số sự kiện tuỳ chỉnh