Flutter的本地端通知(透過flutter_local_notifications套件)
這篇來紀錄一下如何在flutter中新增本地端通知的實作方式。
安裝套件
於專案的根目錄下執行以下指令安裝「flutter_local_notifications」套件
>> flutter pub add flutter_local_notifications
安裝完成後,pubspec.yaml檔中應該會自動加入以下的套件依賴關係
flutter_local_notifications: ^13.0.0
使用套件
import
於程式中,import這個套件
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
初始化套件
宣告
FlutterLocalNotificationsPlugin localNotificaition = FlutterLocalNotificationsPlugin();
初始化不同平台的行動裝置
//建立Android與iOS的初始設定資料
var android = const AndroidInitializationSettings('ic_launcher');
//必須要確認圖形的原始檔確實存在,否則執行時會有找不到資源的錯誤訊息而導致執行失敗
//var ios = const IOSInitializationSettings();
//我沒有ios裝置,因此這個部份就先mark掉
var initializationSettings = new InitializationSettings(android: android);
//如果有iOS的部份改為以下程式
//var initializationSettings = new InitializationSettings(android: android, iOS:ios);
localNotificaition.initialize(InitializationSettings(android:android));
//如果有iOS的部份改為以下程式
//localNotificaition.initialize(InitializationSettings(android:android, iOS:ios));
建構所要傳送的通知規格
var androidDetails = const AndroidNotificationDetails(
'channel id',
'channel name',
importance: Importance.max,
priority: Priority.high
);
//var iosDetails = const IOSNotifications();
//我沒有ios裝置,因此這個部份就先mark掉
var details = NotificationDetails(
android: androidDetails,
iOS: iosDetails
);
發送訊息
localNotificaition.show(
DateTime.now().millisecondsSinceEpoch >> 10,
'訊息標題',
'訊息內容',
details //剛才的訊息通知規格變數
);