add messaging

This commit is contained in:
Sai Naw Wun
2020-09-20 05:34:49 +06:30
parent cc56a18613
commit cb622b004b
38 changed files with 1931 additions and 180 deletions

View File

@@ -1,5 +1,3 @@
import 'dart:io';
import 'package:fcs/fcs/common/localization/app_translations_delegate.dart';
import 'package:fcs/fcs/common/localization/transalation.dart';
import 'package:fcs/fcs/common/pages/contact/model/contact_model.dart';
@@ -14,7 +12,6 @@ import 'package:fcs/fcs/common/pages/package/model/shipment_model.dart';
import 'package:fcs/fcs/common/pages/payment_methods/model/payment_method_model.dart';
import 'package:fcs/fcs/common/pages/staff/model/staff_model.dart';
import 'package:fcs/fcs/common/pages/term/model/term_model.dart';
import 'package:fcs/fcs/common/services/services.dart';
import 'package:fcs/model/buyer_model.dart';
import 'package:fcs/model/delivery_model.dart';
import 'package:fcs/model/discount_model.dart';
@@ -25,7 +22,6 @@ import 'package:fcs/model/reg_model.dart';
import 'package:fcs/model/report_model.dart';
import 'package:fcs/model/storage_model.dart';
import 'package:fcs/model/test_model.dart';
import 'package:fcs/model_fcs/message_model.dart';
import 'package:fcs/pages/email_page.dart';
import 'package:fcs/pages/login_page.dart';
import 'package:flutter/cupertino.dart';
@@ -34,6 +30,7 @@ import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:provider/provider.dart';
import 'fcs/common/pages/chat/model/message_model.dart';
import 'fcs/common/pages/home_page.dart';
import 'fcs/common/pages/splash_page.dart';
import 'fcs/common/pages/welcome_page.dart';
@@ -41,7 +38,6 @@ import 'model/announcement_model.dart';
import 'model/chart_model.dart';
import 'model/device_model.dart';
import 'model/do_model.dart';
import 'model/employee_model.dart';
import 'model/invoice_model.dart';
import 'model/log_model.dart';
import 'model/main_model.dart';
@@ -110,6 +106,7 @@ class _AppState extends State<App> {
..addModel(staffModel)
..addModel(shipmentModel)
..addModel(packageModel)
..addModel(messageModel)
..addModel(marketModel);
mainModel2.init();
@@ -138,69 +135,10 @@ class _AppState extends State<App> {
..addModel(pickUpModel)
..addModel(shipmentRateModel)
..addModel(boxModel)
..addModel(messageModel)
..addModel(shipmentRateModel)
..addModel(invoiceModel)
..addModel(discountModel);
this.mainModel.init();
_initLocalNotifications();
Services.instance.messagingService.init((message) {
print("Message from FCM:$message");
_showNotification(message);
});
}
_initLocalNotifications() {
var initializationSettingsAndroid =
new AndroidInitializationSettings('@mipmap/ic_launcher');
var initializationSettingsIOS = new IOSInitializationSettings();
var initializationSettings = new InitializationSettings(
initializationSettingsAndroid, initializationSettingsIOS);
_flutterLocalNotificationsPlugin.initialize(initializationSettings);
}
static Future _showNotification(Map<String, dynamic> message) async {
var pushTitle;
var pushText;
var action;
if (Platform.isAndroid) {
var nodeData = message['notification'];
pushTitle = nodeData['title'];
pushText = nodeData['body'];
action = nodeData['action'];
} else {
pushTitle = message['title'];
pushText = message['body'];
action = message['action'];
}
print("AppPushs params pushTitle : $pushTitle");
print("AppPushs params pushText : $pushText");
print("AppPushs params pushAction : $action");
// @formatter:off
var platformChannelSpecificsAndroid = new AndroidNotificationDetails(
'your channel id', 'your channel name', 'your channel description',
playSound: true,
enableVibration: true,
importance: Importance.Max,
priority: Priority.High);
// @formatter:on
var platformChannelSpecificsIos =
new IOSNotificationDetails(presentSound: true);
var platformChannelSpecifics = new NotificationDetails(
platformChannelSpecificsAndroid, platformChannelSpecificsIos);
new Future.delayed(Duration.zero, () {
_flutterLocalNotificationsPlugin.show(
0,
pushTitle,
pushText,
platformChannelSpecifics,
payload: 'No_Sound',
);
});
}
void onLocaleChange(Locale locale) {