다음을 통해 공유


RTA 서비스의 모범 사례

이 항목을 사용하여 타이틀에 대한 RTA(실시간 활동) 서비스를 최대한 활용할 수 있습니다.

기본 사항

RTA는 WebSocket 세션을 사용하여 클라이언트와의 영구 연결을 만듭니다. 서비스가 사용자에게 통계를 제공하는 방법입니다. 클라이언트가 인증된 연결 요청을 보낼 때 RTA는 제공된 토큰을 사용하여 연결을 만들 수 있는지 확인한 다음 설정을 합니다.

연결이 설정되면 앱에서 특정 통계를 구독하도록 요청할 수 있습니다. 성공적인 구독에서 RTA는 응답 페이로드의 일부로 현재 값과 통계 유형과 같은 일부 추가 메타데이터를 반환합니다. RTA는 클라이언트를 구독하는 동안 발생하는 모든 통계 업데이트를 전달합니다.

타이틀은 통계에 대한 실시간 업데이트가 필요하지 않은 경우 해당 통계 추적을 중지합니다.

연결 해제

사용자에 대한 인증 토큰이 만료되면 서비스에서 세션을 종료합니다. 이러한 경우 타이틀이 적절하게 작동해야 합니다. RTA 연결은 설계에 따라 2시간 후에 종료가 되어 클라이언트가 강제로 다시 연결하도록 합니다. 이는 메시지 대역폭을 저장하는 연결 캐싱에 대한 인증 토큰 때문입니다. 결국 해당 토큰은 만료됩니다. 연결을 종료하고 클라이언트로 하여금 강제로 다시 연결하게 함으로써, 클라이언트는 인증 토큰을 새로 고칩니다. XSAPI(Xbox 서비스 API)는 RTA에 사전에 다시 연결하고 90분 후에 구독을 다시 제출하여 타이틀에 대한 인증 토큰 새로 고침을 처리합니다. 사용자의 ISP 문제 또는 타이틀의 프로세스가 일시 중단되는 경우 클라이언트와의 연결이 끊어질 수 있습니다.

이러한 각 경우에 RTA 연결 상태에 대해 등록된 타이틀이 이벤트를 변경하면 연결 끊기 이벤트가 발생합니다.

참고 항목

일반적으로 연결이 끊김 시 타이틀에서 아무런 조치도 필요하지 않지만 타이틀은 RTA 연결이 끊어졌음을 반영하도록 UI를 업데이트하려고 할 수 있습니다.

XSAPI는 자동으로 WebSocket 연결을 다시 설정하려고 하고 기존 RTA 서비스 구독을 유지합니다.

참고 항목

클라이언트가 멀티 플레이어 세션에 RTA를 사용하고 30초 동안 연결이 끊어진 경우 MPSD(멀티 플레이어 세션 디렉터리)는 RTA 세션이 종료된 것을 감지하고 사용자를 세션에서 제외합니다. XSAPI에서 RTA 연결을 자동으로 다시 설정하지만 RTA 구독이 다시 설정되면 타이틀이 MPSD 세션을 다시 작성해야 합니다.

MPSD에 대한 자세한 내용은 멀티 플레이어 세션 디렉터리 개요를 참조하세요.

구독 취소

불필요한 실시간 업데이트에 대한 통계는 추적하지 않는 것이 좋습니다. 추적된 각 통계는 RTA 구독에 해당하며, 서비스는 사용자가 타이틀당 보유할 수 있는 구독 수를 제한합니다. 모든 항목을 구독하는 경우 해당 제한에 도달할 수 있으며 이로 인해 중요한 통계를 구독할 수 없게 됩니다.

예를 들어 타이틀은 특정 장면 내에 있는 통계에 대한 업데이트만 필요로 할 수 있습니다. 사용자가 해당 장면에 진입하면 타이틀은 해당 통계를 추적해야 합니다. 사용자가 해당 장면을 벗어나면 타이틀이 해당 통계 추적을 중지해야 합니다. 마찬가지로 통계가 변경되면 알림이 필요하지 않습니다. 모든 통계 변경 처리기를 제거하면 XSAPI가 관련 RTA 구독을 자동으로 중단합니다.

구독 제한에 대한 자세한 내용은 이 항목의 뒷부분에 있는 제한 섹션을 참조하세요.

큐에 숨어 있는 항목에 대한 인식

통계에서 구독을 취소하는 경우 아직 클라이언트에 도달하는 프로세스에 있는 통계에 대한 업데이트가 있을 수 있습니다. 따라서 타이틀이 통계에서 구독을 취소한 경우에도 해당 통계와 관련된 업데이트가 한두 개 있을 수 있습니다.

구독 식별자가 인식되지 않는 경우 통계 업데이트를 무시하는 것이 좋습니다.

이해할 수 없는 메시지 무시

메시지 프로토콜을 업데이트할 수 있습니다. 앱을 새 메시지에 관계없이 유지하려면 타이틀에서 알 수 없는 메시지 유형을 삭제하는 것이 좋습니다.

제한

RTA는 1000의 UserStats 제한과 2500의 Presence 제한을 적용합니다.

클라이언트가 이 제한에 도달하면 구독 또는 구독 취소 호출의 일부로 오류를 수신하거나 연결이 해제됩니다. 두 경우 모두 도달한 제한에 대한 자세한 내용은 오류 또는 연결 해제 메시지와 함께 클라이언트에 제공됩니다.

타이틀을 개발할 때는 이러한 개념을 염두에 두어야 합니다. 극단적인 작업을 수행하는 경우 서비스가 호출을 제한할 수 있으므로 앱 환경이 저하될 수 있습니다.

RTA의 현재 릴리스에서는 앱 인스턴스당 1,000개의 통계를 구독할 수 있습니다. 또한 앱 인스턴스는 현재 상태 업데이트에 대한 사용자의 전체 친구 목록 길이를 구독할 수도 있습니다. 이 숫자는 이후 릴리스에서 변경될 수 있습니다.

참고 항목

실시간 활동 서비스 개요
플레이어 통계 변경 알림 등록
XSAPI 시작