Capacitor __CAPGO_KEEP_0__
- 플랫폼 감지: 사용하여
Capacitor.getPlatform()code - 내장 플러그인: 카메라, 저장소 및 위치 정보와 같은 기능에 대한 통합 API.
- 사용자 지정 플러그인: 고유한 요구 사항에 대한 네이티브 code
- UI 조정: iOS (예: SF Symbols, 둥근 버튼) 및 Android (예: Material Icons)와 같은 디자인 규칙을 따르십시오. SF Symbols, rounded buttons Material Icons좌측 정렬 버튼.
- 설정: 양쪽 플랫폼에 대한 설정을 조정합니다.
capacitor.config.json양쪽 플랫폼에 대한 설정을 조정합니다. - 실시간 업데이트 : Capgo: 앱 스토어 지연 없이 즉시 업데이트를 배포하여 24시간 내에 95%의 사용자 참여도를 달성합니다.
빠른 비교
| 기능 | iOS | 안드로이드 |
|---|---|---|
| 네비게이션 | 하단 탭바, 왼쪽 뒤로가기 버튼 | 상단 네비게이션 드로어, 하단 네비게이션 |
| 타이포그래피 | San Francisco 폰트 | Roboto 폰트 |
| 플러그인 (예: 카메라) | AVFoundation | 카메라2 API |
| 빌드 출력 | .ipa 파일 |
.aab 또는 .apk 파일 |
Capacitor는 웹 앱 개발과 네이티브 앱 개발 사이의 격차를 메우는 데 도움을 주며, 플랫폼 특정 최적화 유지하면서 크로스 플랫폼 앱을 더 쉽게 만들 수 있도록 해줍니다.
Cross-Platform Development: CapacitorJS와 …을 탐험하는 방법
How Capacitor 플랫폼 Code을 처리하는 방법

Capacitor은 iOS와 Android를 위한 맞춤형 경험을 만들 수 있도록 개발자에게 플랫폼 특정 code 관리를 위한 도구를 제공합니다. 단일 API에서 개발을 할 수 있습니다.
Code에서 플랫폼을 감지하는 방법
Capacitor의 내장 플랫폼 API을 사용하면 현재 플랫폼을 쉽게 감지할 수 있습니다. 메소드는 실행 중인 환경을 식별하여 조건부 논리 적용이 쉬워집니다. Capacitor.getPlatform() 이 접근 방식은 특히 기능들에 유용합니다:
import { Capacitor } from '@capacitor/core';
const platform = Capacitor.getPlatform();
if (platform === 'ios') {
// Code specific to iOS
} else if (platform === 'android') {
// Code specific to Android
}
__CAPGO_KEEP_0__는 __CAPGO_KEEP_1__을 사용하여 플랫폼 __CAPGO_KEEP_2__을 감지하고, __CAPGO_KEEP_3__을 사용하여 __CAPGO_KEEP_4__을 처리합니다. 생체 인증, iOS는 Face ID를 사용하고 Android는 지문 인증을 사용합니다. 플랫폼 감지를 포함하여 __CAPGO_KEEP_0__의 내장 플러그인은 네이티브 통합을 간소화합니다. 플랫폼 특화 기능 Capacitor은 플랫폼별 차이점을 무난하게 처리하는 코어 플러그인을 제공합니다. 이 플러그인은 네이티브 구현의 복잡성을 관리하면서 일관된 자바스크립트 인터페이스를 제공합니다.
플러그인
Capacitor comes with a set of core plugins that handle platform-specific differences seamlessly. These plugins manage the complexities of native implementations while providing a consistent JavaScript interface:
| Android 구현 | 카메라 | AVFoundation |
|---|---|---|
| 카메라2 __CAPGO_KEEP_0__ | Camera2 __CAPGO_KEEP_0__ | Camera2 API |
| 저장소 | __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ |
| 위치 정보 | CoreLocation | 위치 관리자 |
각 플러그인은 플랫폼의 네이티브 API를 자동으로 사용하여 smooth한 성능과 기능성을 제공합니다.
커스텀 플랫폼 플러그인 만들기
내장 플러그인이 요구하는 대로 사용되지 않는 경우, 사용자 지정 플러그인을 만들 수 있습니다. 사용자 지정 플러그인은 특정 네이티브 API에 접근할 수 있습니다. 방법은 다음과 같습니다.
-
플러그인 정의
@Plugin({ name: 'CustomFeature', platforms: ['ios', 'android'] }) -
네이티브 Code 추가
@PluginMethod() async customFunction(): Promise<void> { if (Capacitor.getPlatform() === 'ios') { // Add iOS-specific code } else { // Add Android-specific code } } -
플랫폼 핸들러 구현
-
iOS (Swift):
@objc func customFunction(_ call: CAPPluginCall) { // Add native iOS functionality } -
안드로이드 (Kotlin):
@PluginMethod fun customFunction(call: PluginCall) { // Add native Android functionality }
-
커스텀 플러그인은 API를 일관성 있게 유지하고 사용하기 쉽게 하여 네이티브 기능에 접근할 수 있습니다. 이로 인해 성능과 기능성이 유지되며 개발 프로세스를 복잡하게 하지 않습니다.
플랫폼별 UI 지침
iOS vs Android 디자인 규칙
iOS와 Android를 위한 디자인을 할 때, 네이티브 디자인 패턴을 따르는 것이 중요합니다. 각 플랫폼의 사용자는 네비게이션, 타이포그래피, 버튼, 헤더, 아이콘과 같은 것에 대해 다른 기대치를 가지고 있습니다. 그들의 비교는 다음과 같습니다.
| 디자인 요소 | iOS | 안드로이드 |
|---|---|---|
| 네비게이션 | 하단 탭바, 왼쪽에 있는 뒤로가기 버튼 | 상단 네비게이션 드로어, 하단 네비게이션 |
| Typography | San Francisco font | Roboto font |
| Buttons | 둥근 사각형, 중앙 정렬 | Material Design 버튼, 왼쪽 정렬 |
| Headers | 큰 제목, 중앙 정렬 | 앱 바, 왼쪽 정렬 |
| Icons | SF Symbols | Material Icons |
플랫폼 간 디자인 표준
각 플랫폼은自己的 규칙을 가지고 있지만, iOS와 Android 모두에서 일관된 브랜드 정체성을 유지하는 것이 중요합니다. 이를 보장하기 위해 다음을 따르십시오.
const sharedStyles = {
primaryColor: '#007AFF', // iOS blue
androidPrimaryColor: '#6200EE', // Material Design purple
borderRadius: Capacitor.getPlatform() === 'ios' ? '10px' : '4px'
};
:root {
--app-header-height: var(--platform-header-height, 56px);
--app-safe-area-top: var(--platform-safe-area-top, 0px);
}
Capacitor을 사용하여 플랫폼별 UI 컴포넌트를 통합하고 기능을 일관되게 유지할 수 있습니다. 또한 시스템 전역 설정인 Dark Mode 및 Dynamic Type를 관리하는 데 도움이 됩니다. 이 과정을 완료하려면 플랫폼별 빌드 설정이 이 지침과 일치하도록 확인하십시오.
플랫폼 설정 및 구성
플랫폼 code을 관리한 후, iOS와 Android両쪽에서 앱이 정상적으로 작동하도록 보장하기 위해 적절한 구성이 필요합니다.
iOS와 Android에서 작동하는 앱을 위한 플랫폼 설정 capacitor.config.json
Use the capacitor.config.json 파일을 사용하여 iOS와 Android에서 작동하는 앱을 위한 플랫폼별 설정을 정의하십시오.
{
"appId": "com.example.app",
"appName": "MyApp",
"ios": {
"contentInset": "always",
"backgroundColor": "#ffffff",
"scheme": "myapp",
"preferredContentMode": "mobile"
},
"android": {
"backgroundColor": "#FFFFFF",
"allowMixedContent": true,
"captureInput": true,
"webContentsDebuggingEnabled": true
}
}
구성 옵션
| iOS | Android | Option |
|---|---|---|
| __CAPGO_KEEP_0__ | scheme 속성 |
androidScheme 속성 |
| 상태 바 | statusBar.style |
statusBar.backgroundColor |
| 키보드 | keyboard.resize |
keyboard.resize, keyboard.style |
| 스플래시 화면 | splashScreen.launchShowDuration |
splashScreen.layoutName |
런타임 설정이 준비되면, 각 플랫폼을 위한 성능 향상을 위한 빌드 설정을 조정하세요.
플랫폼별 빌드 설정
iOS와 Android를 위한 앱 최적화에 대한 빌드 설정을 최적화하세요.
iOS의 경우 Info.plist __CAPGO_KEEP_1__
<key>NSCameraUsageDescription</key>
<string>Required for document scanning</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Required for store locator</string>
__CAPGO_KEEP_2__의 경우 android/app/build.gradle:
android {
defaultConfig {
minSdkVersion 21
targetSdkVersion 33
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt')
}
}
}
빌드에 대한 주요 고려 사항은 다음과 같습니다:
| Aspect | iOS | Android |
|---|---|---|
| 권한 | __CAPGO_KEEP_0__ 항목을 추가하세요. Info.plist |
__CAPGO_KEEP_0__을 정의하세요. AndroidManifest.xml |
| 아이콘 | 20px에서 1024px까지의 크기 | mdpi에서 xxxhdpi까지의 밀도 |
| 스플래시 화면 | 스토리 보드 기반 | XML 기반 레이아웃 |
| 빌드 출력 | .ipa 파일 |
.aab 또는 .apk 파일 |
__CAPGO_KEEP_0__ 앱을 업데이트하여 Capgo Live Update 데스크톱 인터페이스

__CAPGO_KEEP_0__ 기능들입니다. iOS와 Android両 플랫폼에서 Capacitor 앱을 업데이트하는 것은 매우 중요합니다. iOS와 Android両 플랫폼에서 Capgo 앱을 업데이트하는 것은 매우 중요합니다.
iOS와 Android両 플랫폼에서 Capgo 앱을 업데이트하는 것은 매우 중요합니다.
| 기능 | 설명 | 플랫폼 이점 |
|---|---|---|
| 실시간 업데이트 | 앱 스토어 검토 없이 즉시 배포 | iOS와 Android에서 일관된 경험을 보장 |
| 끝에서 끝까지 암호화 | 업데이트 전달을 보안 | 두 플랫폼의 보안 요구 사항을 충족 |
| 채널 시스템 | 특정 사용자 그룹을 대상 | 베타 테스트 및 phased 롤아웃을 지원 |
| Partial Updates | 다운로드만 수정된 콘텐츠 | 대역폭을 절약하고 업데이트를 가속화한다 |
Capgo은 23.5만 건의 업데이트를 전달했으며, 24시간 이내에 95%의 활성 사용자 업데이트율을 달성했다 [1]. 이러한 기능은 업데이트 관리 플랫폼 간에 smoother하고 더 효율적인 업데이트를 제공한다.
Capgo 플랫폼 관리
Capgo의 채널 시스템은 업데이트를 관리하는 것을 더 쉽게 만든다. 개발자들은 iOS 전용 기능을 베타 사용자와 테스트할 수 있고, Android 업데이트를 단계적으로 출시할 수 있으며, 성능 메트릭스를 무난하게 추적할 수 있다.
플랫폼은 Apple과 Google의 OTA 업데이트를 준수한다 [1].
현재, 750개의 프로덕션 앱이 Capgo을 사용하고 있으며, 전 세계 업데이트 성공률 82%를 유지하고 있다 [1]. CI/CD 통합은 배포를 간소화하고, 롤백 기능은 개발자가 문제가 발생할 경우 이전 버전으로 즉시 되돌아갈 수 있도록 해준다. 실시간 분석은 업데이트 성능에 대한洞察를 제공하고 앱의 안정성을 유지하는 데 도움이 된다.
결론
플랫폼 관리의 이점
Capacitor에서 플랫폼 차이점을 효과적으로 관리하면 Capacitor 개발이 향상됩니다. 플랫폼 감지 및 구성에 대한 내장 도구를 통해 개발자는 iOS와 Android 모두에 smooth한 경험을 제공할 수 있으며, 각 플랫폼의 고유한 디자인 표준 및 기능을 존중합니다.
개발 팀이 업데이트를 더 빠르게 릴리즈하고 사용자 만족도를 높이기 위해 플랫폼 관리에 초점을 맞추면, Capgo와 같은 도구는 일관된 플랫폼 처리가 높은 업데이트 성공률과 더 나은 사용자 경험을 가져올 수 있음을 보여주었습니다. [1].
“우리는 애그일 개발을 실천하고 @Capgo는 사용자에게 지속적으로 제공하는 mission-critical입니다!”
– Rodrigo Mantica [1]
이러한 지식은 실질적인 개선에 대한 안내를 제공할 수 있습니다.
다음 단계
이 이점을 최대로 활용하기 위해 다음 전략을 구현하는 것을 고려하십시오:
| 작업 항목 | 이점 |
|---|---|
| 플랫폼 감지 활성화 | __CAPGO_KEEP_0__ |
| __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ |
| __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ |
| __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ |
개발자들이 작업 흐름을 개선하기 위해 Capgo와 같은 도구를 사용하는 경우, 개발 과정을 단순화할 수 있습니다. Capgo의 기능, 예를 들어 종단 간 암호화 및 CI/CD 통합은 팀이 일관성을 유지하면서 효율적으로 업데이트를 배포할 수 있도록 도와줍니다.
__CAPGO_KEEP_0__
Capacitor
__CAPGO_KEEP_0__ Capacitor native 미디어와 인터페이스 동작을 계획하기 위해, 그것을 연결하세요. Using @capgo/capacitor-live-activities native 기능을 사용하기 위해 Using @capgo/capacitor-live-activities @capgo/capacitor-live-activities @capgo/capacitor-live-activities의 구현 세부 사항을 위해 Using @capgo/capacitor-video-player native 기능을 사용하기 위해 Using @capgo/capacitor-video-player @capgo/capacitor-video-player @capgo/capacitor-video-player의 구현 세부 사항을 위해, 그리고 Using @capgo/capacitor-native-navigation native 기능을 사용하기 위해 Using @capgo/capacitor-native-navigation.