Skip to content

wilsonatb/nativephp-in-app-reviews

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InAppReviews Plugin for NativePHP Mobile

NativePHP plugin for requesting app reviews on Android (Google Play) and iOS (App Store).

Screenshots

iOS In-App Review Prompt

Installation

composer require wilsonatb/nativephp-in-app-reviews

php artisan native:plugin:register wilsonatb/nativephp-in-app-reviews

Usage (PHP)

Basic Usage

use Nativephp\InAppReviews\Facades\InAppReviews;

// Request app review flow
$result = InAppReviews::requestReview();

// Result contains status information
// $result->status = 'review_process_started'

In Livewire Components

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)

import { requestReview } from './vendor/nativephp/in-app-reviews/resources/js/InAppReviews.js';

// Request review flow
async 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 status property
    • Platform-specific behavior:
      • Android: Launches Google Play In-App Review flow
      • iOS: Requests App Store Review using StoreKit

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:

License

MIT

About

NativePHP plugin for requesting app reviews on Android (Google Play) and iOS (App Store).

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors