시작하기
이 플러그인의 설치 단계와 전체 마크다운 가이드를 포함한 설정 지시를 복사합니다.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-alarm`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/alarm/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
설치
설치 제목bun add @capgo/capacitor-alarmbunx cap syncimport
import 제목import { CapgoAlarm } from '@capgo/capacitor-alarm';createAlarm
createAlarm시스템 알람을 사용하여 native OS 알람을 생성합니다. Android에서는 알람 시계 intent를 사용하고, iOS에서는 AlarmKit을 사용합니다 (iOS 16+).
import { CapgoAlarm } from '@capgo/capacitor-alarm';
const result = await CapgoAlarm.createAlarm({ hour: 7, minute: 30, label: 'Wake up', skipUi: false, vibrate: true});console.log('Alarm created:', result.success);openAlarms
열기: openAlarms시스템의 native 알람 목록 UI를 열어보세요, 만약 사용 가능하다면.
import { CapgoAlarm } from '@capgo/capacitor-alarm';
const result = await CapgoAlarm.openAlarms();if (result.success) { console.log('Alarms UI opened');}getOSInfo
열기: getOSInfoOS 정보와 기능에 대한 정보를 가져오세요.
import { CapgoAlarm } from '@capgo/capacitor-alarm';
const info = await CapgoAlarm.getOSInfo();console.log('Platform:', info.platform);console.log('Supports native alarms:', info.supportsNativeAlarms);if (info.platform === 'android') { console.log('Can schedule exact alarms:', info.canScheduleExactAlarms);}requestPermissions
열기: requestPermissions시스템의 알람 사용을 위한 관련 권한을 요청하세요. Android에서는 정확한 알람을 위해 설정으로 라우팅할 수 있습니다.
import { CapgoAlarm } from '@capgo/capacitor-alarm';
const result = await CapgoAlarm.requestPermissions({ exactAlarm: true });if (result.granted) { console.log('Permissions granted');} else { console.log('Permissions denied');}checkPermissions
열기: checkPermissionsiOS에서 native 알람 접근 권한 상태를 확인하지 않고 UI를 트리거하지 않습니다. iOS에서는 AlarmKit 준비 상태를 보고, Android에서는 기능 상세 정보를 보고합니다.
import { CapgoAlarm } from '@capgo/capacitor-alarm';
const status = await CapgoAlarm.checkPermissions();console.log('AlarmKit allowed?', status.details?.alarmKit);getAlarms
getAlarms 제목이 앱에 의해 예약된 알람 목록을 가져옵니다. iOS 26 이상에서는 AlarmKit에서 알람을 반환합니다. Android에서는 지원되지 않습니다. 시스템이 알람을 조회하는 API를 제공하지 않기 때문입니다.
import { CapgoAlarm } from '@capgo/capacitor-alarm';
const { alarms } = await CapgoAlarm.getAlarms();console.log('Scheduled alarms:', alarms);alarms.forEach(alarm => { console.log(`Alarm ${alarm.id}: ${alarm.hour}:${alarm.minute} - ${alarm.label}`);});타입 참조
타입 참조 제목NativeAlarmCreateOptions
NativeAlarmCreateOptions 제목native OS 알람을 플랫폼 클록 앱을 통해 생성하는 데 필요한 옵션입니다.
export interface NativeAlarmCreateOptions { /** Hour of day in 24h format (0-23) */ hour: number; /** Minute of hour (0-59) */ minute: number; /** Optional label for the alarm */ label?: string; /** Android only: attempt to skip UI if possible */ skipUi?: boolean; /** Android only: set alarm to vibrate */ vibrate?: boolean;}NativeActionResult
NativeActionResult 제목native 액션의 결과입니다.
export interface NativeActionResult { /** Whether the action was successful */ success: boolean; /** Optional message with additional information */ message?: string;}OSInfo
OS 정보 섹션현재 운영 체제와 기능에 대한 정보를 반환합니다.
export interface OSInfo { /** Platform identifier: 'ios' | 'android' | 'web' */ platform: string; /** OS version string */ version: string; /** Whether the platform exposes a native alarm app integration */ supportsNativeAlarms: boolean; /** Whether scheduling local notifications is supported */ supportsScheduledNotifications: boolean; /** Android only: whether exact alarms are allowed */ canScheduleExactAlarms?: boolean;}PermissionResult
권한 결과 섹션권한 요청의 결과입니다.
export interface PermissionResult { /** Overall grant for requested scope */ granted: boolean; /** Optional details by permission key */ details?: Record<string, boolean>; /** Optional human readable diagnostic */ message?: string;}AlarmInfo
예약된 알람에 대한 정보클립보드 복사
export interface AlarmInfo { /** Unique identifier for the alarm */ id: string; /** Hour of day in 24h format (0-23) */ hour: number; /** Minute of hour (0-59) */ minute: number; /** Optional label for the alarm */ label?: string; /** Whether the alarm is enabled */ enabled?: boolean;}진리 근원 섹션
권한 요청 결과이 페이지는 플러그인의 src/definitions.ts업스트림에서 pubic API이 변경되었을 때 다시 싱크를 실행하세요.