Проблема в том, что когда приложение установлено (либо через внутренний тестовый трек Google Play, либо загружено неопубликовано), Ссылка на приложение Android отключена по умолчанию. Пользователям необходимо вручную:
- перейти в «Настройки (телефона)» > «Приложения» > «Установить по умолчанию» > «Поддерживаемые веб-адреса»,
- Переключите переключатель для уже существующей ссылки (например, myfirebasedomain.com).

Мой вопрос: как я могу гарантировать, что ссылка на приложение Android включено по умолчанию при установке приложения из Google Play? Существует ли конфигурация или известный обходной путь, позволяющий избежать необходимости включать ссылку вручную?
ОБНОВИТЬ Что я пробовал:
Я перешел по ссылке, указанной в комментариях, и пролистал ее тщательной расческой. Вот вещи, которые я не только пробовал, но и просматривал снова и снова в поисках всего, что мог упустить из виду.
Но есть ли здесь «что-то еще», пролетающее вне поля зрения? Например, вполне вероятно, что Google Play может приостановить проверку до тех пор, пока приложение не будет полностью проверено, и, поскольку оно находится на стадии разработки (помните, я помещаю это в песочницу в MRE POC), оно определенно еще не было отправлено на проверку.
- Скомпилировано в режиме выпуска:
< ul>
Встроен APK в Режим выпуска, чтобы убедиться, что он подписан с правильным хранилищем ключей и подходит для проверки домена. - Подтвержденная подпись APK:
- Использована команда keytool -printcert -jarfile для извлечения SHA- 256 отпечатка сертификата подписи APK.
- Подтверждено, что извлеченный отпечаток SHA-256 соответствует отпечатку, указанному в файле assetslinks.json.
- Проверил файл assetslinks.json Доступность:
- Проверил, что файл assetslinks.json< /code> файл размещен по адресу https://echoessyncproxy.com/.well-known/assetlinks.json.
- Подтверждение доступности путем ввода URL-адреса непосредственно в браузере.
- Протестированная проверка домена:
- < li>Запустите оболочку adb pm get-app-links com.ivsoftware.echoessyncproxy.maui для проверки состояния проверки домена.
- Обнаружено, что статус домена равен 1024, что указывает на сбой проверки.
- Проверенное поведение ссылок на приложения:
- Проверил ссылку на приложение с помощью оболочки adb am. start -a android.intent.action.VIEW -d "https://echoessyncproxy.com/auth".
- Подтверждено, что вызывается WebAuthenticatorCallbackActivity, указывает, что IntentFilter работает должным образом.
Вот действие обратного вызова веб-аутентификатора (который, опять же, работает!) с показанным AutoVerify=True.
Код: Выделить всё
using Android.App;
using Android.Content;
using Android.OS;
namespace GoogleDriveLocalSyncProxy.Maui.TestProject.Platforms.Android
{
[Activity(Label = "FirebaseCallback", Exported = true)]
[IntentFilter(new[] { Intent.ActionView },
Categories = new[] { Intent.CategoryDefault, Intent.CategoryBrowsable },
DataScheme = "https",
DataHost = "echoessyncproxy.com",
DataPath ="/auth",
DataPathPrefix = "/auth",
AutoVerify = true)]
public class FirebaseCallback : WebAuthenticatorCallbackActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
System.Diagnostics.Debug.WriteLine($"{nameof(WebAuthenticatorCallbackActivity)}: code = {Intent?.Data?.GetQueryParameter("code")}");
}
}
}
https://echoessyncproxy.com/.well-known/assetlinks.json
Код: Выделить всё
{
"relation": [ "delegate_permission/common.handle_all_urls" ],
"target": {
"namespace": "android_app",
"package_name": "com.ivsoftware.echoessyncproxy.maui",
"sha256_cert_fingerprints": [
"A8:F5:14:1E:38:A7:1E:83:56:DC:63:9B:94:DF:06:B5:A1:54:06:BB:45:E7:02:E8:F0:2A:61:CC:55:58:C5:CA",
"BB:D1:A0:90:5E:E9:F6:71:23:CB:99:A6:84:18:7A:E2:CD:BF:4B:AE:F8:C0:C6:46:6E:65:5C:8B:A8:3D:2C:34"
]
}
}
Код: Выделить всё
>keytool -printcert -jarfile ...
Signer #1:
Certificate #1:
Owner: CN={my name}, OU={my org unit}, O={my company}, L={my city}, ST={my state}, C={my country}
Issuer: CN={my name}, OU={my org unit}, O={my company}, L={my city}, ST={my state}, C={my country}
Serial number: 1047269e
Valid from: Tue Dec 03 14:31:15 MST 2024 until: Sat Apr 20 15:31:15 MDT 2052
Certificate fingerprints:
SHA1: A6:4F:C9:B3:A5:55:27:87:C5:DF:6F:2A:3B:BA:16:5A:4E:C0:7E:90
SHA256: BB:D1:A0:90:5E:E9:F6:71:23:CB:99:A6:84:18:7A:E2:CD:BF:4B:AE:F8:C0:C6:46:6E:65:5C:8B:A8:3D:2C:34
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
>adb shell pm get-app-links com.ivsoftware.echoessyncproxy.maui
com.ivsoftware.echoessyncproxy.maui:
ID: 926983c3-9969-42f4-9e39-e408c79dcc14
Signatures: [BB:D1:A0:90:5E:E9:F6:71:23:CB:99:A6:84:18:7A:E2:CD:BF:4B:AE:F8:C0:C6:46:6E:65:5C:8B:A8:3D:2C:34]
Domain verification state:
echoessyncproxy.com: 1024
Подробнее здесь: https://stackoverflow.com/questions/792 ... -otherwise
Мобильная версия