nativephp / mobile-device
Device hardware operations for NativePHP Mobile
Package info
github.com/NativePHP/mobile-device
Language:Kotlin
Type:nativephp-plugin
pkg:composer/nativephp/mobile-device
Requires
- php: ^8.2
- nativephp/mobile: ^3.0 || ^4.0
Requires (Dev)
- orchestra/testbench: ^10.0
- pestphp/pest: ^2.7|^3.0|^4.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Device hardware operations including vibration, flashlight, device info, and battery status.
Overview
The Device API provides access to device hardware features and information.
Installation
composer require nativephp/mobile-device
Usage
PHP (Livewire/Blade)
use Native\Mobile\Facades\Device; // Vibrate the device Device::vibrate(); // Toggle flashlight $result = Device::flashlight(); // 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)
import { Device } from '#nativephp'; // Vibrate the device await Device.vibrate(); // Toggle flashlight const flashResult = await Device.flashlight(); console.log('Flashlight state:', flashResult.state); // Get device ID const idResult = await Device.getId(); console.log('Device ID:', idResult.id); // Get device info const infoResult = await Device.getInfo(); const info = JSON.parse(infoResult.info); console.log('Platform:', info.platform); // Get battery info const 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 }
flashlight(): 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 manufacturerlanguage- Device language as BCP 47 tag (e.g. "en-US")isVirtual- 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.