tencent cloud

Chat

제품 소개
제품 개요
Basic Concepts
응용 시나리오
기능 소개
계정 시스템
사용자 정보 및 관계망
메시지 관리
그룹 시스템
Official Account
Audio/Video Call
사용 제한
구매 가이드
과금 개요
요금 안내
Purchase Instructions
Renewal Guide
연체 안내
Refund Policy
다운로드 센터
SDK & Demo 소스 코드
업데이트 로그
시나리오 솔루션
Live Streaming Setup Guide
AI Chatbot
대규모 엔터테인먼트 협업 커뮤니티
Discord 구현 가이드
IM을 게임에 통합하는 방법
WhatsApp Channel-style Official Account Integration Solution
Send Red Packet
Firewall Restrictions
클라이언트 APIs
SDK API(Web)
Android
iOS & macOS
Swift
Flutter
Electron
Unity
React Native
C APIs
C++
서버 APIs
Secure authentication with UserSig
RESTful APIs
Webhooks
콘솔 가이드
New Console Introduction
애플리케이션 생성 및 업그레이드
기본 설정
기능 설정
계정 관리
그룹 관리
Official Channel Management
콜백 설정
모니터링 대시보드
Viewing Guide for Resource Packages
Real-Time Monitor
개발 보조 툴
액세스 관리
Advanced Features
FAQ
uni-app FAQs
구매
SDK 관련 질문
계정 인증
사용자 정보 및 관계망
메시지
그룹
라이브 방송 그룹
닉네임 및 프로필 사진
협약 및 인증
Service Level Agreement
컴플라이언스 인증
IM 정책
개인 정보 보호 정책
데이터 개인 정보 보호 및 보안 계약
에러 코드
문의하기

온라인 상태 관리

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2023-03-22 16:08:50

개념

사용자 상태 유형은 다음 세 가지가 있습니다.
포그라운드에서 실행(Online)
백그라운드에서 실행(PushOnline)
로그인하지 않음(Offline)
주의:
백그라운드 실행(PushOnline) 상태는 모바일 클라이언트(Android, iOS, iPad)에만 존재하며, PC, Mac, Linux 또는 Web 클라이언트에는 존재하지 않습니다.

포그라운드 실행 상태(Online)

온라인 상태(Online)는 클라이언트와 IM 서버 간에 원활한 TCP 연결이 유지됨을 의미합니다. 이 조건에서 클라이언트는 IM 서버에 메시지를 보내고 여기에서 메시지를 받을 수 있습니다.
사용자가 App을 열면 상태는 Online이 됩니다.
App이 시작되면 클라이언트와 IM 서버 간에 TCP 영구 연결이 설정됩니다. IM 서버는 네트워크 링크, 플랫폼 및 버전과 같은 클라이언트의 온라인 정보를 저장합니다. App이 실행 중일 때 IM SDK는 정기적으로 하트비트를 보내 사용자의 온라인 상태를 확인합니다.
설명:
하트비트: 2분마다 IM SDK는 서버에 하트비트 패킷을 전송하여 사용자의 온라인 상태를 확인합니다.

백그라운드에서 실행(PushOnline)

클라이언트가 PushOnline 상태이면 클라이언트와 IM 서버 간의 TCP 영구 연결이 끊어집니다. 이 경우 오프라인으로 푸시된 메시지를 수신할 수 있습니다. 다음 시나리오에서 사용자의 상태는 PushOnline입니다.
App 사용 후 사용자가 App을 백그라운드로 전환한 후 휴대폰 운영체제(OS)에 의해 App 프로세스가 kill되거나 사용자가 직접 App 프로세스를 kill합니다. App이 휴대폰 OS의 연결 유지 얼로우리스트에 있는 경우 OS는 사용자가 App을 백그라운드로 전환한 후에도 App 프로세스를 kill하지 않습니다. 이 경우 상태는 여전히 온라인입니다. Online과 PushOnline을 구별하는 한 가지 기준은 App 프로세스가 kill되었는지 여부, 즉 클라이언트와 IM 서버 간의 TCP 영구 연결이 끊어졌는지 여부입니다.
사용자가 네트워크에서 클라이언트 연결을 끊거나(예: 휴대폰에서 비행 모드를 활성화하여) 클라이언트의 네트워크를 완전히 사용할 수 없습니다(예: 사용자가 터널에 들어갈 때). 이러한 상황에서 클라이언트는 TCP FIN 또는 RST 패킷을 보낼 수도 없으며 하트비트 패킷이 시간 초과되기까지 400초가 걸립니다. 그 후 사용자의 상태는 PushOnline으로 변경됩니다.
주의:
PushOnline 상태는 모바일 클라이언트(Android, iOS, iPad)에만 존재하며 PC, Mac, Linux, 미니 프로그램 및 Web 클라이언트에는 존재하지 않습니다.

로그인하지 않음(Offline)

Offline은 사용자가 로그인을 위해 사용자 이름과 비밀번호를 입력하기 전의 상태를 말합니다. 이 경우 사용자는 온라인 및 오프라인 메시지 푸시를 받을 수 없습니다. 다음 시나리오에서 사용자의 상태는 Offline 상태입니다.
사용자가 App을 다운로드한 후 로그아웃했거나 App에 로그인하지 않았습니다.
사용자의 상태가 PushOnline으로 변경된 후 7일 이내에 사용자가 다시 로그인하지 않습니다. 이 경우 상태가 Offline으로 변경됩니다.

사용자의 온라인 상태 쿼리

App 백엔드는 REST API: 계정 온라인 상태 쿼리를 통해 여러 사용자의 온라인 상태를 쿼리할 수 있습니다. 현재 IM SDK는 사용자의 온라인 상태를 가져올 수 없습니다.

