#Device Plugin for NativePHP Mobile
Device hardware operations including vibration, flashlight, device info, and battery status.
#Overview
The Device API provides access to device hardware features and information.
#Installation
Copied!
composer require nativephp/mobile-device
#Usage
#PHP (Livewire/Blade)
Copied!
use Native\Mobile\Facades\Device; // Vibrate the deviceDevice::vibrate(); // Toggle flashlight$result = Device::toggleFlashlight();// Returns: ['success' => true, 'state' => true|false] // Get device ID$result = Device::getId();// Returns: ['id' => 'unique-device-id'] // Get device info$result = Device::getInfo();// Returns: ['info' => '{"name":"iPhone","model":"iPhone","platform":"ios",...}'] // Get battery info$result = Device::getBatteryInfo();// Returns: ['info' => '{"batteryLevel":0.85,"isCharging":false}']
#JavaScript (Vue/React/Inertia)
Copied!
import { device } from '#nativephp'; // Vibrate the deviceawait device.vibrate(); // Toggle flashlightconst flashResult = await device.toggleFlashlight();console.log('Flashlight state:', flashResult.state); // Get device IDconst idResult = await device.getId();console.log('Device ID:', idResult.id); // Get device infoconst infoResult = await device.getInfo();const info = JSON.parse(infoResult.info);console.log('Platform:', info.platform); // Get battery infoconst batteryResult = await device.getBatteryInfo();const battery = JSON.parse(batteryResult.info);console.log('Battery level:', battery.batteryLevel * 100 + '%');
#Methods
#vibrate(): array
Vibrate the device.
Returns: { success: true }
#toggleFlashlight(): array
Toggle the device flashlight on/off.
Returns: { success: boolean, state: boolean }
#getId(): array
Get the unique device identifier.
Returns: { id: string }
- iOS: Uses
identifierForVendorUUID - Android: Uses
ANDROID_ID
#getInfo(): array
Get detailed device information.
Returns: { info: string } (JSON string)
Device info includes:
name- Device namemodel- Device modelplatform- "ios" or "android"operatingSystem- OS nameosVersion- OS version stringmanufacturer- Device manufacturerisVirtual- Whether running in simulator/emulatormemUsed- Memory usage in byteswebViewVersion- WebView version
#getBatteryInfo(): array
Get battery level and charging status.
Returns: { info: string } (JSON string)
Battery info includes:
batteryLevel- Battery level from 0.0 to 1.0isCharging- Whether device is charging
#Permissions
#Android
android.permission.VIBRATE- For vibrationandroid.permission.FLASHLIGHT- For flashlight control
#iOS
No special permissions required.