I had a similar problem. Only the uninstall button appears in the store.
This only happened when the dynamic links had parameters directly in the link. The solution that I found together with my team was to transform all parameter data into json and then transform them into a base64 and pass that base64 in the link.
That way it worked normally, I just had to convert the base64 to json when it arrives in the app.
I hope you understand, I don't know English very well.
Example:
(Old link)
https://example.page.link/hSH85XP7o6Afan1Q6
-> After load -> https://example.page.link/?code=MTUzMzYw
(new link)
https://example.page.link/6AFi -> After load -> https://example.page.link/eyJjb2RlIjoiT0RBNCIsImdyb3VwdHJhaW5pbmciOiJNek0zT0E9PSJ9
Base64 = eyJjb2RlIjoiT0RBNCIsImdyb3VwdHJhaW5pbmciOiJNek0zT0E9PSJ9
When converted the base64 becomes a JSON with the code
/// Data dynamic link in Flutter
Future<void> handleDeepLink(Uri deepLink) async {
dynamic code, groupTraining;
Codec<String, String> stringToBase64 = utf8.fuse(base64);
String data =
(deepLink.pathSegments.isNotEmpty) ? deepLink.pathSegments[0] : "";
String stringDecoded = stringToBase64.decode(data);
Map<String, dynamic> dataDecoded =
(stringDecoded.isNotEmpty) ? jsonDecode(stringDecoded) : {};
code = dataDecoded['code'];
groupTraining = dataDecoded['grouptraining'];
...
}
Attention: according to the documentation it is wrong to use the dynamic link directly in the final link, so if you debug the link you will see that it has a warning, but it works that way.