TWA URL 栏未隐藏
TWA URL bar not hiding
我们正尝试使用此 github 存储库 https://github.com/GoogleChromeLabs/svgomg-twa 中的代码,通过 PWA 推送到使用 TWA 的 Android Play 商店。按照调试数字资产链接的说明,我收到消息:
$ 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 是 "Powered by Chrome"。这已在华为 P20 Pro 和三星 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'
}
如果没有更多信息,很难确切知道发生了什么。
是否可能发生了重定向?例如:launchUrl 中使用的验证域是 https://example.com, but when opening the domain the user is redirected to https://www.example.com?
如果您能粘贴您应用程序 build.gradle 的内容将会很有帮助。
原来我没有在我的 /.well-known/assetlinks.json 文件中使用正确的 sha256 证书指纹(正如我引导我使用错误的 SHA256 指纹的原始说明) .我获得正确SHA256指纹的方法是从应用商店安装我的PWA,然后在同一台设备上下载应用Asset Link Tool找到我的包名并使用我提供的数字资产link /.well-known/assetlinks.json 文件.
我们正尝试使用此 github 存储库 https://github.com/GoogleChromeLabs/svgomg-twa 中的代码,通过 PWA 推送到使用 TWA 的 Android Play 商店。按照调试数字资产链接的说明,我收到消息:
$ 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 是 "Powered by Chrome"。这已在华为 P20 Pro 和三星 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'
}
如果没有更多信息,很难确切知道发生了什么。
是否可能发生了重定向?例如:launchUrl 中使用的验证域是 https://example.com, but when opening the domain the user is redirected to https://www.example.com?
如果您能粘贴您应用程序 build.gradle 的内容将会很有帮助。
原来我没有在我的 /.well-known/assetlinks.json 文件中使用正确的 sha256 证书指纹(正如我引导我使用错误的 SHA256 指纹的原始说明) .我获得正确SHA256指纹的方法是从应用商店安装我的PWA,然后在同一台设备上下载应用Asset Link Tool找到我的包名并使用我提供的数字资产link /.well-known/assetlinks.json 文件.