Nhảy tới nội dung

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).

Multi_API_Request

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.

permission_settings

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

PropertyTypeDefaultRequiredDescriptionMinimum Version
scopesArray[string]Danh sách các quyền cần cần được cấp, tham khảo bảng Scopes.
successfunctionCallback function khi gọi api thành công
failfunctionCallback function khi gọi api thất bại

Return Values

Promise<Object data>

PropertyTypeDescriptionMinimum Version
scope.userInfobooleanTrạng thái quyền thông tin user
scope.userLocationbooleanTrạng thái quyền vị trí user
scope.userPhonenumberbooleanTrạng thái quyền số điện thoại

Scopes

ScopeCorresponding APIsDescriptionMinimum Version
scope.userInfogetUserInfoThông tin user (tên, avatar...)
scope.userLocationgetLocationThông tin vị trí user
scope.userPhonenumbergetPhoneNumberSố đ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);
}
};