You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/README.md
+9-6Lines changed: 9 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -57,21 +57,23 @@ If using both Android & iOS, ensure **same addon interface version**.
57
57
## <imgsrc="../addon/icon.png"width="20"> Usage
58
58
- Add `Deeplink` nodes to your scene per URL association and follow the following steps:
59
59
- set the required field on each `Deeplink` node
60
-
- `scheme`
61
-
- `host`
62
-
- `path prefix`
60
+
- `scheme` - schemes like `http`, `https`, or a custom scheme (don't include `://`)
61
+
- `host` - domain name
62
+
- `path prefix` - optional path before link is considered a deeplink
63
63
- note that `scheme`, `host`, and `path prefix` must all match for a URI to be processed by the app
64
64
- leave `path prefix` empty to process all paths in `host`
65
65
- register a listener for the `deeplink_received` signal
66
66
- process `url`, `scheme`, `host`, and `path` data from the signal
67
67
- invoke the `initialize()` method at startup
68
+
-`initialize()` plugin and connect its signals as early as possible (ie. in `_ready()` lifecycle method of your main node)
68
69
- alternatively, use the following methods to get most recent deeplink data:
69
70
- `get_link_url()` -> full URL for the deeplink
70
71
- `get_link_scheme()` -> scheme for the deeplink (ie. 'https')
71
72
- `get_link_host()` -> host for the deeplink (ie. 'www.example.com')
72
73
- `get_link_path()` -> path for the deeplink (the part that comes after host)
73
74
- additional methods:
74
75
- `is_domain_associated(a_domain: String)` -> returns true if your application is correctly associated with the given domain on the tested device
76
+
- _note: `is_domain_associated()` method does not support custom schemes_
75
77
- `navigate_to_open_by_default_settings()` -> navigates to the Android OS' `Open by Default` settings screen for your application
76
78
77
79
---
@@ -80,7 +82,7 @@ If using both Android & iOS, ensure **same addon interface version**.
80
82
81
83
## <imgsrc="../addon/icon.png"width="20"> Signals
82
84
83
-
-`deeplink_received(url: DeeplinkUrl)`: Emitted when app content is requested via deeplink.
85
+
-`deeplink_received(url: DeeplinkUrl)`: Emitted when app content is requested via deeplink. Must be connected at startup, as early as possible, or via Godot Editor.
84
86
85
87
---
86
88
@@ -123,11 +125,11 @@ path_prefix = "/my_data"
123
125
```
124
126
125
127
2.**Node-based Export Configuration**
126
-
If `export.cfg` file is not found or file-based configuration fails, then the plugin will attempt to load node-based configuration.
128
+
If `export.cfg` file is not found or file-based configuration is invalid, then the plugin will attempt to load node-based configuration.
127
129
128
130
During iOS 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 main scene. Therefore;
129
131
- Make sure that the scene that contains the `Deeplink` node(s) is selected in the Godot Editor when building and exporting for Android, or
130
-
- Make sure that your Godot project's main scene contains an `Deeplink`node(s).
132
+
- Make sure that your Godot project's main scene contains one or more `Deeplink`nodes.
131
133
132
134
---
133
135
@@ -138,6 +140,7 @@ During iOS export, the plugin searches for `Deeplink` nodes in the scene that is
0 commit comments