хостинг firebase не отображает правильное содержимое файла - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь разместить файл assetlinks.json для PWA на firebase, проблема в том, что я не могу просмотреть содержимое файла.Я думаю, что это как-то связано с моим файлом firebase.json.Ссылка, которую я пытаюсь получить: https://bionomichealth.com/.well-known/assetlinks.json и содержит:

    [
  {
    "relation": ["delegate_permission/common.handle_all_urls"],
    "target": {
      "namespace": "android_app",
      "package_name": "xyz.appmaker.flvhwm",
      "sha256_cert_fingerprints": ["83:AE:08:45:58:C6:08:16:69:1E:80:50:31:84:1E:B9:55:AF:CC:4F:A9:20:B3:D5:58:B1:6A:D1:E1:27:B3:F7"]
    }
  }
]

и, наконец, вот мой filebase.json:

    {
  "database": {
    "rules": "database.rules.json"
  },
  "firestore": {
    "rules": "firestore.rules",
    "indexes": "firestore.indexes.json"
  },
  "functions": {
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\" run lint",
      "npm --prefix \"$RESOURCE_DIR\" run build"
    ]
  },
  "hosting": {
    "public": "public",
    "rewrites": [
      {
        "source": "/.well-known/assetlinks.json",
        "destination": "assets/assetlinks.json"
      },
      {
        "source": "/public/**",
        "destination": "/public.html"
      },
      {
        "source": "**",
        "destination": "/index.html"
      }
    ],
    "ignore": ["firebase.json", "**/.*", "**/node_modules/**"]
  },
  "storage": {
    "rules": "storage.rules"
  }
}

, как вы можете видетьУ меня есть свой assetlink.json в папке с активами.Когда я перехожу к файлу, все, что я получаю, это:

[ ]

, и когда я пытался развернуть pwa в Playstore, я получил приостановленное уведомление, так как Google считает, что я не являюсь владельцем pwa.

Любая помощь будет принята с благодарностью.Большое спасибо!

1 Ответ

0 голосов
/ 03 сентября 2019

Итак, я столкнулся с той же проблемой: оказывается, вам не нужно переписывать, просто поместите его в папку .well-knwon в папке dist после того, как ваше приложение будет собрано.Пример также содержит файл IOS

{
  "hosting": {
    "target": "main", 
    "public": "dist",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**/apple-app-site-association",
        "destination": "/.well-known/apple-app-site-association"
      },
      {
        "source": "**",
        "destination": "/index.html"
      }
    ],
    "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"
        }]
      }
    ]
  }
}

причина, по которой ios требует перезаписи, заключается в том, что они не добавляют .json при выполнении вызова get, а также требуют, чтобы заголовок ответа был типом содержимого: application/ * 1008 JSON *

...