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:
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>
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pemberitahuan ios dalam uniapp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!