디스패치 - iOS SDK

이 문서에서는 iOS용 Google 애널리틱스 SDK v2를 사용하여 Google 애널리틱스로 데이터 전달을 관리하는 방법을 설명합니다.

개요

iOS용 Google 애널리틱스 SDK에서 화면 조회수 또는 이벤트와 같이 수집된 데이터는 Google 애널리틱스 서버로 전송되기 전에 큐에 로컬로 저장됩니다. 이러한 데이터('조회'라고 함)가 SDK에서 Google 애널리틱스로 전송되는 과정을 디스패치라고 합니다.

디스패치는 모바일 컬렉션 라이브러리에서만 고유하며 불안정한 네트워크 액세스와 제한된 배터리 수명으로 인한 문제를 완화하도록 설계되었습니다.

디스패치에는 두 가지 유형이 있습니다.

  • 주기적 전달 – 지정한 반복 간격으로 조회를 자동으로 전달합니다.
  • 수동 전달 – 기존 HTTP 연결이 있는 경우와 같이 편의에 따라 조회를 수동으로 전달하여 데이터를 전송합니다.

이 문서의 나머지 부분에서는 각 디스패치 유형과 앱에서 이를 구현하는 방법을 자세히 설명합니다.

정기적인 전달

앱에서 GA 데이터를 수집하면 해당 데이터가 큐에 추가되고 주기적으로 Google 애널리틱스로 전송됩니다. 주기적 전달은 앱이 포그라운드 또는 백그라운드에서 실행 중일 때 발생할 수 있습니다.

기본 전달 기간은 2분입니다. 이 예시와 같이 setDispatchPeriod:(NSTimeInterval)를 호출하여 자체 간격을 초 단위로 제공할 수 있습니다.

[[GAI sharedInstance] setDispatchPeriod:60];

음수 값을 설정하면 주기적 전달이 사용 중지되므로 Google 애널리틱스로 데이터를 전송하려면 수동 전달을 사용해야 합니다. 반면에 0 값을 설정하면 네트워크 연결을 사용할 수 있으면 각 조회를 즉시 전달합니다.

모든 조회가 전달되면 주기적인 전달은 절전 모드로 전환되며 다른 전송 호출이 이루어질 때까지 사용 중지됩니다.

전달 대기 중인 조회가 아직 있는 동안 사용자가 네트워크 액세스를 상실하거나 앱을 종료하는 경우 이러한 조회는 로컬 저장소에 유지됩니다. 다음에 앱이 실행되고 전달이 호출되면 전달됩니다.

수동 디스패치

정기적인 전달에 의존하는 것 외에도 조회를 수동으로 전달하려는 경우가 있을 수 있습니다. 예를 들어 디스패치를 애플리케이션의 다른 HTTP 요청과 함께 번들로 묶어 오버헤드를 줄일 수 있습니다.

아래와 같이 dispatch를 호출하여 조회를 수동으로 전달할 수 있습니다.

[[GAI sharedTracker] dispatch];