
Publisher
cengizpz
Android Deeplink Plugin
Android Deeplink Plugin allows processing of Android application links that enable direct navigation to requested app content. Installation Steps: - click Download button - on the installation dialog... -> keep Change Install Folder setting pointing to your project's root directory -> keep Ignore asset root checkbox checked -> click Install button - enable the plugin via Project->Project Settings...->Plugins in the Godot Editor - for usage info, see https://github.com/cengiz-pz/godo...
This plugin has been mirrored from the Godot Asset Library.
The plugin author is in no way affiliated with Gadget.
If you are the author of this plugin and would like this mirror removed, please contact support@gadgetgodot.com.
Deeplink Plugin
Deeplink plugin allows processing of Android application links that enable direct navigation to requested app content.
For iOS version, visit https://github.com/cengiz-pz/godot-ios-deeplink-plugin .
Prerequisites
Follow instructions on the following page to create a custom Android gradle build
Follow instructions on the following page to associate your Godot app with your website:
Installation
There are 2 ways to install the Deeplink plugin into your project:
- Through the Godot Editor's AssetLib
- Manually by downloading archives from Github
Before starting installation, please delete any other versions of this plugin.
Installing via AssetLib
Steps:
- search for and select the
Deeplinkplugin in Godot Editor - click
Downloadbutton - on the installation dialog...
- keep
Change Install Foldersetting pointing to your project's root directory - keep
Ignore asset rootcheckbox checked - click
Installbutton
- keep
- enable the plugin via the
Pluginstab ofProject->Project Settings...menu, in the Godot Editor
Installing manually
Steps:
- download release archive from Github
- unzip the release archive
- copy to your Godot project's root directory
- enable the plugin via the
Pluginstab ofProject->Project Settings...menu, in the Godot Editor
Usage
- Add
Deeplinknodes to your scene per URL association and follow the following steps:- set the required field on each
Deeplinknodeschemehostpath prefix
- note that
scheme,host, andpath prefixmust all match for a URI to be processed by the app- leave
path prefixempty to process all paths inhost
- leave
- set the required field on each
- register a listener for the
deeplink_receivedsignal- process
url,scheme,host, andpathdata from the signal
- process
- invoke the
initialize()method at startup - alternatively, use the following methods to get most recent deeplink data:
get_link_url()-> full URL for the deeplinkget_link_scheme()-> scheme for the deeplink (ie. 'https')get_link_host()-> host for the deeplink (ie. 'www.example.com')get_link_path()-> path for the deeplink (the part that comes after host)
- additional methods:
is_domaster_associated(a_domaster: String)-> returns true if your application is correctly associated with the given domaster on the tested devicenavigate_to_open_by_default_settings()-> navigates to the Android OS'Open by Defaultsettings screen for your application
Testing
adb shell command can be used to simulate app links as follows:
$> adb shell am start -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d "https://www.example.com/mydata/path"
Android Export
- Make sure that the scene that contains your Deeplink nodes is selected in the Godot Editor when building and exporting for Android
- Close other scenes to make sure
- Deeplink nodes will be searched in the scene that is currently open in the Godot Editor Android export requires several configuration settings.
File-based Export Configuration
In order to enable file-based export configuration, an export.cfg file should be placed in the addons/DeeplinkPlugin directory. The export.cfg configuration file may contain multiple deeplink configurations. The scheme and host properties are mandatory for each deeplink configuration.
The following is a sample export.cfg file:
[Deeplink1]
label = "deeplink1"
is_auto_verify = true
is_default = true
is_browsable = true
scheme = "https"
host = "www.example.com"
path_prefix = "/my_data"
[Deeplink2]
scheme = "https"
host = "www.example2.com"
Node-based Export Configuration
If export.cfg file is not found or file-based configuration fails, then the plugin will attempt to load node-based configuration.
During Android export, the plugin searches for Deeplink nodes in the scene that is open in the Godot Editor. If none found, then the plugin searches for Deeplink nodes in the project's master scene. Therefore;
- Make sure that the scene that contains the
Deeplinknode(s) is selected in the Godot Editor when building and exporting for Android, or - Make sure that your Godot project's master scene contains an
Deeplinknode(s).
Troubleshooting
Unhandled Deeplinks
If your game is not handling your deeplinks, then make sure to revisit the Android Export and Prerequisites sections.
ADB logcat
adb logcat is one of the best tools for troubleshooting unexpected behavior
- use
$> adb logcat | grep 'godot'on Linuxadb logcat *:Wto see warnings and errorsadb logcat *:Eto see only errorsadb logcat | grep 'godot|somethingElse'to filter using more than one string at the same time
- use
#> adb.exe logcat | select-string "godot"on powershell (Windows)
Also check out: https://docs.godotengine.org/en/stable/tutorials/platform/android/android_plugin.html#troubleshooting
Credits
Developed by Cengiz
Original repository: Godot Android Deeplink Plugin
Contribution
This section provides information on how to build the plugin for contributors.
Prerequisites
Refreshing addon submodule
- Remove
deeplink/addon_templatedirectory - Run
git submodule update --remote --merge