컨텐츠로 바로가기

@capgo/capacitor-widget-kit

Capacitor 앱에 WidgetKit 및 Live Activities를 제공하는 SVG로 구동되는 템플릿 또는 전체 네이티브 위젯 상태 동기화

@capgo/capacitor-widget-kit Capacitor 앱에 두 가지 방법으로 위젯과 Live Activities를 구동하는 것을 제공합니다.

  • SVG 템플릿 활동: WidgetKit 표면을 SVG로 정의하고 탭에서 이름이 지정된 프레임을switch, 일시 중단/재생 타이머를 실행하고 JSON 상태를 변형하고 앱에서 액션 이벤트를 수집합니다.
  • 전체 네이티브 위젯 세션: 위젯 UI를 완전히 Swift/Kotlin/Java로 유지하면서 Capacitor이 공유된 JSON 상태와 앱에서 위젯으로 또는 위젯에서 앱으로의 메시지를 소유합니다.

SVG 템플릿을 사용하여 위젯이 해결된 SVG 문자열로 렌더링될 수 있는 경우 사용하십시오. 전체 네이티브 세션을 사용하여 위젯이 커스텀 네이티브 UI가 필요하지만 여전히 시작, 중단, 상태 동기화 또는 앱에서 완료하는 비동기 작업을 요청해야 할 때 사용하십시오.

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 Activity를 사용하여 빠른 프레임/타이머 제어와 richer native 레이아웃을 가진 홈 스크린 위젯 세션을 사용할 수 있습니다.

이름이 지정된 SVG 변형

  • frames hotspot 액션 후 프레임을 스위치, 토글, 또는 단계를 통해 전환할 수 있습니다. summary, timer시작, 일시 중단, 재개, 토글, 리셋, 중단, 또는 타이머 지속 시간을 변경할 수 있습니다. details.
  • frameMutations literal 값, 템플릿, 타임스탬프, 증가치, 토글, 또는 삭제 연산을 사용하여 JSON 상태를 업데이트 할 수 있습니다.
  • timerMutations 터치 영역을 액션 식별자와 매핑할 수 있습니다.
  • patches 앱은 위젯에서 기원한 액션을 나중에 처리할 수 있습니다.
  • hotspots 런타임은 __CAPGO_KEEP_0__과 같은 플레이스 홀더를 해결합니다.
  • listTemplateEvents SVG Live Activity

full-native widget session {{state.title}}, {{timers.rest.remainingText}}그리고 {{meta.template.kind}} 자연/native bridge가 렌더링을 위한 표면을 반환하기 전에.

Full-Native Bridge 기능

Full-Native Bridge 기능

자연 widget이 UI를 직접 렌더링하는 widget에 사용됩니다.

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

완료된 메시지는 중복 처리가 가능합니다: 완료된 또는 실패한 메시지를 다시 시도하면 기존 결과가 반환되며 덮어쓰지 않습니다.

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

이 플러그인은 위젯 대상에 대한 네이티브 헬퍼도 제공합니다:

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

진실의 근원

자연적인 조각들

API 참조는 플러그인 저장소에서 동기화됩니다. src/definitions.ts 플러그인 저장소의 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-widget-kit에서 계속 진행하세요.

Keep going from @capgo/capacitor-widget-kit

capgo/capacitor-widget-kit

__targetLanguage__에서 계속 진행하는 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-widget-kit capgo/capacitor-widget-kit을 사용하고 있다면 __CAPGO_KEEP_0__/__CAPGO_KEEP_1__-widget-kit을 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-widget-kit과 연결하세요 capgo/capacitor-widget-kit을 사용하여 @capgo/capacitor-widget-kit의 원시 기능을 사용하세요 for the native capability in Using @capgo/capacitor-widget-kit, Capgo CI/CD를 사용하여 제품 워크플로우를 관리하세요 Capgo Native Builds는 @Capgo Native Builds의 제품 워크플로우를 위해 Capgo Native Builds를 사용하여 제품 워크플로우를 관리하세요 Capgo Integrations는 @Capgo Integrations의 제품 워크플로우를 위해 Capgo Integrations를 사용하여 제품 워크플로우를 관리하세요 Capgo Integrations를 사용하여 제품 워크플로우를 관리하세요 CI/CD 통합 CI/CD 통합 구현 세부 사항에 대한 정보.