codingwithrk / package-info
A NativePHP Mobile plugin provides an API for querying information about an application package.
Package info
github.com/codingwithrk/package-info
Type:nativephp-plugin
pkg:composer/codingwithrk/package-info
Requires
- php: ^8.2
- nativephp/mobile: ^3.0
Requires (Dev)
- pestphp/pest: ^3.0
README
A NativePHP Mobile plugin that provides an API for querying application package information — similar to Flutter's package_info_plus.
Installation
composer require codingwithrk/package-info
The service provider is auto-discovered by Laravel.
Usage
Via Facade
use Codingwithrk\PackageInfo\Facades\PackageInfo; $info = PackageInfo::getInfo(); if ($info) { echo $info->appName; // "My App" echo $info->packageName; // "com.example.myapp" echo $info->version; // "1.2.3" echo $info->buildNumber; // "42" echo $info->installerStore; // "com.android.vending" (Android) or "" (iOS) }
getInfo()returnsnullwhen called outside a NativePHP Mobile environment.
Returned Data
getInfo() returns a PackageInfoData value object with the following properties:
| Property | Type | Description |
|---|---|---|
appName |
string |
Human-readable application name |
packageName |
string |
Unique app identifier (bundle ID on iOS, application ID on Android) |
version |
string |
Marketing version string (e.g. "1.2.3") |
buildNumber |
string |
Build/version code as a string (e.g. "42") |
installerStore |
string |
Package name of the installing store, or empty string if unknown/not applicable |
You can also convert the data to an array:
$array = $info->toArray(); // ['appName' => '...', 'packageName' => '...', 'version' => '...', 'buildNumber' => '...', 'installerStore' => '...']
Listening for Events
After getInfo() successfully retrieves data, a PackageInfoRetrieved event is dispatched. You can listen for it in a Livewire component using the #[OnNative] attribute:
use Codingwithrk\PackageInfo\Events\PackageInfoRetrieved; use Codingwithrk\PackageInfo\PackageInfoData; use Native\Mobile\Attributes\OnNative; #[OnNative(PackageInfoRetrieved::class)] public function handlePackageInfoRetrieved(PackageInfoData $info): void { $this->appName = $info->appName; $this->version = $info->version; $this->buildNumber = $info->buildNumber; }
Platform Support
| Platform | Supported |
|---|---|
| Android | Yes |
| iOS | Yes |
Support
For questions or issues, email connect@codingwithrk.com
License
The MIT License (MIT). Please see License File for more information.