expo-google-app-auth работает на эмуляторе, но не на устройстве - PullRequest
0 голосов
/ 30 октября 2019

В настоящее время я создаю приложение, используя expo, и оно должно быть зарегистрировано в Google. Я использую модуль expo expo-google-app-auth, и он прекрасно работает в эмуляторе, но не работает (не требует страницу входа в Google) при работе на реальном устройстве. Я не уверен, является ли это проблемой с моим телефоном, или, возможно, с разрешениями, которые у меня есть с консоли разработчика Google.

Кто-нибудь сталкивался с такой проблемой? Код, кажется, работает нормально, но устройство все еще не принимает его.

Я все еще использую клиент expo и версию Android 8.0.0.

Вот метод, который я использовалсвязаться с гуглом. Он должен открыть окно входа в Google, получить некоторые необходимые данные, а затем отправить эти данные в файл php на моем сервере, который будет загружать эти данные в мою базу данных mySQL.

signInWithGoogle = async (callback) => {
    try {      
      let created = new Date();

      const result = await Google.logInAsync({
        androidClientId: this.googleAuthAndroid,
        scopes: ['profile', 'email'],
      });

      if (result.type === 'success') {
        let logInValues = {
          email: result.user.email,
          familyName: result.user.familyName,
          givenName: result.user.givenName,
          id: result.user.id,
          photoUrl: result.user.photoUrl,
          accessToken: result.accessToken,
          idToken: result.idToken,
          refreshToken: result.refreshToken,
          created: created.getFullYear() + "-" + (created.getMonth() + 1) + "-" + created.getDate() + " " + 
          created.getHours() + ":" + created.getMinutes()  + ":" + created.getSeconds(),    
        }

        fetch('http://' + this.cdm.getHost() + '/login/logInWithGoogle.php', {
          method: 'POST',
          headers: {
            'Content-Type': 'application/json',
          },
          body: JSON.stringify(logInValues)
        })
         .then(response => response.text())
         .then(responseJson => {                           
           callback(responseJson);
         });

        return result.accessToken;
      } else {
        return { cancelled: true };
      }
    } catch (e) {
      console.log(e);
      return { error: true };      
    }
  }

Кроме того, когда я запускаюприложение на эмуляторе с expo start, оно возвращает это предупреждение

Some of your project's dependencies are not compatible with currently installed expo package version:
 - react-native-reanimated - expected version range: ~1.1.0 - actual version installed: ^1.3.2
Your project may not work correctly until you install the correct versions of the packages.
To install the correct versions of these packages, please run: expo install [package-name ...]

Я попытался установить правильную версию, но он возвращает ошибку при фактическом запуске приложения, что означает, что версия 1.1.0 не работает,Я также не смог найти никакой связи между реакцией-родной-реанимированной с библиотекой expo-google-app-auth.

...