UWP 권한 확인 함수 설명
uwp_check_privilege
함수는 특정 사용자가 선택한 권한을 가지고 있는지 확인하는 기능을 제공합니다. 이 함수는 권한이 활성화되어 있는지 여부에 따라 시스템 비동기 이벤트에서 true 또는 false를 반환합니다. 만약 attempt_resolution
인자를 true로 설정하고 권한이 활성화되어 있지 않다면, 시스템 대화 상자가 열려 사용자가 계정을 업그레이드하거나 권한을 얻기 위해 필요한 조치를 취하도록 안내합니다. 사용자가 필요한 옵션을 활성화하면 함수는 true를 반환합니다.
사용 가능한 UWP 권한 상수
다음은 권한 요청에 사용할 수 있는 UWP 권한 상수입니다:
상수 이름 | 설명 |
---|---|
uwp_privilege_internet_browsing |
인터넷 브라우징이 허용되는지 확인 |
uwp_privilege_social_network_sharing |
소셜 네트워크 공유가 허용되는지 확인 |
uwp_privilege_share_kinect_content |
Kinect 컨트롤러 공유가 허용되는지 확인 |
uwp_privilege_video_communications |
비디오 통신이 허용되는지 확인 |
uwp_privilege_communications |
인터넷 통신이 허용되는지 확인 |
uwp_privilege_user_created_content |
사용자 생성 콘텐츠 접근이 허용되는지 확인 |
uwp_privilege_multiplayer_sessions |
온라인 멀티플레이어 세션이 허용되는지 확인 |
uwp_privilege_sessions |
온라인 세션이 허용되는지 확인 |
uwp_privilege_fitness_upload |
피트니스 데이터 업로드가 허용되는지 확인 |
함수 호출 후 이벤트 처리
함수가 호출되면, Xbox One에서는 비동기 시스템 이벤트가 트리거됩니다. 이 이벤트는 특별한 DS 맵 async_load
를 포함하며, 다음과 같은 키를 파싱해야 합니다:
"event_type"
: 이 값은"check_privilege_result"
여야 합니다.
이벤트 타입이 이 함수와 관련이 있다면, Xbox에서 함수가 호출될 때 다음과 같은 추가 키가 포함됩니다:
키 | 설명 |
---|---|
"result" |
다음 중 하나 이상의 UWP 권한 결과 상수 (조합된 값) |
"privilege" |
요청한 권한 상수 |
UWP 권한 결과 상수
상수 이름 | 설명 | 값 |
---|---|---|
uwp_privilege_result_no_issue |
사용자에게 권한 문제가 없음 | 0 |
uwp_privilege_result_purchase_required |
사용자가 추가 구매가 필요함 (보통 구독) | 1 |
uwp_privilege_result_aborted |
체크가 중단됨 | 2 |
uwp_privilege_result_banned |
사용자가 금지됨 | 4 |
uwp_privilege_result_restricted |
사용자가 접근이 제한됨 (보통 부모 통제) | 8 |
함수 사용법
함수의 구문은 다음과 같습니다:
uwp_check_privilege(user_id, privilege, attempt_resolution);
인자 설명
인자 이름 | 타입 | 설명 |
---|---|---|
user_id |
Xbox 사용자 ID | 확인할 사용자 ID 포인터 |
privilege |
UWP 권한 상수 | 확인할 권한 상수 |
attempt_resolution |
Boolean | true로 설정하면 해결 시도를 활성화, false로 설정하면 무시 |
반환 값
- -1: 사용자가 권한이 없음
- 0: 함수가 사용자 쿼리를 수행할 수 없음
- 1: 사용자가 권한이 있음
활용 예제
다음은 사용자가 로그인했는지 확인하고, 로그인된 경우 멀티플레이어 세션 권한을 확인하는 예제입니다:
var user_one = xboxlive_get_user(0);
if (xboxlive_user_is_signed_in(user_one)) {
uwp_check_privilege(user_one, xboxlive_privilege_multiplayer_sessions, true);
}
이 예제는 사용자가 로그인했는지 확인한 후, 로그인된 경우 멀티플레이어 세션 권한을 확인합니다.