URL-адрес веб-просмотра Flutter с токеном FCM - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь прикрепить токен Firebase к концу initialUrl в веб-просмотре Flutter с помощью строковой интерполяции и добавления? AppToken = в конец первой части URL-адреса, но токен всегда возвращает значение null. Есть ли способ сделать это и заставить его работать?

Заранее спасибо

import 'dart:async';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:flutter/material.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart';
import 'package:webview_flutter/platform_interface.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'package:flutter/animation.dart';

class Bookaido extends StatefulWidget {
  Bookaido({Key key}) : super(key: key);

  BookaidoState createState() => BookaidoState();
}

class BookaidoState extends State<Bookaido>
    with SingleTickerProviderStateMixin {
  Animation animation;
  AnimationController animationController;
  String urlPart1 = 'sampleurl.com?appToken=';
  String urlPart2;
  String urlPart3;
  num isLoaded = 1;
  final FirebaseMessaging _messaging = FirebaseMessaging();
  final notifications = FlutterLocalNotificationsPlugin();

  final Completer<WebViewController> _controller =
      Completer<WebViewController>();

  void initState() {
    super.initState();

    _messaging.getToken().then((token) async {
      urlPart2 = token;
      urlPart3 = '$urlPart1$urlPart2';
    });

  }

  @override
  Widget build(BuildContext context) {
    return WebView(
                   onWebResourceError: (WebResourceError webviewerrr) {},
                   onPageStarted: _onLoadStart,
                   onPageFinished: _onLoadFinished,
                   initialUrl: urlPart1,
                   javascriptMode: JavascriptMode.unrestricted,
                   onWebViewCreated:
                       (WebViewController webViewController) {
                     _controller.complete(webViewController);
                   }),
...