사용자 온라인 상태 변경 알림

IM은 App 백엔드에 사용자 로그인 및 로그아웃 이벤트를 알릴 수 있습니다. 자세한 내용은 상태 변경 콜백을 참고하십시오.

실시간 상태 변화 감지

Android/iOS/iPad/PC/Mac/Linux

대부분의 경우 사용자 상태 변화를 실시간으로 감지할 수 있습니다. 예시:
사용자가 로그인하면 사용자의 상태가 Online으로 변경됩니다.
사용자가 로그아웃하면 사용자의 상태가 Offline으로 변경됩니다.
사용자가 클라이언트 프로세스를 kill하거나, 사용자가 앱을 백그라운드로 전환하고 클라이언트 프로세스가 휴대폰 OS에 의해 kill되면 사용자의 상태가 PushOnline으로 변경됩니다.
다음과 같은 특별 상황에서 하트비트가 시간 초과되기까지 400초가 걸립니다. 그 후 IM CVM 인스턴스는 상태 변화를 감지할 수 있습니다. 네트워크를 완전히 사용할 수 없고 클라이언트가 TCP FIN 또는 RST 패킷을 보낼 수도 없는 경우 하트비트 시간이 초과되기까지 400초가 걸립니다. 그 후 IM CVM 인스턴스는 사용자의 상태가 PushOnline으로 변경되었음을 인식할 수 있습니다. 이는 일반적으로 사용자가 네트워크에서 클라이언트 연결을 끊거나(예: 휴대폰에서 비행 모드를 활성화하여) 네트워크 신호가 없는 터널에 들어갈 때 발생합니다.

Web

사용자가 Web 클라이언트에 로그인하면 IM CVM은 사용자의 상태가 Online으로 변경되는 것을 실시간으로 감지할 수 있습니다.
다양한 종료/연결 해제 시나리오에서 상태 변경의 적시성은 다음과 같습니다.
페이지 닫힘을 실시간으로 감지할 수 있으며 사용자의 상태가 Offline으로 변경됩니다.
페이지가 닫히지 않으면 네트워크 연결 끊김이 감지되기까지 60s가 걸리며 사용자의 상태는 Offline으로 변경됩니다.
적극적으로 destroy API를 호출하는 것은 실시간으로 감지할 수 있으며 상태는 Offline으로 변경됩니다.

미니프로그램

사용자가 미니 프로그램 클라이언트에 로그인하면 IM CVM은 사용자의 상태가 Online으로 변경되는 것을 실시간으로 감지할 수 있습니다.
다양한 종료/연결 해제 시나리오에서 상태 변경의 적시성은 다음과 같습니다.
사용자가 종료하기 위해 오른쪽 상단 모서리를 클릭하면 Offline으로 상태가 변경되는 것을 5s 안에 감지할 수 있습니다.
사용자가 인터넷에서 클라이언트 연결을 끊으면(예: 전화에서 비행 모드를 활성화하여) Offline으로의 상태 변경이 감지되기까지 60s가 걸립니다.
적극적으로 destroy API를 호출하는 것은 실시간으로 감지할 수 있으며 상태는 Offline으로 변경됩니다.

멀티 디바이스 로그인

강제 오프라인

기본적으로 IM SDK는 멀티 디바이스 로그인(예: PC 및 Android 디바이스에서 동시 로그인)을 허용하지 않습니다. 대신 이전 온라인 디바이스를 강제로 오프라인으로 전환하고 마지막으로 로그인한 장치만 온라인 상태를 유지하도록 허용합니다. 강제 오프라인 로직에 대한 자세한 내용은 다음을 참고하십시오.

동시 접속

IM을 사용하면 콘솔에서 동시 접속 정책을 수정할 수 있습니다. 현재 다음 멀티 클라이언트 동시 접속 정책이 지원됩니다.
단일 플랫폼 로그인: 사용자는 Android, iPhone, iPad, Windows, Mac, Web 플랫폼에서만 온라인 상태일 수 있습니다.
듀얼 플랫폼 로그인: 사용자는 Android, iPhone, iPad, Windows, Mac 플랫폼과 Web 플랫폼에서 동시에 온라인 상태가 될 수 있습니다.
트리플 플랫폼 로그인: 사용자는 Android, iPhone 또는 iPad 플랫폼, Windows 또는 Mac 플랫폼 및 Web 플랫폼에서 동시에 온라인 상태일 수 있습니다.
멀티 플랫폼 로그인: 사용자는 Android, iPhone, iPad, Windows, Mac 및 Web 플랫폼에서 동시에 온라인 상태가 될 수 있습니다.
기본적으로 사용자는 각 플랫폼에 대해 하나의 장치에서만 온라인 상태가 될 수 있습니다(예를 들어, 하나의 Android 클라이언트는 다른 Android 클라이언트를 강제로 오프라인으로 전환함). 플래그십 버전 사용자의 경우 Android, iPhone, iPad, Windows 또는 Mac 플랫폼에서 로그인할 수 있는 최대 인스턴스 수를 구성할 수 있습니다. 또한 모든 사용자가 Web 플랫폼에서 로그인할 수 있는 최대 인스턴스 수를 구성할 수 있습니다.
동시 접속은 사용자 경험을 향상시키는 핵심 툴입니다. 사용자가 동일한 플랫폼에서 여러 장치에 로그인할 때 강제 로그아웃이 발생하지 않도록 특정 플랫폼에 대한 최대 동시 로그인 수를 구성할 수 있습니다.
설명:
‘동일한 플랫폼의 멀티 디바이스 동시 접속’ 기능은 IM 플래그십 버전에서만 사용할 수 있습니다. 플래그십 버전 구매 후 사용할 수 있습니다. 자세한 내용은 과금 개요를 참고하십시오. )。

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백