|
14 | 14 |
|
15 | 15 | #include <assert.h> |
16 | 16 |
|
| 17 | +#include <cstddef> |
17 | 18 | #include <map> |
18 | 19 | #include <string> |
19 | 20 |
|
20 | | -#include "dynamic_links/src/include/firebase/dynamic_links.h" |
21 | | -#include "dynamic_links/src/include/firebase/dynamic_links/components.h" |
22 | | - |
23 | 21 | #include "app/src/assert.h" |
24 | 22 | #include "app/src/include/firebase/variant.h" |
25 | 23 | #include "app/src/include/firebase/version.h" |
26 | 24 | #include "app/src/reference_counted_future_impl.h" |
27 | 25 | #include "dynamic_links/src/common.h" |
| 26 | +#include "dynamic_links/src/include/firebase/dynamic_links.h" |
| 27 | +#include "dynamic_links/src/include/firebase/dynamic_links/components.h" |
28 | 28 |
|
29 | 29 | namespace firebase { |
30 | 30 | namespace dynamic_links { |
@@ -96,10 +96,15 @@ std::string QueryStringFromMap( |
96 | 96 | static GeneratedDynamicLink LongLinkFromComponents( |
97 | 97 | const DynamicLinkComponents& components) { |
98 | 98 | GeneratedDynamicLink generated_link; |
99 | | - if (components.link == nullptr || components.dynamic_link_domain == nullptr || |
100 | | - strlen(components.link) == 0 || |
101 | | - strlen(components.dynamic_link_domain) == 0) { |
102 | | - generated_link.error = "No domain or target link specified."; |
| 99 | + if (components.link == nullptr || strlen(components.link) == 0) { |
| 100 | + generated_link.error = "No target link specified."; |
| 101 | + return generated_link; |
| 102 | + } |
| 103 | + if ((components.dynamic_link_domain == nullptr || |
| 104 | + strlen(components.dynamic_link_domain) == 0) && |
| 105 | + (components.domain_uri_prefix == nullptr || |
| 106 | + strlen(components.domain_uri_prefix) == 0)) { |
| 107 | + generated_link.error = "No domain specified."; |
103 | 108 | return generated_link; |
104 | 109 | } |
105 | 110 | std::map<std::string, std::string> query_parameters; |
@@ -170,9 +175,11 @@ static GeneratedDynamicLink LongLinkFromComponents( |
170 | 175 | params->image_url); |
171 | 176 | } |
172 | 177 | } |
173 | | - generated_link.url = std::string("https://") + |
174 | | - components.dynamic_link_domain + "/" + |
175 | | - QueryStringFromMap(query_parameters); |
| 178 | + std::string domain = |
| 179 | + components.domain_uri_prefix != nullptr |
| 180 | + ? components.domain_uri_prefix |
| 181 | + : std::string("https://") + components.dynamic_link_domain; |
| 182 | + generated_link.url = domain + "/" + QueryStringFromMap(query_parameters); |
176 | 183 | return generated_link; |
177 | 184 | } |
178 | 185 |
|
|
0 commit comments