Пустые ссылки на ресурсы Dynami c. json проблема при использовании хостинга Firebase - PullRequest
1 голос
/ 20 апреля 2020

Ответ https://evrcare.co/.well-known/assetlinks.json приходит [] вместо действительного json.
Я поместил правильный файл assetlinks.json в папку .well-known.
Что происходит теперь мой TWA показывает строку URL (что не предполагается, если ответ https://evrcare.co/.well-known/assetlinks.json правильный json).
Тем не менее, я могу видеть полный json, если поставить assetlinks.json в какой-то другой папке, отличной от .well-known, например: https://evrcare.co/well-known/assetlinks.json

Поэтому я просмотрел inte rnet, и они предложили несколько способов, но ни один из них не сработал. как:

1) Создать другую папку well-known и поставить assetlinks.json, а затем перенаправить:

firebase. json:

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

Не работает , ответ: []

2) добавить заголовок как application/json для **/.well-known/**

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" к базе данных. json.

Не сработало. Я получаю страницу, не найденную.

4) добавить «dynamicLinks»: true для «перезаписывает»

firebase. json:

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

Не работает. ответ: []


Вы можете проверить https://evrcare.co/.well-known/assetlinks.json и https://evrcare.co/well-known/assetlinks.json с моей текущей конфигурацией firebase.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 и ссылок на ресурсы. json файл.

firebase-tools: 8.0.2

Платформа: Windows


Пример действительного JSON: https://google.com/.well-known/assetlinks.json

Инструменты для проверки связи:

1 Ответ

0 голосов
/ 22 апреля 2020

Я тупой. Мой инструмент сборки (jekyll) игнорировал папки, начинающиеся с точки.

Мне пришлось добавить это к моему _config.yml, чтобы оно заработало:

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