authorize
Bắt đầu hỗ trợ ở phiên bản:
- SDK: 2.34.0
- Android: 724 (23.12.02)
- IOS: 573 (23.12.02)
Cấp quyền sử dụng API.
Một số API cần sự cho phép của người dùng trước khi có thể được gọi. Các API này được chia thành nhiều phạm vi (Scope) tương ứng với từng mục đích sử dụng, mô tả chi tiết tham khảo bảng Scopes.
Khi một API như vậy được gọi:
- Nếu người dùng chưa chấp nhận hoặc từ chối, một cửa sổ pop-up sẽ xuất hiện để hỏi người dùng có muốn chấp nhận không. API chỉ có thể được gọi sau khi người dùng bấm chấp nhận.
- Nếu người dùng đã chấp nhận cho phép, API có thể được gọi trực tiếp.
- Nếu người dùng từ chối cho phép, callback lỗi sẽ được trả về.
Developer có thể sử dụng api authorize để chủ động khởi tạo yêu cầu cấp quyền đối với người dùng khi cần, hỗ trợ xin tối đa 3 quyền (đã bao gồm quyền User Authen).

Lấy trạng thái của scope:
Developer có thể sử dụng api getSetting để lấy trạng thái cho phép hiện tại của người dùng.
Quản lý cấp/thu hồi quyền cho người dùng
Developer có thể gọi api openPermissionSetting để mở cài đặt và hướng dẫn người dùng bật/tắt cho phép API.

Thời gian hiệu lực
Sau khi user đồng ý hoặc từ chối cấp quyền, trạng thái cấp quyền sẽ được ghi nhận và đồng bộ cho những lần sử dụng sau này.
Best Practices
- Chỉ khởi tạo yêu cầu cấp quyền khi cần thiết, giải thích rõ ràng lý do tại sao bạn muốn sử dụng nó trong yêu cầu cấp quyền.
- Sử dụng api getSetting trước để lấy trạng thái cho phép hiện tại của người dùng, sau đó yêu cầu xin cấp thêm các quyền còn thiếu.
Object object
Property | Type | Default | Required | Description | Minimum Version |
---|---|---|---|---|---|
scopes | Array[string] | Danh sách các quyền cần cần được cấp, tham khảo bảng Scopes. | |||
success | function | Callback function khi gọi api thành công | |||
fail | function | Callback function khi gọi api thất bại |
Return Values
Promise<Object data>
Property | Type | Description | Minimum Version |
---|---|---|---|
scope.userInfo | boolean | Trạng thái quyền thông tin user | |
scope.userLocation | boolean | Trạng thái quyền vị trí user | |
scope.userPhonenumber | boolean | Trạng thái quyền số điện thoại |
Scopes
Scope | Corresponding APIs | Description | Minimum Version |
---|---|---|---|
scope.userInfo | getUserInfo | Thông tin user (tên, avatar...) | |
scope.userLocation | getLocation | Thông tin vị trí user | |
scope.userPhonenumber | getPhoneNumber | Số điện thoại |
Sample Code
Khởi tạo cấp quyền
import { authorize } from "zmp-sdk/apis";
authorize({
scopes: ["scope.userLocation", "scope.userPhonenumber"],
success: (data) => {
// xử lý khi gọi api thành công
console.log(data);
},
fail: (error) => {
// xử lý khi gọi api thất bại
console.log(error);
}
});
Hoặc
import { authorize } from "zmp-sdk/apis";
const authorizeUser = async () => {
try {
const data = await authorize({
scopes: ["scope.userLocation", "scope.userPhonenumber"]
});
console.log(data);
} catch (error) {
// xử lý khi gọi api thất bại
console.log(error);
}
};