내용으로 건너뛰기

@capgo/capacitor-widget-kit

Capacitor 앱에 대한 WidgetKit 및 Live Activities, SVG로 구동되는 템플릿 또는 전체 네이티브 위젯 상태 동기화.

@capgo/capacitor-widget-kit Capacitor 앱에 SVG 템플릿 활동을 정의하여 위젯 키트 표면을 SVG로, 탭에서 이름이 지정된 프레임을 Switch, 타이머를 일시 중단/재생, JSON 상태를 변형하고 앱에서 액션 이벤트를 수집합니다.

  • 전체 네이티브 위젯 세션: 위젯 UI를 완전히 스위프트/코틀린/자바로 유지하면서 __CAPGO_KEEP_0__이 공유된 JSON 상태와 앱에서 위젯으로 또는 위젯에서 앱으로의 메시지를 소유합니다.
  • Full-native widget sessions: keep the widget UI fully in Swift/Kotlin/Java while Capacitor owns shared JSON state and app-to-widget or widget-to-app messages.

데모

Animated WidgetKit demo showing template widget state and controls driven from Capacitor
Widget template flow
ModeBest forMain APIs
SVG template activityLive Activities or widget surfaces that render from SVG outputstartTemplateActivity, performTemplateAction, listTemplateEvents
Full-native widget sessionNative-rendered widgets that need shared state and async jobsstartWidgetSession, updateWidgetSession, sendWidgetMessage

두 가지 모드는 동일한 앱에서 동시에 작동할 수 있습니다. 예를 들어, 운동 앱은 빠른 프레임/타이머 제어를 위해 SVG Live 활동을 사용하고, 홈 스크린 위젯에 richer 네이티브 레이아웃을 사용하기 위해 전체 네이티브 위젯 세션을 사용할 수 있습니다.

SVG 템플릿 기능

SVG 템플릿 기능

SVG 템플릿은 인터랙티브 위젯 표면을 위한 필요한 조각을 포함합니다:

  • frames 이름이 지정된 SVG 변형 summary, timer, 또는 details.
  • frameMutations 스위치, 토글, 또는 핫스팟 액션 후 프레임을 순환하는 기능
  • timerMutations 시작, 일시 중단, 재개, 토글, 리셋, 중단, 또는 타이머 시간을 변경
  • patches literal 값, 템플릿, 타임스탬프, 증가치, 토글, 또는 unset 연산을 사용하여 JSON 상태를 업데이트합니다.
  • hotspots 터치 영역을 액션 식별자로 맵핑합니다.
  • listTemplateEvents 앱은 위젯에서 발생한 액션을 나중에 처리할 수 있도록 합니다.

런타임은 다음과 같은 플레이스 홀더를 해결합니다. {{state.title}}, {{timers.rest.remainingText}}그리고 {{meta.template.kind}} 자연적인 브리지가 렌더링을 위한 표면을 반환하기 전에.

전체 네이티브 브리지 기능

제목 ‘전체 네이티브 브리지 기능’

네이티브 UI를 렌더링하는 위젯을 위한 전체 네이티브 세션은 다음과 같습니다:

  • startWidgetSession 네이티브 위젯 code에 대한 공유 상태와 메타데이터를 생성합니다.
  • updateWidgetSession 상태를 병합하거나 대체하고 세션을 다시 활성화합니다.
  • stopWidgetSession 마지막 상태를 기록하고 세션을 중지합니다.
  • sendWidgetMessage 앱에서 위젯 또는 위젯에서 앱으로의 작업을 큐합니다.
  • acknowledgeWidgetMessages 받은 메시지를 표시합니다.
  • completeWidgetMessage 비동기 작업의 결과나 실패를 저장합니다.

완료 후 메시지는 중복되었습니다: 완료된 또는 실패한 메시지를 다시 시도하면 기존 결과 대신 오버라이팅하지 않고 기존 결과를 반환합니다.

메서드설명
areActivitiesSupported현재 기기에서 네이티브 템플릿 활동 브리지가 실행될 수 있는지 확인합니다.
startTemplateActivitySVG 템플릿 활동을 저장하고 네이티브 Live Activity 브리지를 시작합니다.
updateTemplateActivity활동 정의, 상태 또는 URL을 교체합니다.
endTemplateActivity실행 중인 활동을 종료하고 optionally 마지막 상태 스냅샷을 저장합니다.
performTemplateAction선언적 패치, 프레임 변형, 타이머 변형 및 이벤트 로깅을 실행합니다.
getTemplateActivity저장된 템플릿 활동을 읽습니다.
listTemplateActivities저장된 모든 템플릿 활동을 목록화합니다.
listTemplateEvents템플릿 액션으로부터 발생한 액션 이벤트를 읽습니다.
acknowledgeTemplateEvents템플릿 이벤트를 처리한 것으로 표시하세요.
startWidgetSession공유된 JSON 상태를 지원하는 전체 네이티브 위젯 세션을 시작하세요.
updateWidgetSession전체 네이티브 위젯 세션 상태를 병합하거나 대체하세요.
stopWidgetSession최종 상태를 옵션으로.persist하는 전체 네이티브 위젯 세션을 중지하세요.
getWidgetSession한 개의 전체 네이티브 위젯 세션을 읽으세요.
listWidgetSessions모든 전체 네이티브 위젯 세션을 목록화하세요.
sendWidgetMessageQueue a message between the app and native widget code.
listWidgetMessages큐에 넣은 브리지 메시지를 목록화하세요.
acknowledgeWidgetMessages브리지 메시지를 확인하세요.
completeWidgetMessage비동기 브리지 메시지를 완료하거나 실패하세요.
getPluginVersion플랫폼 구현 버전 마커를 반환하세요.

네이티브 피스

네이티브 피스

이 플러그인은 위젯 대상에 대한 네이티브 헬퍼를 포함합니다.

  • CapgoTemplateWidgetBridge SVG 템플릿 표면을 해석합니다. svg, frameId, hotspots, 및 메타데이터.
  • CapgoTemplateActionIntent 인터랙티브 iOS 위젯 버튼을 템플릿 액션에 연결합니다.
  • CapgoNativeWidgetBridge 네이티브 위젯 code에서 전체 네이티브 세션 및 메시지를 로드합니다.
  • Android 템플릿 헬퍼는 액션 수신자 및 위젯 브리지를 위한 매칭한 동작을 제공합니다.

The API reference is synced from src/definitions.ts 계속 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-widget-kit에서 진행하세요.

Capgo를 사용 중이라면 Capgo에서 @capgo/capacitor-widget-kit CI/CD 자동화 계획을 위해 Capgo를 사용하고자 한다면 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-widget-kit Capgo에서 @capgo/capacitor-widget-kit for the native capability in Using @capgo/capacitor-widget-kit, Capgo CI/CD Capgo Native Builds Capgo Native Builds Capgo Integrations Capgo에서 @Capgo/__CAPGO_KEEP_1__-widget-kit Capgo에서 @Capgo/__CAPGO_KEEP_1__-widget-kit CI/CD 통합 CI/CD 통합 구현 세부 사항