Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Php Pushwoosh

Php Pushwoosh Laravel Package

gomoob/php-pushwoosh

A PHP library for the Pushwoosh push notification service. It provides a clean client to send notifications, target devices and segments, manage device registration, and query statistics through Pushwoosh's API, using a service-oriented architecture built on Guzzle.

Deep Wiki
Context7

gomoob/php-pushwoosh is a PHP client library for the Pushwoosh push notification service, making it easy to integrate mobile messaging into Laravel or plain PHP applications. It wraps the Pushwoosh API with a clean object-oriented interface, so you can send targeted notifications and manage remote devices without hand-writing HTTP requests.

  • Send push notifications to iOS and Android devices
  • Manage registered devices and assign tags for segmentation
  • Access Pushwoosh application and notification APIs
  • Composer-ready with a simple, framework-agnostic PHP API
  • Supports targeted messaging through device filters and tag-based audiences
Frequently asked questions about Php Pushwoosh
How do I install gomoob/php-pushwoosh in a Laravel project?
Install it with Composer using composer require gomoob/php-pushwoosh. It is a thin PHP SDK rather than a Laravel-native package, so it will not register a Laravel service provider automatically. Create your own wrapper or container binding and validate its Composer constraints against your Laravel and PHP versions in a non-production spike. If dependency conflicts appear, plan to fork the package or replace it with a small first-party REST client.
Does gomoob/php-pushwoosh support Laravel 10 and PHP 8.1?
Official compatibility is not guaranteed. The package had its last release in 2017 and may pin old Guzzle or PHP constraints that conflict with modern Laravel and PHP 8.1+ applications. Run a time-boxed Composer spike against your exact stack before committing. If conflicts or runtime errors appear, a fork or a minimal Laravel HTTP client implementation is the safer path.
Is gomoob/php-pushwoosh actively maintained?
No, project activity is low and the last release was in 2017. Treat it as unmaintained unless your team forks it and takes ownership. Expect community-only support for the package, with separate Pushwoosh vendor support for the API itself. Budget for eventual replacement even if the MIT license is permissive.
How do I send a push notification with gomoob/php-pushwoosh in Laravel?
Wrap the SDK behind an application-owned interface such as PushwooshGateway and bind it in Laravel's service container. Store Pushwoosh credentials in config and environment variables, build an application-owned DTO for the message payload, and dispatch sends through queued jobs. Avoid calling the SDK synchronously in controllers or request paths. Add structured logging around sends so failures and latency are visible.
What are the risks of using gomoob/php-pushwoosh in production?
The main risk is high lifecycle risk: the package is old, may pin outdated Guzzle or PHP constraints, and may lag Pushwoosh API changes. It may also have limited tests and security maintenance, and the MIT license does not remove maintenance risk. Pin the version, run dependency and security scanning, keep the adapter thin, and plan for a fork or replacement. Monitor sends closely and document an internal runbook.
Can I use gomoob/php-pushwoosh to manage Pushwoosh devices and tags?
Yes, the library provides an object-oriented API for sending notifications and managing devices, tags, and app settings. Confirm the exact Pushwoosh endpoints and features you need against the package code and current Pushwoosh API documentation. Keep vendor classes out of controllers and domain code by wrapping device and tag operations in your own adapter. This makes later replacement much cheaper.
How should I handle errors and retries with gomoob/php-pushwoosh?
Catch SDK exceptions in your adapter, log structured context, and translate errors into application-level results. Use queued jobs with bounded retries and exponential backoff, plus timeout settings that match Pushwoosh API behavior. Be careful with idempotency because retrying push sends can duplicate notifications. Route exhausted retries to a dead-letter queue and monitor error rates, latency, and queue depth.
What are alternatives to gomoob/php-pushwoosh for Laravel?
Because the package is a REST wrapper, a small first-party client using Laravel's HTTP client for only the Pushwoosh endpoints you need is often the lowest-risk alternative. You can also fork gomoob/php-pushwoosh under an internal namespace and maintain it yourself, or evaluate another maintained Pushwoosh SDK if one exists. Keep the integration behind an application-owned interface so switching implementations stays contained.
How do I configure Pushwoosh credentials with gomoob/php-pushwoosh in Laravel?
Put the Pushwoosh application ID, auth token, and any other secrets in environment variables and Laravel config, never in code. Bind a configured client instance through a service provider or a dedicated factory. Document a credential rotation runbook and avoid committing secrets to the repository. Use the same config path for local, staging, and production while keeping values environment-specific.
Can I test gomoob/php-pushwoosh integration without sending real notifications?
Use a Pushwoosh sandbox or test application if available, and mock your application-owned gateway interface in unit tests. Add contract tests against the sandbox with test device tokens to verify request shapes, error handling, and timeout behavior. Do not use production credentials or real user tokens in automated tests. This approach keeps tests fast while still catching integration regressions.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core
nodisrupt/laravel-agent
sierratecnologia/media-manager