The Vibes — the unofficial Laracon US Day 3 event. Early Bird tickets available until March 31!
Plugin Marketplace

codingwithrk/package-info

A NativePHP Mobile plugin provides an API for querying information about an application package.

#PackageInfo Plugin for NativePHP Mobile

A NativePHP Mobile plugin that provides an API for querying application package information — similar to Flutter's package_info_plus.

#Installation

Copied!
composer require codingwithrk/package-info

The service provider is auto-discovered by Laravel.

#Usage

#Via Facade

Copied!
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() returns null when 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:

Copied!
$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:

Copied!
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 [email protected]

#License

The MIT License (MIT). Please see License File for more information.