>  기사  >  웹 프론트엔드  >  uniapp에서 iOS 알림을 구현하는 방법

uniapp에서 iOS 알림을 구현하는 방법

PHPz
PHPz원래의
2023-04-20 13:50:01981검색

스마트폰의 대중화와 함께 모바일 애플리케이션이 점차 증가하고 있으며, 사용자에게 실시간으로 알림을 주기 위해 운영체제에서는 메시지 알림 기능을 제공하고 있습니다. 그 중에서도 iOS는 글로벌 스마트폰 시장에서 중요한 점유율을 차지하고 있으며, 알림 기능이 많은 주목을 받고 있다. uniapp 프레임워크에서 iOS 알림 기능을 구현하는 방법은 무엇입니까?

1. iOS 알림 기본 지식

알림은 애플리케이션을 열거나 닫을 때 시스템 수준에서 팝업되는 프롬프트 메시지를 말합니다. iOS 알림은 로컬 알림과 원격 알림의 두 가지 유형으로 구분됩니다. 로컬 알림은 애플리케이션에 의해 직접 트리거되는 반면, 원격 알림은 서버에서 APN(Apple 푸시 알림 서비스)으로 전송됩니다.

UNUserNotificationCenter 클래스의 추가 메소드를 호출하여 로컬 알림을 추가할 수 있으며 애플리케이션 실행 중에 표시됩니다.

// 配置通知内容
const content = {
  title: '通知标题',
  body: '通知内容',
  userInfo: {"key": "value"} // 附加数据
};

// 创建通知
const notification = {
  identifier: 'local-notification', // 首次显示时的标识符
  content: content,
  trigger: {
    repeats: false // 只显示一次
  }
};

// 添加通知
uni.addLocalNotification(notification);

원격 알림은 주로 APN 구성 및 푸시에 의존합니다. 서버 측에서 완료됩니다.

2. uniapp은 iOS 로컬 알림을 구현합니다.

uniapp은 각 플랫폼에 적합한 통합 API를 캡슐화합니다. iOS에서 로컬 알림을 구현하려면 UNUserNotificationCenter 클래스의 add 메서드를 호출하여 알림을 게시해야 합니다. uniapp 프로젝트에서는 uni.addLocalNotification 메소드를 직접 호출하여 로컬 알림을 구현할 수 있습니다.

uni.addLocalNotification 메소드를 호출할 때 알림 내용과 트리거 시간이 포함된 객체를 전달해야 합니다. 이 중 알림 내용에는 제목, 내용 및 선택적 추가 정보가 포함되어야 합니다. 트리거 타이밍은 시간, 위치, 네트워크 상태의 세 가지 방법으로 구분됩니다. 그중에서 시간 트리거는 알림 반복 여부를 제어하기 위해 반복 속성을 설정해야 합니다.

구현 과정에서 다음 사항에 주의해야 합니다.

  1. 앱 실행 시 iOS 알림은 기본적으로 표시되지 않으므로 현재 앱이 포그라운드에 있는지 확인하는 데 주의가 필요합니다. .
  2. 알림 실행 시간은 현재 시간대를 고려해야 합니다.

예는 다음과 같습니다.

/**
 * 在指定时间触发通知,如果应用在前台则不展示
 */
function setNewLocalNotification() {
  const now = new Date();
  const nowStr = now.toLocaleTimeString();
  console.log(`当前时间:${nowStr}`);
  const hour = now.getHours() + 1;
  console.log(`下小时:${hour}`);
  const alarmTime = new Date();
  alarmTime.setHours(hour, 0, 0); // 设置下个小时整点触发
  console.log(`触发时间:${alarmTime.toLocaleTimeString()}`);
  let id = 1;
  uni.addLocalNotification({
    title: 'uniapp',
    body: '时间到了',
    userInfo: {"key": "value"}, // 可附加数据
    trigger: {
      date: alarmTime,
      repeats: false
    },
    identifier: `${id++}`,  
  });
  console.log('添加闹钟成功');
}

3. 브리지 파일 가져오기

로컬 알림을 구현할 때 애플리케이션의 Info.plist에 몇 가지 구성을 지정해야 합니다. 이 부분을 구현하려면 브리지 파일을 가져와야 하므로 다음 작업을 수행해야 합니다.

1. Xcode에서 uniapp 프로젝트를 열고 Build Phases->Copy Bundle Resources를 선택합니다.

2. UNNotificationFramework.framework 파일을 Nut Cloud의 애플리케이션 탐색기로 드래그하세요.

3. Info.plist 파일에 알림 승인 요청에 대한 설명 정보를 추가하면 내용은 다음과 같습니다.

<key>NSUserNotificationAlertStyle</key>
<string>alert</string>
<key>NSUserNotificationEnabled</key>
<string>YES</string>
<key>NSUserNotificationCenterAlertsEnabled</key>
<string>YES</string>
<key>UIBackgroundModes</key>
<array>
    <string>fetch</string>
    <string>remote-notification</string>
</array>
<key>UNNotificationsUsageDescription</key>
<string>请允许我们发送通知</string>

4. 요약

본 글에서는 uniapp을 사용하여 iOS 로컬 알림을 구현하는 방법을 소개합니다. 로컬 알림을 추가하면 애플리케이션이 실행되지 않을 때에도 사용자에게 푸시 메시지를 보낼 수 있습니다. 구현 프로세스 중에 권한을 얻고 브리지 파일을 가져오는 데 특별한 주의를 기울여야 합니다.

위 내용은 uniapp에서 iOS 알림을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.