os_updater 0.0.1
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 #
-
Pemeriksaan Pembaruan Otomatis
Lakukan pemeriksaan pembaruan padainitState()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:
SchedulerBindingmemastikan bahwa state widget sudah termuat sebelum melakukan pemeriksaan pembaruan.- Dialog interaktif akan ditampilkan untuk pengguna memutuskan apakah ingin mengunduh pembaruan atau tidak.
-
Backend URL Pastikan
YOUR_BACKEND_URLadalah 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.