Skip to content

PAM Native Widgets

Every PAM Native product runs on the PAM runtime. Install and verify PAM first, create a Native application, and add this package through PAM Composer:

Terminal window
curl -fsSL https://github.com/push-in/pam/releases/latest/download/install.sh | sh
pam doctor
pam init my-app --template native
cd my-app
pam composer require pushinbr/pam-native-widgets
pam doctor
pam native dev
(new Widgets())->update(
'account-summary',
new WidgetContent(
title: 'Available balance',
subtitle: 'Updated just now',
value: '$1,284.00',
deepLink: 'myapp://account',
),
fn (bool $updated, ?string $error) => null,
);

Widgets publishes bounded shared state; WidgetContent defines title, subtitle, value, and route. Autolinking creates WidgetKit extension/shared entitlements and Android receiver/resources. iOS uses group.<application-id>.pam-native.

Widgets are snapshots, not a background PHP runtime. Prepare display state in the app, keep lock-screen-visible values small/non-sensitive, use stable widget identifiers, and route rich interaction back through validated named deep links.

WidgetsPluginProvider registers the Android/iOS extension contract.