Карты Google в приложении с ограниченным ключом не работают - PullRequest
0 голосов
/ 13 января 2020

У меня есть приложение android, которое отображает MapView и полилинии, которые отлично работают на эмуляторе Android, если я использую ключ API с ограниченным IP-адресом, но даже не отображают карту и определенно не имеют полилиний, когда Я использую ключ с ограничением android в приложении, работающем на моем телефоне.

В моем приложении есть следующее: json:

{
  "expo": {
    "android": {
      "package": "com.company.project",
      "permissions": [ "CAMERA" ],
      "config": {
        "googleMaps": {
          "apiKey": "ACTUAL_API_KEY_HERE"
        }
      }
    },
...

Часть указаний код выглядит следующим образом:

        const key = Constants.manifest.android.config.googleMaps.apiKey;
        const resp = await fetch(`https://maps.googleapis.com/maps/api/directions/json?origin=${ startLoc }&destination=${ destinationLoc }&key=${ key }`);
        const respJson = await resp.json();

Я создаю свое приложение с помощью следующей команды:

сборка экспо: android

Затем я загружаю apk с выставки. io.

Ключ ограничен android приложениями в консоли GCP. Я проверил, что имя пакета в моем приложении. json соответствует имени в ограничении, и я получаю отпечаток SHA-1 от команды "expo fetch: android: hashes".

Как я сказал, что это работает нормально в эмуляторе (с ключом с ограничением IP), но не при работе на моем телефоне. Я что-то упустил?

1 Ответ

0 голосов
/ 13 января 2020

Убедитесь, что вы используете метаданные в файле манифеста следующим образом.

<meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="@string/google_maps_key" />
...