Overview
Overview@capgo/capacitor-widget-kit Capacitor 앱은 두 가지 방법으로 위젯과 라이브 활동을 제어합니다.
- SVG 템플릿 활동: SVG로 위젯 키트 표면을 정의하고 탭으로 이름이 지정된 프레임을switch, 일시 중단/재생 타이머를 실행하고 JSON 상태를 변형하고 앱에서 액션 이벤트를 수집합니다.
- 전체 네이티브 위젯 세션: 위젯 UI를 완전히 스위프트/코틀린/자바로 유지하면서 Capacitor이 공유된 JSON 상태와 앱에서 위젯으로 또는 위젯에서 앱으로의 메시지를 소유합니다.
SVG 템플릿을 사용하여 위젯이 해결된 SVG 문자열로 렌더링될 수 있는 경우 사용하십시오. 전체 네이티브 세션을 사용하여 위젯이 커스텀 네이티브 UI가 필요하지만 여전히 시작, 중단, 동기화 상태 또는 앱에서 비동기 작업을 완료하도록 요청해야 할 경우 사용하십시오.
Demo
Demo
선택 A 모드
선택 A 모드| 모드 | 추천 | 주요 API |
|---|---|---|
| SVG 템플릿 활동 | Live Activities 또는 위젯 표면이 SVG 출력에서 렌더링되는 경우 | startTemplateActivity, performTemplateAction, listTemplateEvents |
| 전체 네이티브 위젯 세션 | 네이티브 렌더링 위젯이 공유 상태와 비동기 작업이 필요한 경우 | startWidgetSession, updateWidgetSession, sendWidgetMessage |
모두 동일한 앱에 존재할 수 있습니다. 예를 들어, 운동 앱은 빠른 프레임/타이머 제어를 위해 SVG Live Activity를 사용하고 richer 네이티브 레이아웃을 가진 홈 스크린 위젯을 위해 전체 네이티브 위젯 세션을 사용할 수 있습니다.
SVG 템플릿 기능
SVG 템플릿 기능SVG 템플릿은 인터랙티브 위젯 표면을 위한 필요한 조각을 포함합니다:
frames이름이 지정된 SVG 변형summary,timer, ordetails.frameMutations스위치, 토글, 또는 프레임 액션 후 프레임을 순서대로 이동합니다.timerMutations시작, 일시 정지, 재개, 토글, 초기화, 중지, 또는 타이머 시간을 변경합니다.patchesliteral 값, 템플릿, 타임스탬프, 증가, 토글, 또는 unset 연산을 사용하여 JSON 상태를 업데이트합니다.hotspots터치 영역을 액션 식별자와 매핑합니다.listTemplateEvents앱은 위젯에서 기인한 액션을 나중에 처리할 수 있도록 합니다.
The runtime resolves placeholders like __CAPGO_KEEP_0__ {{state.title}}, {{timers.rest.remainingText}}, and {{meta.template.kind}} 자연어 브리지를 반환하기 전에 렌더링을 위한 표면을 반환하기 전에
자연어 브리지를 사용하는 전체-자연어 세션은 UI를 자체적으로 렌더링하는 위젯을 위한 것입니다:
자연어 브리지를 사용하는 전체-자연어 세션자연어 세션
startWidgetSessionnative widget code를 공유 상태와 메타데이터로 생성합니다.updateWidgetSession__CAPGO_KEEP_0__의 상태를 병합하거나 대체하고 세션을 다시 활성화합니다.stopWidgetSession세션을 중지하고 마지막 상태를 기록합니다.sendWidgetMessage앱에서 위젯으로 또는 위젯에서 앱으로의 작업을 대기열에 넣습니다.acknowledgeWidgetMessages메시지를 수신으로 표시합니다.completeWidgetMessage비동기 작업의 결과나 실패를 저장합니다.
완료된 메시지는 중복 처리가 가능합니다. 완료된 또는 실패한 메시지를 다시 시도하면 기존 결과가 반환되고 덮어쓰지 않습니다.
공개된 API
제목이 ‘공개된 API’인 섹션| 메서드 | 설명 |
|---|---|
areActivitiesSupported | 현재 기기에 native template activity bridge가 실행될 수 있는지 확인합니다. |
startTemplateActivity | SVG 템플릿 활동을 영구 저장하고 원시 Live Activity 브리지 시작. |
updateTemplateActivity | 활동 정의, 상태 또는 열 URL을 교체. |
endTemplateActivity | 실행 중인 활동 종료하고 optionally 마지막 상태 스냅샷을 영구 저장. |
performTemplateAction | 선언적 패치, 프레임 변형, 타이머 변형 및 이벤트 로깅을 실행. |
getTemplateActivity | 저장된 SVG 템플릿 활동 한 개 읽기. |
listTemplateActivities | 저장된 SVG 템플릿 활동 목록. |
listTemplateEvents | 템플릿 액션으로부터 방출된 액션 이벤트 읽기. |
acknowledgeTemplateEvents | 템플릿 이벤트를 처리한 것으로 표시. |
startWidgetSession | 공유 JSON 상태에 의해 백업된 전체 원시 위젯 세션 시작. |
updateWidgetSession | 전체 원시 위젯 세션 상태를 병합 또는 교체. |
stopWidgetSession | 전체 원시 위젯 세션을 중단하고 optionally 최종 상태 영구 저장. |
getWidgetSession | 전체 원시 위젯 세션 한 개 읽기. |
listWidgetSessions | 모든 네이티브 위젯 세션을 목록화합니다. |
sendWidgetMessage | 앱과 네이티브 위젯 code 사이의 메시지를 큐합니다. |
listWidgetMessages | 큐된 브리지 메시지를 목록화합니다. |
acknowledgeWidgetMessages | 브리지 메시지를 확인합니다. |
completeWidgetMessage | 비동기 브리지 메시지를 완료하거나 실패합니다. |
getPluginVersion | 플랫폼 구현 버전 마커를 반환합니다. |
네이티브 피스
네이티브 피스이 플러그인은 위젯 대상에 대한 네이티브 헬퍼도 제공합니다:
CapgoTemplateWidgetBridgeSVG 템플릿 표면을 해석하여svg,frameId,hotspots, 및 메타데이터를 반환합니다.CapgoTemplateActionIntent템플릿 액션에 연결된 인터랙티브 iOS 위젯 버튼을 연결합니다.CapgoNativeWidgetBridge자연스럽게 code의 전체 네이티브 세션 및 메시지를 로드합니다.- 안드로이드 템플릿 헬퍼는 액션 수신자와 위젯 브리지를 위한 일치하는 동작을 제공합니다.
진실의 근원
“진실의 근원”이라는 제목의 섹션API 참조는 플러그인 저장소에서 동기화됩니다. src/definitions.ts 플러그인 저장소에서.
Keep going from @capgo/capacitor-widget-kit
“Keep going from @capgo/capacitor-widget-kit”이라는 제목의 섹션Capgo를 사용 중이라면 @capgo/capacitor-widget-kit CI/CD 자동화 계획을 위해 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-widget-kit을 사용 중이라면 Capgo를 사용하여 @capgo/capacitor-widget-kit Capgo의 원시 기능을 사용하는 @capgo/capacitor-widget-kit Capgo CI/CD Capgo의 제품 워크플로우에서 Capgo CI/CD Capgo 원시 빌드 Capgo의 제품 워크플로우에서 Capgo 원시 빌드 Capgo 통합 Capgo의 제품 워크플로우에서 Capgo 통합 CI/CD 통합 CI/CD 통합 구현 세부 사항