본문으로 건너뛰기

@capgo/capacitor-widget-kit

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

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

  • __CAPGO_KEEP_0__ 앱이 공유된 JSON 상태와 앱에서 위젯 또는 위젯에서 앱으로의 메시지를 소유하는 동안 위젯 UI를 완전히 스위프트/코틀린/자바로 유지합니다.
  • Capacitor이 SVG 문자열을 해결할 수 있는 위젯이 렌더링될 수 있는 경우 SVG 템플릿을 사용하고 위젯이 커스텀 네이티브 UI를 필요로 하며 여전히 시작, 중단, 동기화 상태 또는 앱에 비동기 작업을 완료하도록 요청해야 하는 경우 전체 네이티브 세션을 사용하세요.

데모

Capacitor
Widget template flow
ModeBest forMain APIs
SVG template activityLive Activities or widget surfaces that render from SVG outputstartTemplateActivity, performTemplateAction, listTemplateEvents
Full-native widget session__CAPGO_KEEP_0__startWidgetSession, updateWidgetSession, sendWidgetMessage

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

SVG 템플릿 기능

SVG 템플릿 기능

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

  • frames 이름이 지정된 SVG 변형 summary, timer, 또는 details.
  • frameMutations 스위치, 토글, 또는 핫스팟 액션 후 프레임을 순환하는 기능
  • timerMutations 시작, 일시정지, 재개, 토글, 리셋, 중단, 또는 타이머 시간을 변경
  • patches literal 값, 템플릿, 타임스탬프, 증가치, 토글, 또는 삭제 연산을 사용하여 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 템플릿 헬퍼는 액션 수신자 및 위젯 브리지를 위한 매칭 동작을 제공합니다.

실재의 근원

실재의 근원

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

Keep going from @capgo/capacitor-widget-kit

Section titled “capgo-capacitor-widget-kit”

만약 __CAPGO_KEEP_0__-__CAPGO_KEEP_1__-widget-kit을 사용 중이라면 capgo-capacitor-widget-kit __CAPGO_KEEP_0__-__CAPGO_KEEP_1__-widget-kit과 연결 capgo-capacitor-widget-kit을 사용 capgo-capacitor-widget-kit의 원시 기능을 위해 Capgo-__CAPGO_KEEP_1__-widget-kit의 제품 워크플로우를 위해 Capgo-__CAPGO_KEEP_1__-widget-kit의 원시 빌드를 위해 Capgo-__CAPGO_KEEP_1__-widget-kit의 제품 워크플로우를 위해 Capgo-__CAPGO_KEEP_1__-widget-kit의 통합을 위해 그리고 Capgo-__CAPGO_KEEP_1__-widget-kit의 제품 워크플로우를 위해 Capgo-__CAPGO_KEEP_1__-widget-kit의 통합 CI/CD 통합 CI/CD 통합에 대한 구현 세부 정보입니다.