В настоящее время я создаю приложение, используя 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.