Pakete, Repositories und App-Kategorien suchen

Paketdetailsv2.1.0

install_plugin

Ein Flutter-Plugin zum Installieren von APKs für Android; und Verwendung einer URL, um auf dem iOS zur App Store zu wechseln.

AndroidiOS
30-Tage-Downloads
13.400
Likes
79
Pub-Punkte
150

Paket installieren

flutter pub add install_plugin

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Das install_plugin ist ein Flutter-Paket, das Android-Anwendungen ermöglicht, APK-Dateien direkt zu installieren, wodurch nahtlose App-Updates oder Installationen möglich werden. Für iOS leitet es Benutzer über eine bereitgestellte URL zur App Store weiter und gewährleistet so die Kompatibilität mit den Verteilungsrichtlinien von Apple. Speziell für Anwendungsupdates konzipiert, vereinfacht es den Prozess der Bereitstellung neuer Versionen, ohne dass Benutzer manuell von externen Quellen herunterladen müssen. Das Plugin unterstützt sowohl Android als auch iOS und bietet eine plattformübergreifende Lösung zum Verwalten von Installationsabläufen. Es lässt sich einfach über pub.dev integrieren und enthält Open-Source-Code für Transparenz und Anpassung.

Anwendungsfälle

  • App-Autoaktualisierungsfunktion
  • Direkte APK-Installation auf Android
  • Umleiten von iOS-Nutzern zur App Store
  • Bündelte App-Verteilung
  • In-App-Aktualisierungs-Einladungen
  • Offline-App-Installation

Hauptmerkmale

  • Android APK-Installation
  • iOS App Store Umleitung
  • Plattformübergreifende Unterstützung
  • Einfache Integration über pub.dev
  • Open-Source-Codebase
  • URL-basierte iOS-Navigation

Geeignet für

  • Entwickler, die selbstaktualisierende Apps erstellen
  • Apps, die eine Offline-Installation erfordern
  • Projekte, die benutzerdefinierte APKs verteilen
  • Mobile Apps mit In-App-Aktualisierungslogik
  • Teams, die transparente Aktualisierungsmechanismen benötigen

Hinweise

  • Erfordert Android-Berechtigungen für die APK-Installation
  • iOS unterstützt nur App Store-Weiterleitungen
  • Die Installation einer APK erfordert die Benutzerberechtigung unter Android
  • Nicht geeignet für offizielle App Store-Einreichungen
  • Beschränkt auf die Plattformen Android und iOS
  • Sicherheitsrisiken bei nicht vertrauenswürdigen APK-Quellen

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

install_plugin

Build Status pub package license

We use the install_plugin plugin to install apk for android; and using url to go to app store for iOS.

Usage

To use this plugin, add install_plugin as a dependency in your pubspec.yaml file. For example:

dependencies:
  install_plugin: '^2.1.0'

iOS

Your project need create with swift.

Android

You need to request permission for READ_EXTERNAL_STORAGE to read the apk file. You can handle the storage permission using flutter_permission_handler.

 <!-- read permissions for external storage -->
 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

In Android version >= 8.0 , You need to request permission for REQUEST_INSTALL_PACKAGES to install the apk file

<!-- installation package permissions -->
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

In Android version <= 6.0 , You need to request permission for WRITE_EXTERNAL_STORAGE to copy the apk from the app private location to the download directory

<!-- write permissions for external storage -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Example

install apk from the internet

  _networkInstallApk() async {
    if (_progressValue != 0 && _progressValue < 1) {
      _showResMsg("Wait a moment, downloading");
      return;
    }

    _progressValue = 0.0;
    var appDocDir = await getTemporaryDirectory();
    String savePath = appDocDir.path + "/takeaway_phone_release_1.apk";
    String fileUrl =
        "https://s3.cn-north-1.amazonaws.com.cn/mtab.kezaihui.com/apk/takeaway_phone_release_1.apk";
    await Dio().download(fileUrl, savePath, onReceiveProgress: (count, total) {
      final value = count / total;
      if (_progressValue != value) {
        setState(() {
          if (_progressValue < 1.0) {
            _progressValue = count / total;
          } else {
            _progressValue = 0.0;
          }
        });
        print((_progressValue * 100).toStringAsFixed(0) + "%");
      }
    });

    final res = await InstallPlugin.install(savePath);
    _showResMsg(
        "install apk ${res['isSuccess'] == true ? 'success' : 'fail:${res['errorMessage'] ?? ''}'}");
  }

install apk from the local storage

  _localInstallApk() async {
    FilePickerResult? result = await FilePicker.platform.pickFiles();
    if (result != null) {
      final res = await InstallPlugin.install(result.files.single.path ?? '');
      _showResMsg(
          "install apk ${res['isSuccess'] == true ? 'success' : 'fail:${res['errorMessage'] ?? ''}'}");
    } else {
      // User canceled the picker
      _showResMsg("User canceled the picker apk");
    }
  }

Go to AppStore , example appStore url : https://itunes.apple.com/cn/app/%E5%86%8D%E6%83%A0%E5%90%88%E4%BC%99%E4%BA%BA/id1375433239?l=zh&ls=1&mt=8

  _gotoAppStore(String url) async {
    url = url.isEmpty ? _defaultUrl : url;
    final res = await InstallPlugin.install(url);
    _showResMsg(
        "go to appstroe ${res['isSuccess'] == true ? 'success' : 'fail:${res['errorMessage'] ?? ''}'}");
  }

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden