Flutter-App-Update-Warnungsdialogfeld.

App-Update-Warnung:

jeder App Es gibt von Zeit zu Zeit neue Updates oder manchmal aufgrund technischer Probleme / Fehler, die stattdessen auf App-Uploads zurückgehen.

Wenn Sie also eine App hochladen, müssen Sie sicherstellen, dass Ihre Benutzer die App auf die neueste verfügbare Version aktualisieren, damit wir ein Warnfeld verwenden können, das neue Änderungen anzeigt – oder die App und sie den Benutzer bitten, ihre App zu aktualisieren.

Für dieses Szenario verwenden wir normalerweise eine API, aber es ist auch eine schwierige Aufgabe, dh jeder kann es nicht tun, weil es eine serverseitige Codierung beinhaltet.

Um dieses Szenario zu verwalten, verwenden wir Firebase Remote Config, damit wir Informationen über das App-Update bereitstellen können, und basierend auf dem, was wir den Benutzer bitten, seine App zu aktualisieren.

Pubspec.yaml:

Wir haben Firebase-Core- und Remote-Konfigurationsabhängigkeiten hinzugefügt, um Remote-Konfigurationsfunktionen für App-Update-Warnungen zu verwenden.

dependencies:
  flutter:
    sdk: flutter

  firebase_core: ^1.10.6
  firebase_remote_config: ^1.0.3


main.dart:

Wir müssen die Firebase starten, um ihre Dienste nutzen zu können, wie wir es mit void main () getan haben.

Und später haben wir die Basis genommen, wo wir den Update-Warndialog für Benutzer hier zeigen, wir sehen uns nur eine Tutorial-Perspektive an, also zeige ich nur einen Warndialog.

*** In Echtzeit müssen wir den Versionscode verwenden, um zu analysieren, ob der Benutzer die App aktualisiert hat oder nicht, und die darauf basierende App-Update-Benachrichtigung anzeigen.

Geben Sie den vollständigen Code für das Warnfeld für App-Updates an.

import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_remote_config/firebase_remote_config.dart';
import 'package:flutter/material.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MaterialApp(
    debugShowCheckedModeBanner: false,
    title: "Remote Config",
    home: FutureBuilder<RemoteConfig>(
      future: setupRemoteConfig(),
      builder: (BuildContext context, AsyncSnapshot<RemoteConfig> snapshot) {
        return Home(remoteConfig: snapshot.requireData);
      },
    ),
  ));
}

class Home extends StatefulWidget {
  final RemoteConfig remoteConfig;

  const Home({Key? key, required this.remoteConfig}) : super(key: key);

  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<Home> {
  @override
  Widget build(BuildContext context) {
    var update = widget.remoteConfig.getBool("Update");

    return Scaffold(
      appBar: AppBar(
        title: const Text("Remote Config"),
      ),
      body: update
          ? showAlertDialog(context, widget.remoteConfig)
          : const Center(
              child: Text("Dashboard")),
      floatingActionButton: FloatingActionButton(onPressed: () async {
        try{
          await widget.remoteConfig.setConfigSettings(RemoteConfigSettings(
            fetchTimeout: Duration(seconds: 10),
            minimumFetchInterval: Duration.zero
          ));
          await widget.remoteConfig.fetchAndActivate();
          setState(() {

          });
        }catch(e){
          print(e.toString());
        }
      },
      child: Icon(Icons.refresh),),
    );
  }
}

Future<RemoteConfig> setupRemoteConfig() async {
  final RemoteConfig remoteConfig = RemoteConfig.instance;

  await remoteConfig.fetch();
  await remoteConfig.activate();

  return remoteConfig;
}

AlertDialog showAlertDialog(BuildContext context, RemoteConfig remoteConfig) {
  Widget cancel = TextButton(onPressed: () {}, child: const Text("Cancel"));
  Widget update = TextButton(onPressed: () {}, child: const Text("Update"));

  return AlertDialog(
    title: Text(remoteConfig.getString("Title")),
    content: Text(remoteConfig.getString("Message")),
    actions: <Widget>[cancel, update],
  );
}

Ausgabe:

Der folgende Bildschirm zeigt die Verwendung des App-Update-Warndialogs mit der Firebase-Remote-Konfiguration.

App-Update-Warnung

Wenn Sie Fragen zu diesem Teil des Tutorials zur Implementierung des Alert-Updates in der App haben, teilen Sie uns dies im Kommentarbereich unten mit.

Wenn dir die Ernte gefällt Lernprogramm liken und teilen Sie uns für weitere interessante Updates.

Leave a Reply

Your email address will not be published. Required fields are marked *