у меня есть приложение флаттера и основной бэкэнд asp.net Процесс авторизации моего приложения выглядит так: приложение -> браузер (логин/пароль) -> серверная часть, которая генерирует токен -> метод get, который перенаправляет на динамическую ссылку с токеном (это государственные ресурсы, поэтому авторизация сложная) как я упоминал ранее, динамическая ссылка отлично работает, если открыть ее напрямую, но не работает, если попытаться открыть ее из перенаправления браузера (она открывает пустую страницу Play Market или перенаправляет на домен) Мой основной код генерации ссылок и перенаправления asp.net выглядит так:
var fireBaseLink = new FireBaseLink
{
DynamicLinkInfo = new DynamicLinkInfo
{
DomainUriPrefix = "domain",
Link = $"site/?token = {"3123131"}",
IosInfo = new IosInfo()
{
IosBundleId = "package"
},
AndroidInfo = new AndroidInfo()
{
AndroidPackageName = "package"
},
}
};
var json = JsonConvert.SerializeObject(fireBaseLink);
var data = new StringContent(json, Encoding.UTF8, "application/json");
var url = $"https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key = {firebase token}";
using var client = new HttpClient();
var response = await client.PostAsync(url, data);
var result = await response.Content.ReadAsStringAsync();
FireBaseDynamicLinkResult dynamicLink = JsonConvert.DeserializeObject<FireBaseDynamicLinkResult>(result);
return Redirect(dynamicLink.ShortLink);
Любые советы, пожалуйста... Я тестировал на некоторых телефонах: некоторые нормально открывают приложение, а некоторые телефоны открывают пустую страницу плей маркета, но если я пытаюсь несколько раз, на второй и выше запускается открытое приложение. Но через некоторое время снова не работает. Я думаю, что это связано с именем пакета, но если переустановить приложение, оно работает так же.
Я решил эту проблему, используя этот пакет Я знаю, что это не полное решение, но, по крайней мере, я достиг своей цели.