Google Play 게임즈 C++ SDK

요약

조직

Play 게임즈 서비스 기능의 기본 진입점은 GameServices 클래스입니다. GameServices 인스턴스는 GameServices::Builder로 생성됩니다. GameServices를 참고하세요.

전체 GameServices 세션의 상태에 액세스하거나 이를 변경하는 메서드는 GameServices 클래스 자체에 있습니다.

다른 기능은 기능별 관리자 집합을 통해 간접적으로 제공됩니다. 이러한 관리자는 관련 기능을 그룹화합니다. 여기에는 사용자가 볼 수 있는 상태가 없습니다. Manager는 참조로 반환되며 포함된 GameServices 인스턴스에 의해 수명이 제어됩니다. 따라서 클라이언트 코드는 관리자 참조를 보유해서는 안 되며 대신 GameServices 인스턴스를 보유해야 합니다. 관리자를 참고하세요.

데이터는 변경할 수 없는 값 유형 객체를 통해 반환됩니다. 이러한 값은 쿼리가 실행된 시점에서 기본 데이터의 일관된 뷰를 반영합니다. 값 유형을 참고하세요.

스레딩 모델

달리 명시되지 않는 한 모든 GameServices 메서드와 Manager 메서드는 스레드로부터 안전하고 비동기식입니다. 외부 잠금 없이 모든 스레드에서 호출될 수 있으며 호출 순서와 일치하는 순서대로 실행됩니다. 일반적으로 뮤테이터 메서드 (상태를 변경하는 메서드)는 파이어 앤 포겟 모델을 사용합니다. Accessor 메서드(상태를 읽는 메서드)에는 두 개의 주요 변형이 있습니다. 첫 번째 변형 (GetProperty와 같은 이름)은 제공된 콜백에 비동기적으로 결과를 제공합니다. 두 번째 변형 (GetPropertyBlocking과 같은 이름)은 호출 스레드에 동기적으로 결과를 반환합니다. 접근자는 이전에 호출된 모든 변형자의 결과를 확인할 수 있지만, 변형자가 특정 시점에 원격 게임 서비스 상태를 수정했을 수도 있고 수정하지 않았을 수도 있습니다.

모든 사용자 콜백 (액세스 메서드의 인수로 제공되는 일회성 콜백이든 GameServices 빌드 시간에 구성된 다중 사용 콜백이든)은 전용 콜백 스레드에서 호출됩니다. 이 스레드는 '기본 스레드' 또는 'UI 스레드'의 플랫폼 개념과 다를 수 있습니다. 콜백 스레드가 중단되면 로그아웃 요청 완료 지연과 같이 사용자에게 보이는 문제가 발생할 수 있으므로 사용자 콜백은 빠르게 실행되어야 합니다.

변경 불가능한 값 유형의 속성은 차단 없이 동기식으로 사용할 수 있습니다.