Skip to content

A Godot plugin that provides a unified GDScript interface for in-app reviews via Google Play and App Store.

License

Notifications You must be signed in to change notification settings

godot-sdk-integrations/godot-inapp-review

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

      


Godot In-app Review Plugin

In-app Review Plugin provides access to in-app review functionality for Google Play Store on the Android platform and Apple App Store on the iOS platform through a unified GDScript interface.

Features:

  • Enable in-app review for Google Play
  • Enable in-app review for App Store

Table of Contents


Installation

Uninstall previous versions before installing. If using both Android & iOS, ensure same addon interface version.

Options:

  1. AssetLib
    • Search for In-app Review
    • Click DownloadInstall
    • Install to project root, Ignore asset root checked
    • Enable via Project → Project Settings → Plugins
    • For iOS, also enable via the export settings
    • Ignore file conflict warnings for GDScript interface files when installing both versions
  2. Manual
    • Download release from GitHub
    • Unzip to project root
    • Enable via Project → Project Settings → Plugins
    • For iOS, also enable via the export settings

Usage

Add an InappReview node to your scene and follow the following steps:

  • register listeners for the all signals emitted from the InappReview node
  • call the generate_review_info() method of the InappReview node
  • when the review_info_generated signal is received, call the launch_review_flow() of the InappReview node
    • Depending on platform Google Play or App Store API will display a review dialog
    • Dialog may not be displayed if the review flow was launched recently
  • normal app functionality can resume when review_flow_launched signal is received

Demo

The demo app's only purpose is to provide sample code. Since the demo app is not registered with the Google Play store or App Store, the in-app review dialog will not be displayed.


Signals

  • review_info_generated: Emitted when info generation succeeded.
  • review_info_generation_failed: Emitted when info generation failed.
  • review_flow_launched: Emitted when review flow launched.
  • review_flow_launch_failed: Emitted when review flow launch failed.

Platform-Specific Notes

Android

  • Build: Create custom Android gradle build.
  • Registration: App must be registered with the Google Play Store.
  • Troubleshooting:
    • Logs: adb logcat | grep 'godot' (Linux), adb.exe logcat | select-string "godot" (Windows)
    • No review dialog shown: Check Google Play quotas

iOS

  • Registration: App must be registered with the App Store.
  • Troubleshooting:
    • View XCode logs while running the game for troubleshooting.
    • See Godot iOS Export Troubleshooting.
    • Export settings: Plugin must be enabled also in the export settings.

Links


All Plugins

Plugin Android iOS Free Open Source License
Notification Scheduler MIT
Admob MIT
Deeplink MIT
Share MIT
In-App Review MIT

Video Tutorials

Google Play Reviews with the In-app Review Plugin -- by Code Artist

Admob Plugin on Android


Credits

Developed by Cengiz

iOS part is based on DrMoriarty's Godot iOS Plugin Template

Original repository: Godot In-app Review Plugin


Contributing

This section provides information on how to build the plugin for contributors.


Common Configuration

The common/config.properties file allows for the configuration of:

  • The name of the main plugin node in Godot
  • Plugin version
  • Version of Godot that the plugin depends on
  • Release type of the Godot version to download (ie. stable, dev6, or beta3)

iOS

Prerequisites


iOS Configuration

Among other settings, the ios/config/config.properties file allows for the configuration of:

  • The target iOS platform version
  • Valid/compatible Godot versions

Build

Build All and Create Release Archives for Both Platforms

  • Run ./script/build.sh -R -- creates all 3 archives in the ./release directory

iOS Builds

iOS build script can be run directly as shown in the examples below.

  • Run ./ios/script/build.sh -A initially to run a full build
  • Run ./ios/script/build.sh -cgA to clean, redownload Godot, and rebuild
  • Run ./ios/script/build.sh -ca to clean and build without redownloading Godot
  • Run ./ios/script/build.sh -cbz to clean and build plugin without redownloading Godot and package in a zip archive
  • Run ./ios/script/build.sh -h for more information on the build script

Alternatively, iOS build script can be run through the root-level build script as follows

  • Run ./script/build.sh -i -- -cbz to clean and build plugin without redownloading Godot and package in a zip archive
  • Run ./script/build.sh -i -- -h for more information on the build script

Install Script

  • Run ./ios/script/install.sh -t <target directory> -z <path to zip file> install plugin to a Godot project.
  • Example ./ios/script/install.sh -t demo -z build/release/ThisPlugin-v4.0.zip to install to demo app.

Libraries

Library archives will be created in the build/release directory.


Android


Android Configuration

The android/gradle/lib.versions.toml contains:

  • Gradle plugins and their versions
  • Library dependencies and their versions

Build

Options:

  1. Use Android Studio to build via Build->Assemble Project menu
    • Switch Active Build Variant to release and repeat
    • Run packageDistribution task to create release archive
  2. Use project-root-level build.sh script
    • ./script/build.sh -ca - clean existing build, do a debug build for Android
    • ./script/build.sh -carz - clean existing build, do a release build for Android, and create release archive in the android/<plugin-name>/build/dist directory

About

A Godot plugin that provides a unified GDScript interface for in-app reviews via Google Play and App Store.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  

Contributors 2

  •  
  •