【问题标题】:Empty dynamic link assetlinks.json issue when using firebase hosting使用 Firebase 托管时出现空动态链接assetlinks.json 问题
【发布时间】:2020-04-20 18:37:12
【问题描述】:

https://evrcare.co/.well-known/assetlinks.json 的响应是 [] 而不是有效的 json。
我已将正确的 assetlinks.json 文件放入 .well-known 文件夹中。
现在发生的情况是我的 TWA 显示了一个 url 栏(如果 https://evrcare.co/.well-known/assetlinks.json 的响应是正确的 json,则不应该这样)。
但是,如果我将 assetlinks.json 放在 .well-known 以外的其他文件夹中,我可以看到完整的 json,例如:https://evrcare.co/well-known/assetlinks.json

所以我查看了互联网,他们提出了几种方法,但都没有奏效。 喜欢:

1)创建另一个文件夹well-known并放入assetlinks.json然后重定向:

firebase.json:

 {
        "source": "/.well-known/assetlinks.json",
        "destination": "/well-known/assetlinks.json"
      }

没用。回应:[]

2) 为**/.well-known/** 添加标题为application/json

firebase.json:

 "headers": [
          {
            "key": "Cache-Control",
            "value": "no-store"
          },
          {
            "key": "Expires",
            "value": "0"
          },
          {
            "key": "Pragma",
            "value": "no-cache"
          }
        ]
      },
      {
        "source": "**/.well-known/**",
        "headers": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ]
      }
    ]

没用。回应 []

3) 将 "appAssociation": "NONE" 添加到 firebase.json。

没用。我找不到页面。

4) 将 "dynamicLinks": true 添加到 "rewrites"

firebase.json:

"rewrites": [
  {
    "source": "/**",
    "dynamicLinks": true
  }
],

没用。回应:[]


您可以使用我当前的firebase.json 配置测试https://evrcare.co/.well-known/assetlinks.jsonhttps://evrcare.co/well-known/assetlinks.json

{
  "hosting": {
    "public": "_site",
    "ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
    "rewrites": [
      {
        "source": "/bigben",
        "function": "bigben"
      },
      {
        "source": "**",
        "destination": "/index.html"
      },

      {
        "source": "/.well-known/assetlinks.json",
        "destination": "/well-known/assetlinks.json"
      }
    ],
    "cleanUrls": true,
    "headers": [
      {
        "source": "**",
        "headers": [
          {
            "key": "Cache-Control",
            "value": "no-store"
          },
          {
            "key": "Expires",
            "value": "0"
          },
          {
            "key": "Pragma",
            "value": "no-cache"
          }
        ]
      },
      {
        "source": "**/.well-known/**",
        "headers": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ]
      }
    ]
  },

  "firestore": {
    "rules": "firestore.rules",
    "indexes": "firestore.indexes.json"
  },
  "functions": {
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\" run lint",
      "npm --prefix \"$RESOURCE_DIR\" run build"
    ]
  },
  "emulators": {
    "functions": {
      "port": 5001
    },
    "firestore": {
      "port": 8080
    },
    "hosting": {
      "port": 5000
    }
  }
}

我跟随https://appmaker.xyz/pwa-to-apk/创建了TWA和assetlinks.json文件。

firebase 工具: 8.0.2

平台: Windows


有效 JSON 示例:https://google.com/.well-known/assetlinks.json

验证链接的工具:

【问题讨论】:

    标签: android firebase jekyll firebase-hosting twa


    【解决方案1】:

    我很笨。我的构建工具(jekyll)忽略了以点开头的文件夹。

    必须将此添加到我的_config.yml 才能使其工作:

    # Folders with dotfiles are ignored by default.
    include: [.well-known]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-13
      • 1970-01-01
      • 2019-03-19
      • 1970-01-01
      • 2020-05-12
      • 2021-02-21
      • 2020-02-29
      • 1970-01-01
      相关资源
      最近更新 更多