메뉴로 바로가기

시작하기

터미널 창
bun add @capgo/capacitor-alarm
bunx cap sync
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);

시스템의 native 알람 목록 UI를 열어보세요, 만약 사용 가능하다면.

import { CapgoAlarm } from '@capgo/capacitor-alarm';
const result = await CapgoAlarm.openAlarms();
if (result.success) {
console.log('Alarms UI opened');
}

OS 정보와 기능에 대한 정보를 가져오세요.

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

열기: checkPermissions

iOS에서 native 알람 접근 권한 상태를 확인하지 않고 UI를 트리거하지 않습니다. iOS에서는 AlarmKit 준비 상태를 보고, Android에서는 기능 상세 정보를 보고합니다.

import { CapgoAlarm } from '@capgo/capacitor-alarm';
const status = await CapgoAlarm.checkPermissions();
console.log('AlarmKit allowed?', status.details?.alarmKit);

이 앱에 의해 예약된 알람 목록을 가져옵니다. 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;
}

현재 운영 체제와 기능에 대한 정보를 반환합니다.

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;
}

클립보드 복사

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이 변경되었을 때 다시 싱크를 실행하세요.