os_updater 0.0.1 copy "os_updater: ^0.0.1" to clipboard
os_updater: ^0.0.1 copied to clipboard

OS Updater is in app update for who useing side loading apps for distribute

OS Updater #

OS Updater adalah solusi untuk menangani proses pembaruan aplikasi secara langsung (in-app update) pada aplikasi Flutter Anda, khususnya jika distribusi aplikasi dilakukan melalui metode sideloading. Dengan package ini, Anda dapat dengan mudah mendeteksi dan mengelola pembaruan aplikasi tanpa memerlukan integrasi yang rumit.

Fitur #

  • Deteksi Pembaruan Otomatis: Memeriksa apakah versi aplikasi terbaru tersedia.
  • Antarmuka Interaktif: Menampilkan dialog untuk pengguna memutuskan apakah ingin mengunduh pembaruan.
  • Dukungan Sideloading: Cocok untuk aplikasi yang tidak didistribusikan melalui Google Play Store.
  • Permission Management: Otomatis mengelola semua izin yang diperlukan.

Instalasi #

1. Tambahkan ke pubspec.yaml #

Tambahkan dependensi package ini ke file pubspec.yaml:

dependencies:
  os_updater: ^1.0.0

2. Konfigurasi Android #

Pada aplikasi Android Anda, tambahkan izin berikut ke file AndroidManifest.xml:

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

3. Inisialisasi di Kode Flutter #

Tambahkan inisialisasi berikut pada main() untuk mengatur URL backend Anda:

import 'package:os_updater/os_updater.dart';

void main() {
  UpdateManager.initialize('YOUR_BACKEND_URL');
  runApp(MyApp());
}

Cara Penggunaan #

  1. Pemeriksaan Pembaruan Otomatis
    Lakukan pemeriksaan pembaruan pada initState() dengan kode berikut:

    import 'package:os_updater/os_updater.dart';
    import 'package:flutter/scheduler.dart';
    
    @override
    void initState() {
      super.initState();
    
      SchedulerBinding.instance.addPostFrameCallback(
        (timeStamp) async {
          await UpdateManager.instance.checkForUpdate(
            "HidupBanjaran",  // Nama aplikasi
            appVersion,       // Versi aplikasi saat ini
            context           // Context untuk menampilkan dialog
          );
        },
      );
    }
    

    Catatan:

    • SchedulerBinding memastikan bahwa state widget sudah termuat sebelum melakukan pemeriksaan pembaruan.
    • Dialog interaktif akan ditampilkan untuk pengguna memutuskan apakah ingin mengunduh pembaruan atau tidak.
  2. Backend URL Pastikan YOUR_BACKEND_URL adalah URL server yang menyediakan metadata versi aplikasi terbaru.

Izin #

Package ini secara otomatis meminta izin berikut kepada pengguna:

  • WRITE_EXTERNAL_STORAGE: Menyimpan file pembaruan.
  • READ_EXTERNAL_STORAGE: Membaca file pembaruan.
  • REQUEST_INSTALL_PACKAGES: Memungkinkan instalasi paket APK.

Contoh Lengkap #

Berikut adalah contoh implementasi lengkap:

import 'package:flutter/material.dart';
import 'package:os_updater/os_updater.dart';
import 'package:flutter/scheduler.dart';

void main() {
  UpdateManager.initialize('https://example.com/backend');
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomeScreen(),
    );
  }
}

class HomeScreen extends StatefulWidget {
  @override
  _HomeScreenState createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  final String appVersion = "1.0.0";

  @override
  void initState() {
    super.initState();

    SchedulerBinding.instance.addPostFrameCallback(
      (timeStamp) async {
        await UpdateManager.instance.checkForUpdate(
          "HidupBanjaran",
          appVersion,
          context,
        );
      },
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('In-App Update Example'),
      ),
      body: Center(
        child: Text('Welcome to the app!'),
      ),
    );
  }
}

Lisensi #

Package ini dilisensikan di bawah MIT License.

0
likes
0
points
47
downloads

Publisher

unverified uploader

Weekly Downloads

OS Updater is in app update for who useing side loading apps for distribute

Homepage

License

unknown (license)

Dependencies

device_info_plus, dio, flutter, open_file, path_provider, permission_handler

More

Packages that depend on os_updater