콘텐츠로 건너뛰기

gRPC Transport

PushwooshGRPC 모듈은 Pushwoosh 서버와의 통신을 위한 네트워크 성능을 향상시킬 수 있는 선택적 gRPC 전송 계층을 제공합니다. 사용 가능한 경우, SDK는 지원되는 API 메서드에 대해 자동으로 gRPC를 사용하고 gRPC를 사용할 수 없는 경우 REST로 대체됩니다.

작동 방식

Anchor link to

기본적으로 Pushwoosh SDK는 HTTPS를 통해 REST API를 사용하여 서버와 통신합니다. PushwooshGRPC 모듈은 다음과 같은 여러 장점을 제공하는 대체 gRPC 전송을 추가합니다:

  • 더 낮은 지연 시간 — gRPC는 영구 연결이 있는 HTTP/2를 사용합니다
  • 더 작은 페이로드 크기 — Protocol Buffers는 JSON보다 더 압축적입니다
  • 멀티플렉싱 — 단일 연결을 통해 여러 요청을 보낼 수 있습니다

자동 대체

Anchor link to

이 모듈에는 내장된 복원 기능이 포함되어 있습니다:

시나리오동작
gRPC 사용 가능gRPC 전송 사용
gRPC 사용 불가REST로 대체
네트워크 오류REST로 재시도

요구 사항

Anchor link to
요구 사항버전
iOS13.0+
Xcode14.0+
Swift5.0+

Swift Package Manager

Anchor link to

Pushwoosh SDK를 통합할 때 타겟에 PushwooshGRPC를 추가하세요:

  1. Xcode에서 File → Add Package Dependencies로 이동합니다
  2. 패키지 URL을 입력합니다: https://github.com/Pushwoosh/Pushwoosh-XCFramework
  3. 필수 프레임워크 외에 PushwooshGRPC를 선택합니다
  • PushwooshFramework
  • PushwooshCore
  • PushwooshBridge

Podfile에 gRPC 하위 스펙을 추가합니다:

target 'MyApp' do
use_frameworks!
pod 'PushwooshXCFramework'
pod 'PushwooshXCFramework/PushwooshGRPC'
end

그런 다음 실행합니다:

Terminal window
pod install

코드 변경이 필요 없습니다. 프로젝트에 PushwooshGRPC 모듈을 추가하면 자동으로 작동합니다:

  1. 앱 실행 시 SDK는 gRPC 전송이 사용 가능한지 감지합니다
  2. 가능한 경우 API 호출은 gRPC를 통해 라우팅됩니다
  3. gRPC가 실패하면 SDK는 자동으로 REST로 대체됩니다

지원되는 메서드

Anchor link to

다음 API 메서드는 gRPC 전송을 지원합니다:

메서드gRPC 지원
기기 등록
태그 (설정/가져오기)
앱 열기 추적
푸시 통계

사용 사례

Anchor link to

PushwooshGRPC 모듈은 특히 다음과 같은 경우에 유용합니다:

  • 고빈도 이벤트 추적 — 많은 이벤트를 보내는 앱의 오버헤드 감소
  • 실시간 애플리케이션 — 시간에 민감한 작업의 지연 시간 감소
  • 대역폭이 제한된 환경 — 더 작은 페이로드 크기로 데이터 절약

문제 해결

Anchor link to

모듈 활성화 확인

Anchor link to

앱이 실행될 때 Xcode 콘솔 로그를 확인하세요. 다음과 같은 로그 메시지가 표시되어야 합니다:

[Pushwoosh] gRPC transport: ENABLED

REST 전송 강제

Anchor link to

디버깅을 위해 일시적으로 gRPC를 비활성화해야 하는 경우, 타겟에서 PushwooshGRPC 모듈을 제거할 수 있습니다. gRPC를 사용할 수 없을 때 SDK는 자동으로 REST 전송을 사용합니다.