appdraft_plugin

Flutter plugin for advanced app update distribution and management.
Created by AppDraft β€” experts in modern mobile and web solutions.

πŸ“¦ Overview

appdraft_plugin is a powerful Flutter plugin that enables seamless update flows for both Android and iOS applications.
It supports multiple projects, release channels, and distribution methods, making it ideal for teams managing complex release lifecycles across environments.

Whether your app is published to Google Play, the App Store, or distributed externally, appdraft_plugin handles update checks, notifications, downloads, and file verification β€” all with minimal effort from the user.

✨ Key Features

  • πŸ”§ Multi-App, Multi-Project Support
    Manage multiple apps, each with independent environments and release versions.

  • πŸ‘₯ Team Collaboration
    Invite multiple users to your AppDraft workspace.
    Collaborate on releases, monitor deployments, and manage environments together in one shared panel.

  • πŸ›οΈ Store Distribution

    • Detect new releases by app ID (Google Play / App Store).
    • Redirects users to the correct store for an update when a new version is available.
  • 🌐 External Distribution

    • Download and install app updates silently in the background (APK on Android).
    • Generate secure download links with password protection.
    • Background downloads with SHA-256 verification ensure file integrity.
  • πŸ§ͺ Environment-Aware Updates
    Supports platform (android / ios) and environment (dev / prod, etc.) specific releases and channels.

  • πŸ“ˆ Update Logs & Analytics
    Capture update check logs for better visibility and debugging.

  • πŸ”’ File Integrity Verification
    Every downloaded file is validated against a SHA-256 checksum before installation.

  • πŸ“² Customizable Update Dialog
    Native Android prompt informs users about new versions and the update process.

πŸš€ Getting Started

Add the plugin to your pubspec.yaml:

dependencies:
  appdraft_plugin: ^1.0.8

Then run:

flutter pub get

βš™οΈ Configuration

Set your distribution method per app or platform:

  • store: Requires app IDs (android_app_id, ios_app_id)
  • external: Requires a secure API endpoint and versioning logic

Refer to the docs for full setup instructions.

πŸ“± Android Permissions

Add these to your AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

Also, under <application>:

<application
    android:requestLegacyExternalStorage="true"
    ... >

⚠️ Note: For Android 11+ (API 30+), consider using Scoped Storage and requesting runtime permissions.

πŸ–ΌοΈ Native Update Dialog

A native Android AlertDialog is displayed when an update is available.
It notifies users of the update and begins the background download, with a future option for forced updates.

πŸ” Secure & Flexible

All update downloads are verified using SHA-256 hashes.
Password-protected URLs can be generated for external app access, ensuring secure downloads outside of public app stores.

πŸ‘¨β€πŸ’» Built for Teams

  • Multiple apps and environments
  • Invite team members to collaborate on releases
  • Logs of version checks and update events
  • Fine-grained control over distribution strategy
  • Ideal for enterprise, staging, and production pipelines

🌍 Maintained by AppDraft

Crafted by AppDraft β€” your partner in scalable, reliable Flutter and web development.
We specialize in plugins that power production-grade, mission-critical apps.

πŸ“ License

MIT License. See the LICENSE file for more details.

Libraries

appdraft_flutter
Main library entry point for the AppDraft Flutter package.