Rumah >hujung hadapan web >uni-app >Bagaimana untuk melaksanakan pemberitahuan ios dalam uniapp

Bagaimana untuk melaksanakan pemberitahuan ios dalam uniapp

PHPz
PHPzasal
2023-04-20 13:50:011038semak imbas

Dengan populariti telefon pintar, aplikasi mudah alih telah meningkat secara beransur-ansur Untuk mengingatkan pengguna dalam masa nyata, sistem pengendalian menyediakan fungsi pemberitahuan mesej. Antaranya, iOS mempunyai bahagian penting dalam pasaran telefon pintar global, dan fungsi pemberitahuannya telah menarik banyak perhatian. Bagaimana untuk melaksanakan fungsi pemberitahuan iOS di bawah rangka kerja uniapp?

1. Pengetahuan asas tentang pemberitahuan iOS

Pemberitahuan merujuk kepada mesej segera yang muncul pada peringkat sistem apabila aplikasi dibuka atau ditutup. Pemberitahuan iOS dibahagikan kepada dua jenis: pemberitahuan setempat dan pemberitahuan jauh. Pemberitahuan tempatan dicetuskan secara langsung oleh aplikasi, manakala pemberitahuan jauh dihantar oleh pelayan ke APN (perkhidmatan Pemberitahuan Apple Push).

Pemberitahuan tempatan boleh ditambah dengan memanggil kaedah tambah kelas UNUserNotificationCenter, yang dipaparkan semasa menjalankan aplikasi ini terutamanya melibatkan kaedah berikut:

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

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

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

Pemberitahuan jauh terutamanya. bergantung pada APN untuk melengkapkan pemberitahuan Pembinaan dan penolakan kandungan selesai di bahagian pelayan.

2. uniapp melaksanakan pemberitahuan setempat iOS

uniapp merangkum API bersatu yang sesuai untuk setiap platform. Jika anda ingin melaksanakan pemberitahuan setempat pada iOS, anda perlu memanggil kaedah tambah kelas UNUserNotificationCenter. untuk menerbitkan pemberitahuan. Dalam projek uniapp, anda boleh menghubungi terus kaedah uni.addLocalNotification untuk melaksanakan pemberitahuan setempat.

Apabila memanggil kaedah uni.addLocalNotification, anda perlu menghantar objek yang mengandungi kandungan pemberitahuan dan masa pencetus. Antaranya, kandungan pemberitahuan perlu memasukkan tajuk, kandungan dan maklumat tambahan pilihan. Masa pencetus dibahagikan kepada tiga kaedah: masa, lokasi dan status rangkaian. Antaranya, pencetus masa memerlukan menetapkan atribut ulangan untuk mengawal sama ada gelung pemberitahuan.

Semasa proses pelaksanaan, anda perlu memberi perhatian kepada isu berikut:

  1. Pemberitahuan iOS tidak akan dipaparkan secara lalai apabila APP sedang berjalan, jadi anda perlu memberi perhatian untuk menentukan sama ada APP semasa berada di latar depan.
  2. Masa mencetuskan pemberitahuan perlu mengambil kira zon waktu semasa.

Berikut ialah contoh:

/**
 * 在指定时间触发通知,如果应用在前台则不展示
 */
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 Import fail jambatan

Apabila melaksanakan pemberitahuan setempat, beberapa konfigurasi perlu dibuat pada aplikasi. Info.plist . Pelaksanaan bahagian ini memerlukan pengimportan fail jambatan, jadi operasi berikut perlu dilakukan:

1 Buka projek uniapp dalam Xcode dan pilih Fasa Bina->Salin Sumber Bundle.

2. Seret fail "com.apple.UNNotificationFramework.framework" dalam direktori ke dalam peneroka aplikasi Nut Cloud.

3. Tambahkan maklumat perihalan permintaan kebenaran pemberitahuan pada fail Info.plist, kandungannya adalah seperti berikut:

<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 memperkenalkan pelaksanaan menggunakan kaedah pemberitahuan setempat iOS uniapp. Dengan menambahkan pemberitahuan setempat, anda boleh menghantar mesej tolak kepada pengguna walaupun aplikasi anda tidak berjalan. Semasa proses pelaksanaan, perhatian khusus perlu diberikan untuk mendapatkan kebenaran dan mengimport fail jambatan.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pemberitahuan ios dalam uniapp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn