InAppReviews Plugin for NativePHP Mobile#
NativePHP plugin for requesting app reviews on Android (Google Play) and iOS (App Store).
Installation#
Copied!
composer require wilsonatb/nativephp-in-app-reviews php artisan native:plugin:register wilsonatb/nativephp-in-app-reviews
Usage (PHP)#
Basic Usage#
Copied!
use Nativephp\InAppReviews\Facades\InAppReviews; // Request app review flow$result = InAppReviews::requestReview(); // Result contains status information// $result->status = 'review_process_started'
In Livewire Components#
Copied!
use Livewire\Component;use Nativephp\InAppReviews\Facades\InAppReviews; class ReviewComponent extends Component{ public ?string $reviewStatus = null; public function requestReview(): void { $result = InAppReviews::requestReview(); $this->reviewStatus = $result->status ?? 'unknown'; } public function render() { return view('livewire.review-component'); }}
Usage (JavaScript)#
In Vue/React Components (Inertia)#
Copied!
import { requestReview } from './vendor/nativephp/in-app-reviews/resources/js/InAppReviews.js'; // Request review flowasync function requestAppReview() { try { const result = await requestReview(); console.log('Review process started:', result.status); } catch (error) { console.error('Failed to request review:', error); }}
Available JavaScript Functions#
requestReview(): Requests the app review flow
Available Methods#
PHP Facade Methods#
InAppReviews::requestReview(): ?object- Requests the app review flow- Returns: Object with
statusproperty - Platform-specific behavior:
- Android: Launches Google Play In-App Review flow
- iOS: Requests App Store Review using StoreKit
- Returns: Object with
Required Permissions#
No additional permissions required. Both Google Play In-App Review and App Store Review use system-provided dialogs.
Platform-Specific Behavior#
Android#
- Uses Google Play In-App Review API (com.google.android.play:review:2.0.2)
- Minimum Android SDK version: 30
- The review dialog is shown by Google Play services
- User can rate the app without leaving your app
iOS#
- Uses StoreKit's modern AppStore.requestReview API (with fallbacks for older versions)
- Minimum iOS version: 16.0
- The review request is managed by iOS
- Apple may limit how often the prompt appears
Testing on Real Devices#
Android Testing#
- Test on a physical Android device (not just emulator)
- Google Play In-App Review requires the app to be published in Google Play (internal/alpha/beta track)
- Use Google Play internal testing track for development
iOS Testing#
- Test on a physical iPhone/iPad
- App Store Review requires the app to be published in TestFlight
- Use TestFlight for development
Frontend Stack Compatibility#
Tested with:
- ✅ Livewire v3
- ✅ Livewire v4
- ✅ Inertia + Vue 3
- ✅ Inertia + React
Environment Variables#
No environment variables required.
Support#
For issues, questions, or feature requests:
- Email: [email protected]
- GitHub Issues: Issues
License#
MIT