Панель URL TWA не скрывается
Мы пытаемся протолкнуть наш PWA в магазин Android Play с помощью TWA, используя коды из этого репозитория github https://github.com/GoogleChromeLabs/svgomg-twa. Следуя инструкциям по отладке ссылок на цифровые активы, я получаю сообщение:
$ adb logcat | grep -e OriginVerifier -e digital_asset_links
10-11 08:37:29.701 5299 5299 I cr_OriginVerifier: Verification succeeded.
Если на виртуальном устройстве панель URL-адреса удалена.
Однако при доступе к приложению с реального устройства, загруженного из магазина Play, отображается панель URL. Кроме того, я проверил с помощью строки URL, что PWA работает на Chrome. Это было подтверждено на Huawei P20 Pro и Samsung S8.
РЕДАКТИРОВАТЬ: добавлена конфигурация build.gradle
apply plugin: 'com.android.application'
def twaManifest = [
applicationId: 'health.tuli.portal',
hostName: 'portal.tuli.health',
launchUrl: '/',
name: 'tuli.health',
themeColor: '#522f81',
backgroundColor: '#522f81',
enableNotifications: true,
useBrowserOnChromeOS: true
]
android {
compileSdkVersion 28
defaultConfig {
applicationId twaManifest.applicationId
minSdkVersion 16
targetSdkVersion 28
versionCode 6
versionName "0.0.6"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
resValue "string", "appName", twaManifest.name
resValue "string", "launchUrl", "https://" + twaManifest.hostName + twaManifest.launchUrl
resValue "string", "hostName", twaManifest.hostName
resValue "string", "assetStatements",
'[{ \\"relation\\": [\\"delegate_permission/common.handle_all_urls\\"],' +
'\\"target\\": {\\"namespace\\": \\"web\\", \\"site\\": \\"https://' +
twaManifest.hostName + '\\"}}]'
resValue "color", "colorPrimary", twaManifest.themeColor
resValue "color", "backgroundColor", twaManifest.backgroundColor
resValue "string", "providerAuthority", twaManifest.applicationId + '.fileprovider'
resValue "bool", "enableNotification", twaManifest.enableNotifications.toString()
resValue "bool", "useBrowserOnChromeOS", twaManifest.useBrowserOnChromeOS.toString()
}
buildTypes {
release {
minifyEnabled true
debuggable false
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.github.GoogleChrome.custom-tabs-client:customtabs:809a55cfa2'
}
2 ответа
Так что оказалось, что я не использовал правильный отпечаток сертификата sha256 в моем файле /.well-known/assetlinks.json (как исходные инструкции, которые я заставил использовать неправильный отпечаток SHA256). Я получил правильный отпечаток SHA256, установив свой PWA из магазина приложений, а затем загрузив приложение Asset Link Tool на то же устройство, чтобы найти имя моего пакета, и использовал ссылку на цифровой ресурс, предоставленную в моем /.well-known/ файл assetlinks.json.
Трудно точно узнать, что происходит, без дополнительной информации.
Возможно ли, что происходит перенаправление? Пример: в launchUrl используется проверенный домен https://example.com/, но при открытии домена пользователь перенаправляется на https://www.example.com/?
Было бы полезно, если бы вы могли вставить содержимое для build.gradle вашего приложения.