Bu yazımda flutter’da kullanıcıların cihaz modeli ‘nin nasıl tespit edileceğini göstereceğim. Bir mobil uygulama, farklı yapılandırmalara sahip çeşitli mobil cihazlarda çalışıyor olabilir. Bu nedenle, geliştiricilerin kullanıcıların cihaz modelini almaları önemlidir çünkü cihazlara özgü hata ve sorunları bu şekilde ele alıp soruna çözüm oluşturabilir.
Flutter’da mobil cihaz modeli nasıl öğrenilir?
Bu işlem için device_info
eklentisini kullanacağız. Bu eklenti, cihazı hakkında bilgi veren bir Flutter paketidir. Paketi, pubspec.yaml dosyasına ekleyin.
dependencies: flutter: sdk: flutter device_info: ^2.0.0
Ekledikten sonra terminalde aşağıdaki kodu çalıştırın.
flutter pub get
Aşağıdaki kodda oluşturduğumuz fonksiyon ile birlikte cihazın platforma göre cihaz bilgilerini alıyoruz.
if (Platform.isAndroid) { AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo; print(androidInfo.model); } else if (Platform.isIOS) { IosDeviceInfo iosInfo = await deviceInfo.iosInfo; print(iosInfo.utsname.machine);
Aşağıda, örnek olması açısından Flutter’da cihaz modelini tespit etmek için basit bir proje örneği oluşurtum.
import 'package:flutter/material.dart'; import 'dart:io'; import 'package:device_info/device_info.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Cihaz Modeli Öğrenme', home: FlutterExample(), ); } } class FlutterExample extends StatefulWidget { FlutterExample({Key key}) : super(key: key); @override _FlutterExampleState createState() => _FlutterExampleState(); } class _FlutterExampleState extends State<FlutterExample> { final DeviceInfoPlugin deviceInfo = DeviceInfoPlugin(); getModel() async { if (Platform.isAndroid) { AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo; print(androidInfo.model); } else if (Platform.isIOS) { IosDeviceInfo iosInfo = await deviceInfo.iosInfo; print(iosInfo.utsname.machine); } } @override void initState() { getModel(); super.initState(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text('Flutter Cihaz Modeli')), body: Center(child: Text('Cihaz Bilgisi Örneği'))); } }
Çıktı: