Size: a a a

Dart & Flutter по-русски

2021 May 21

С

Сидредин in Dart & Flutter по-русски
😁👍
источник

t

tdesc in Dart & Flutter по-русски
пока напишешь чтонить интересное для пользователей флаттер 3.0 выйдет
источник

P

Pa_blooo in Dart & Flutter по-русски
да, такое развитие иногда пугает
источник

t

tdesc in Dart & Flutter по-русски
натив болото по сравнению с вебом и флаттером. способность бысто адаптироваться нынче выжнее хард скиллов
источник

С

Сидредин in Dart & Flutter по-русски
+
источник

С

Сидредин in Dart & Flutter по-русски
Мир стремительно меняется
источник

ДП

Денис Петров... in Dart & Flutter по-русски
Ребят, есть у кого опыт интегрирования Jivo chat в мобильное приложение?
источник

P

ParanoyaU in Dart & Flutter по-русски
А для Vs Code Есть плагин, чтобы мини-иконки показывались вот здесь, как в Android Studio?
источник

SK

Serge Kozlov in Dart & Flutter по-русски
Ребят может кто нить дать ссылку на настройку push для сборки на ios/ Все сертификаты сделал. Уведомления ни в какую не хотят приходить. несколько дней уже бьюсь
источник

SK

Serge Kozlov in Dart & Flutter по-русски
как можно избавиться от этих ошибок? Кто нибудь знает?
источник

AV

Andrey Vareckiy in Dart & Flutter по-русски
Что за плагин используешь?
источник

SK

Serge Kozlov in Dart & Flutter по-русски
firebase_messaging
источник

AV

Andrey Vareckiy in Dart & Flutter по-русски
firebase_messaging: "^9.1.2"
flutter_local_notifications: ^5.0.0+4
источник

AV

Andrey Vareckiy in Dart & Flutter по-русски
static Future _configurePushNotifications() async {
   final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
       Get.put<FlutterLocalNotificationsPlugin>(
           FlutterLocalNotificationsPlugin());

   await flutterLocalNotificationsPlugin
       .resolvePlatformSpecificImplementation<
           IOSFlutterLocalNotificationsPlugin>()
       ?.requestPermissions(
         alert: true,
         badge: true,
         sound: true,
       );

   const AndroidInitializationSettings initializationSettingsAndroid =
       AndroidInitializationSettings('ic_launcher');

   final IOSInitializationSettings initializationSettingsIOS =
       IOSInitializationSettings(
     onDidReceiveLocalNotification: _onLocalNotificationRecived,
   );

   final InitializationSettings initializationSettings =
       InitializationSettings(
     android: initializationSettingsAndroid,
     iOS: initializationSettingsIOS,
   );

   flutterLocalNotificationsPlugin.initialize(initializationSettings,
       onSelectNotification: (payload) async {
     final data = jsonDecode(payload);
     if (data['type'] != 'record') return;
     _onRecordNotificationPressed(int.parse(data['record_id']));
   });
 }

 static Future _onLocalNotificationRecived(
     int id, String title, String body, String payload) async {
   print('id: ${id}');
   print('title: ${title}');
   print('body: ${body}');
   print('payload: ${payload}');
 }

 static Future _configureFirebaseMessaging() async {
   await Firebase.initializeApp();
   final apnToken = await FirebaseMessaging.instance.getAPNSToken();
   final token = await FirebaseMessaging.instance.getToken();
   debugPrint('FCM Token: [$token]');
   debugPrint('APN Token: [$apnToken]');

   // * handle message recived via firebase
   FirebaseMessaging.onMessage.listen(_onFirebaseMessageRecived);
   FirebaseMessaging.onBackgroundMessage(_onFirebaseBackgroundMessageRecived);

   FirebaseMessaging.onMessageOpenedApp
       .where((event) => event.data['type'] == 'record')
       .listen((message) =>
           _onRecordNotificationPressed(int.parse(message.data['record_id'])));
 }

 static Future _onFirebaseBackgroundMessageRecived(
     RemoteMessage message) async {
   print('Firebase Background Message Recived');
 }

 static Future _onFirebaseMessageRecived(RemoteMessage message) async {
   print('Firebase Message Recived');
   if (Platform.isIOS) return;
   await Get.find<FlutterLocalNotificationsPlugin>().show(
     0,
     message.notification.title,
     message.notification.body,
     platformChannelSpecifics,
     payload: jsonEncode(message.data),
   );
 }

 static Future _onRecordNotificationPressed(int recordId,
     {bool first = true}) async {
   final recordService = Get.find<IRecordService>();
   final storage = Get.find<IApplicationStorage>();
   try {
     final record = await recordService.find(recordId);
     if (storage.userInfo == null) {
       await Get.offAllNamed(RoutesPath.login);
       return;
     }

     Get.offAllNamed(RoutesPath.home);
     await Get.toNamed(
       RoutesPath.detailedRecord,
       arguments: {
         'record': record,
       },
     );
   } catch (_) {
     if (first)
       Get.offAllNamed(RoutesPath.noInternetConnection, arguments: {
         'callback': () =>
             _onRecordNotificationPressed(recordId, first: false),
       });
     else
       throw '';
   }
 }
источник

SK

Serge Kozlov in Dart & Flutter по-русски
оО
источник

AV

Andrey Vareckiy in Dart & Flutter по-русски
Запустились?
источник

AV

Andrey Vareckiy in Dart & Flutter по-русски
Может кто сталкивался с таким?
источник

AV

Andrey Vareckiy in Dart & Flutter по-русски
Переслано от Andrey Vareckiy
источник

AV

Andrey Vareckiy in Dart & Flutter по-русски
Переслано от Andrey Vareckiy
при клике на "ОК" показывает окно авторизации и этот экран потом, при попытке тыкнуть Apps ничего не происходит
источник

P

Pa_blooo in Dart & Flutter по-русски
а ты подписку приобрел?
источник