세션 - iOS SDK

이 문서에서는 Google 모바일 앱 애널리틱스와 iOS용 Google 애널리틱스 SDK v2의 세션을 개략적으로 설명하고 앱에서 세션을 관리하는 데 사용할 수 있는 다양한 방법을 설명합니다.

개요

세션은 앱과 사용자의 단일 상호작용 기간을 나타냅니다. 세션은 화면 조회수, 이벤트, 전자상거래 데이터를 포함하여 측정된 활동의 유용한 컨테이너 역할을 합니다.

기본적으로 Google 애널리틱스는 서로 30분 이내에 수신된 조회를 동일한 세션으로 그룹화합니다. 그러나 많은 개발자는 앱이 백그라운드 상태일 때와 앱 실행 시간 등 앱의 상태를 고려하는 추가 세션 관리 레이어를 구현하기를 원할 수 있습니다.

이 문서의 나머지 부분에서는 로직을 구현하는 데 사용할 수 있는 메서드를 설명합니다. EasyTracker에서 제공하는 완전 자동화된 세션 관리에서 직접 세션 관리 로직을 빌드하거나 두 가지를 혼합하여 사용할 수도 있습니다.

세션 관리

다음 섹션에서는 앱에서 세션을 관리하는 데 사용할 수 있는 메서드를 설명합니다.

자동화된 세션 관리

iOS용 Google 애널리틱스 SDK는 새 세션 시작 작업을 처리할 수 있는 자동화된 세션 관리를 제공합니다. 다음은 자동화된 세션 관리의 작동 방식에 대한 개요입니다.

  • 기본 구현의 세션 시간 제한 기간은 30초입니다. setSessionTimeout:(NSTimeInterval)를 호출하여 제한 시간을 변경할 수 있습니다.
      [tracker setSessionTimeout:60];
  • 앱이 세션 제한 시간보다 오랫동안 백그라운드에서 남아 있으면 다음 조회는 새 세션의 일부가 됩니다.

수동 세션 관리

앱의 수명 주기에서 주요 이벤트에서 수동으로 새 세션을 시작하는 것이 유용할 수 있습니다.

예를 들어 사용자가 앱에 성공적으로 로그인할 때마다 수동으로 새 세션을 시작할 수 있습니다. 사용자의 앱 사용 의도가 변경되었거나 다른 사용자 알고리즘일 수 있으므로 로그인 시 새 세션을 시작하면 사용 데이터를 별도로 유지하고 보고서에서 더 쉽게 이해할 수 있습니다.

새 세션을 시작하려면 sessionStartYES로 설정합니다. 이렇게 하면 전송된 새 조회에 새 세션을 시작해야 함을 나타내는 매개변수가 추가됩니다.

아래 예시에서는 사용자가 앱에 성공적으로 로그인할 때마다 onSignIn가 호출된다고 가정합니다.

// Called after a user successfully signs in to your app.
- (void)onSignIn {
  ... // The rest of your onSignIn code.
  tracker.sessionStart = YES;
  [tracker sendEventWithCategory:@"app_flow"
                      withAction:@"sign_in"
                       withLabel:nil
                       withValue:nil]; // First activity of new session.

}