Панель 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 вашего приложения.

Другие вопросы по тегам