Ρύθμιση Google Sign-In για την εφαρμογή Android Expo EAS: Συνήθεις παγίδες και διορθώσεις
Η δημιουργία μιας εφαρμογής μπορεί να είναι συναρπαστική, ειδικά κατά την εφαρμογή λειτουργιών που συνδέονται απρόσκοπτα με δημοφιλείς υπηρεσίες όπως το Google Sign-In. Ωστόσο, οποιοσδήποτε προγραμματιστής που έχει ενσωματώσει τον έλεγχο ταυτότητας Firebase με το Google Cloud σε ένα έργο Expo EAS μπορεί να έχει αντιμετωπίσει το επίφοβο ".» 😬
Αυτό το σφάλμα προκύπτει συχνά κατά τη ρύθμιση του βιβλιοθήκη στην παραγωγή, προκαλώντας απροσδόκητες διακοπές που δεν εμφανίζονται στις κατασκευές τοπικής ανάπτυξης. Είναι ένα συνηθισμένο εμπόδιο που μπορεί να αφήσει τους προγραμματιστές να σκάσουν το κεφάλι τους, ειδικά όταν όλες οι διαμορφώσεις φαίνεται να έχουν ρυθμιστεί σωστά.
Μια δύσκολη πτυχή αυτού του σφάλματος είναι η διαφοροποιημένη διαδικασία εγκατάστασης που περιλαμβάνει τα σωστά δακτυλικά αποτυπώματα SHA1 και SHA256, και διαχείριση των ρυθμίσεων Firebase και Google Play Console. Η έλλειψη έστω και μιας μικρής λεπτομέρειας εδώ μπορεί να οδηγήσει σε σφάλματα ελέγχου ταυτότητας στο περιβάλλον παραγωγής.
Σε αυτόν τον οδηγό, θα εμβαθύνουμε στο γιατί εμφανίζεται ο Κωδικός σφάλματος προγραμματιστή 10, θα εντοπίσουμε τις πιθανές εσφαλμένες διαμορφώσεις και θα περιηγηθούμε σε πραγματικές λύσεις για να διασφαλίσουμε ότι η Σύνδεσή σας στο Google λειτουργεί ομαλά. Ας βεβαιωθούμε ότι οι χρήστες σας μπορούν να συνδεθούν χωρίς κόπο και να κρατήσουν μακριά αυτά τα σφάλματα παραγωγής! 🚀
Εντολή | Παράδειγμα χρήσης |
---|---|
OAuth2Client | Δημιουργεί μια παρουσία πελάτη από τη βιβλιοθήκη OAuth2 της Google για την επαλήθευση των διακριτικών αναγνωριστικών. Αυτό είναι κρίσιμο για τον ασφαλή χειρισμό και την επικύρωση των διακριτικών εισόδου Google στο backend. |
client.verifyIdToken | Χρησιμοποιείται με το OAuth2Client, αυτή η μέθοδος επαληθεύει την ακεραιότητα του διακριτικού αναγνωριστικού ενός χρήστη αποκωδικοποιώντας το. Απαραίτητο για να διασφαλιστεί ότι το διακριτικό είναι έγκυρο και δημιουργείται από την Google. |
GoogleSignin.configure | Ρυθμίζει τη βιβλιοθήκη εισόδου Google στη διεπαφή ορίζοντας το αναγνωριστικό πελάτη web. Αυτό συνδέει τον πελάτη με το σωστό έργο Google, απαραίτητο για να λειτουργήσει ο έλεγχος ταυτότητας. |
auth.GoogleAuthProvider.credential | Δημιουργεί ένα διαπιστευτήριο ελέγχου ταυτότητας Firebase χρησιμοποιώντας το διακριτικό Google ID. Αυτό επιτρέπει στο Firebase να αναγνωρίζει το Google Sign-In ως μέθοδο σύνδεσης. |
admin.auth().getUserByEmail | Φέρνει έναν χρήστη Firebase μέσω του email του στο backend. Συχνά χρησιμοποιείται για την ανάκτηση ή τον έλεγχο εάν υπάρχει ήδη λογαριασμός Google στο Firebase. |
expo.plugins | Διαμορφωμένο στο app.json της Expo, προσθέτει την προσθήκη Google Sign-In, διασφαλίζοντας ότι η Expo γνωρίζει τις απαιτήσεις ελέγχου ταυτότητας της Google για την κατασκευή της εφαρμογής. |
jest.mock | Καθιστά δυνατή την κοροϊδία της υλοποίησης μιας ενότητας για δοκιμή. Εδώ, χρησιμοποιείται για την προσομοίωση συναρτήσεων εισόδου Google, επιτρέποντας την επικύρωση δοκιμής χωρίς πραγματικά αιτήματα ελέγχου ταυτότητας. |
hasPlayServices | Μια μέθοδος σύνδεσης Google που ελέγχει εάν η συσκευή διαθέτει Υπηρεσίες Google Play, διασφαλίζοντας τη συμβατότητα πριν από την προσπάθεια ελέγχου ταυτότητας. |
GoogleSignin.signIn | Εκκινεί τη διαδικασία Σύνδεσης Google στη διεπαφή. Αυτό επιστρέφει ένα αναγνωριστικό διακριτικό εάν είναι επιτυχές, επιτρέποντας περαιτέρω διαδικασίες ελέγχου ταυτότητας. |
admin.credential.applicationDefault | Εκκινεί το Firebase Admin SDK με προεπιλεγμένα διαπιστευτήρια. Αυτή η ρύθμιση επιτρέπει ασφαλείς λειτουργίες υποστήριξης και πρόσβαση σε υπηρεσίες Firebase χωρίς να χρειάζονται διαπιστευτήρια σκληρού κώδικα. |
Κατανόηση και εφαρμογή της Google Sign-In με το Firebase στην Expo
Για να ρυθμίσετε το Google Sign-In σε ένα έργο React Native που διαχειρίζεται η Expo, το backend και το frontend πρέπει να διαμορφωθούν προσεκτικά. Ξεκινώντας από το backend, αρχικοποιούμε το Firebase Admin SDK για να χειριζόμαστε με ασφάλεια τη διαχείριση χρηστών. Αυτό γίνεται με τη ρύθμιση του OAuth2Client, το οποίο επιτρέπει στον διακομιστή μας να αλληλεπιδρά με τα API της Google και να επαληθεύει τα διακριτικά που εκδίδονται από την υπηρεσία ελέγχου ταυτότητας της Google. Ο Η συνάρτηση, η οποία χρησιμοποιεί τον πελάτη OAuth2, διαδραματίζει κρίσιμο ρόλο αποκωδικοποιώντας και επικυρώνοντας το διακριτικό που λαμβάνεται από το frontend. Χωρίς αυτήν την επαλήθευση, η εφαρμογή δεν μπορεί να προσδιορίσει αξιόπιστα ότι το αίτημα σύνδεσης ενός χρήστη είναι νόμιμο και οποιαδήποτε ασυνέπεια εδώ μπορεί να οδηγήσει στον κωδικό σφάλματος προγραμματιστή 10, ο οποίος εμφανίζεται συχνά όταν τα διακριτικά δεν ταιριάζουν με τις αναμενόμενες διαμορφώσεις στο Firebase. Αυτό το βήμα διαμόρφωσης στο backend παρέχει ισχυρή ασφάλεια, καθώς διασφαλίζουμε ότι μόνο εξουσιοδοτημένοι λογαριασμοί Google μπορούν να αλληλεπιδράσουν με τον έλεγχο ταυτότητας του Firebase.
Στη διεπαφή, η Είσοδος Google διαμορφώνεται χρησιμοποιώντας το λειτουργία, η οποία συνδέει την εφαρμογή με το Google Cloud μέσω του αναγνωριστικού πελάτη Web που δημιουργείται στο Firebase. Συνδέοντας αυτό το αναγνωριστικό, η Google και το Firebase «αναγνωρίζουν» την εφαρμογή μας και επιτρέπουν ασφαλείς συνδέσεις. Μετά από αυτό, όταν ένας χρήστης προσπαθεί να συνδεθεί, καλεί η εφαρμογή , το οποίο ξεκινά τη διαδικασία σύνδεσης και ανακτά ένα διακριτικό αναγνωριστικού εάν είναι επιτυχές. Αυτό το διακριτικό αναγνωριστικού λειτουργεί ως απόδειξη του ελέγχου ταυτότητας Google του χρήστη και το μεταβιβάζουμε στο Firebase για να οριστικοποιήσει τη σύνδεση. Η ανάγκη να καλέσετε Πριν από την πραγματική σύνδεση είναι επίσης σημαντική. Αυτό το βήμα ελέγχει εάν η συσκευή είναι συμβατή επιβεβαιώνοντας ότι οι Υπηρεσίες Google Play είναι διαθέσιμες, μειώνοντας τα ζητήματα που σχετίζονται με τη συμβατότητα της συσκευής και κάνοντας την εμπειρία σύνδεσης πιο ομαλή. Αυτή η εντολή μπορεί να φαίνεται απλή, αλλά η σημασία της έγκειται στη διασφάλιση ότι η εφαρμογή δεν αντιμετωπίζει απροσδόκητες αστοχίες σε μη συμβατές συσκευές.
Η πλευρά του διακομιστή Η λειτουργία παίζει ρόλο στον έλεγχο εάν ο λογαριασμός Google υπάρχει ήδη στα αρχεία χρήστη του Firebase. Εάν ο χρήστης δεν υπάρχει ακόμη, το Firebase μπορεί να δημιουργήσει μια νέα εγγραφή, διευκολύνοντας την απρόσκοπτη ενσωμάτωση του χρήστη. Στην πλευρά του Expo, στο αρχείο app.json, προσθέτουμε συγκεκριμένα δακτυλικά αποτυπώματα SHA1 και την προσθήκη Google Sign-In για να συνδέσουμε με ακρίβεια το περιβάλλον Expo με το Firebase και το Google Cloud. Αυτό το βήμα γεφυρώνει τη διαμόρφωση του front-end με τις ρυθμίσεις του Firebase, διασφαλίζοντας ότι δεν υπάρχουν αναντιστοιχίες μεταξύ των διαπιστευτηρίων που χρησιμοποιούνται τοπικά και εκείνων που απαιτούνται στην παραγωγή. Κάθε ρύθμιση σε αυτήν τη διαμόρφωση χρησιμεύει για να μειώσει την πιθανότητα εμφάνισης του κωδικού σφάλματος προγραμματιστή 10 στο build παραγωγής.
Τέλος, η σύνταξη δοκιμών μονάδας χρησιμοποιώντας το Jest επικυρώνει τη συμπεριφορά κάθε συνάρτησης. Η δοκιμή του Google Sign-In κοροϊδεύοντας το GoogleSignin και άλλες βασικές μεθόδους βοηθά στον εντοπισμό προβλημάτων στη φάση ανάπτυξης, καθιστώντας λιγότερο πιθανά τα σφάλματα παραγωγής. Για παράδειγμα, η μέθοδος mocked signIn επιτρέπει τη δοκιμή χωρίς να βασίζεται σε μια πραγματική σύνδεση λογαριασμού Google, επαληθεύοντας ότι η εφαρμογή συμπεριφέρεται σωστά όταν επιστρέφεται ένα έγκυρο διακριτικό ή όταν παρουσιάζεται σφάλμα. Αυτή η πλήρης ροή εργασίας, από τη διαμόρφωση έως τη δοκιμή, διασφαλίζει ότι η Είσοδος Google λειτουργεί αποτελεσματικά και μειώνει τα προβλήματα που προκύπτουν συχνά από ελλιπείς ή εσφαλμένες ρυθμίσεις υποστήριξης και διεπαφής. Με αυτήν την ολοκληρωμένη προσέγγιση, μπορείτε να κάνετε το Google Sign-In μια ομαλή, αξιόπιστη εμπειρία στην εφαρμογή Expo! 🚀
Λύση 1: Έλεγχος επικύρωσης και ρύθμισης παραμέτρων υποστήριξης για σύνδεση στο Google
Χρήση του Node.js και του Firebase Admin SDK για επικύρωση backend και ρύθμιση παραμέτρων
const admin = require('firebase-admin');
const { OAuth2Client } = require('google-auth-library');
// Initialize Firebase Admin SDK
admin.initializeApp({
credential: admin.credential.applicationDefault(),
databaseURL: 'https://your-firebase-project.firebaseio.com'
});
// Google OAuth2 Client configuration
const client = new OAuth2Client("YOUR_CLIENT_ID.apps.googleusercontent.com");
// Validate Google token from client-side login
async function verifyGoogleToken(token) {
try {
const ticket = await client.verifyIdToken({
idToken: token,
audience: "YOUR_CLIENT_ID.apps.googleusercontent.com",
});
const payload = ticket.getPayload();
return payload;
} catch (error) {
console.error("Token verification error:", error);
throw new Error("Invalid Google Token");
}
}
// Main function to handle Google Sign-In
exports.googleSignIn = async (req, res) => {
const token = req.body.token;
if (!token) return res.status(400).send("Token not provided");
try {
const userInfo = await verifyGoogleToken(token);
const userRecord = await admin.auth().getUserByEmail(userInfo.email);
res.status(200).send(userRecord);
} catch (error) {
res.status(401).send("Authentication failed");
}
};
Λύση 2: Διαμόρφωση εισόδου στο Google Frontend και χειρισμός σφαλμάτων στο React Native
Χρήση του React Native με τον έλεγχο ταυτότητας Firebase και τη βιβλιοθήκη εισόδου Google
import { GoogleSignin } from '@react-native-google-signin/google-signin';
import auth from '@react-native-firebase/auth';
// Configure Google Sign-In in Firebase and set the Web Client ID
GoogleSignin.configure({
webClientId: 'YOUR_CLIENT_ID.apps.googleusercontent.com',
});
export async function googleLogin() {
try {
await GoogleSignin.hasPlayServices();
const { idToken } = await GoogleSignin.signIn();
const googleCredential = auth.GoogleAuthProvider.credential(idToken);
await auth().signInWithCredential(googleCredential);
console.log("Login successful");
} catch (error) {
console.error("Google Sign-In error:", error);
}
}
Λύση 3: Προσθήκη διαμόρφωσης περιβάλλοντος για δακτυλικά αποτυπώματα SHA στο Expo EAS
Χρήση του Google Cloud Console και του Expo για διαχείριση δακτυλικών αποτυπωμάτων SHA
// Configure Google OAuth Client ID in Expo's app.json
{
"expo": {
"plugins": ["@react-native-google-signin/google-signin"],
"android": {
"config": {
"googleSignIn": {
"apiKey": "YOUR_API_KEY",
"certificateHash": "SHA1_CERTIFICATE_FROM_GOOGLE_PLAY"
}
}
}
}
}
// Note: Make sure to add SHA1 and SHA256 fingerprints in Firebase Console
// under Project Settings > General > Your apps > App Fingerprints.
Δοκιμές μονάδας για Λειτουργικότητα σύνδεσης Google
Χρήση της βιβλιοθήκης εγγενών δοκιμών Jest and React για τη δοκιμή στοιχείων
import { render, fireEvent } from '@testing-library/react-native';
import { googleLogin } from './GoogleSignIn';
import { GoogleSignin } from '@react-native-google-signin/google-signin';
// Mock Google Sign-In
jest.mock('@react-native-google-signin/google-signin', () => ({
GoogleSignin: {
signIn: jest.fn(() => ({ idToken: 'dummy-token' })),
hasPlayServices: jest.fn(() => true),
}
}));
describe('Google Sign-In', () => {
test('should sign in with Google successfully', async () => {
await expect(googleLogin()).resolves.not.toThrow();
});
test('should handle sign-in failure gracefully', async () => {
GoogleSignin.signIn.mockImplementationOnce(() => {
throw new Error("Sign-in error");
});
await expect(googleLogin()).rejects.toThrow("Sign-in error");
});
});
Αποτελεσματικός εντοπισμός σφαλμάτων και βέλτιστες πρακτικές για την ενσωμάτωση εισόδου Google στο Expo EAS
Κατά την ενσωμάτωση στο Expo EAS, μια βασική πτυχή που μπορεί να αγνοηθεί είναι η διαχείριση των αποθηκών κλειδιών και αποτελεσματικά σε διάφορα περιβάλλοντα. Ο έλεγχος ταυτότητας Google εξαρτάται από την αντιστοίχιση δακτυλικών αποτυπωμάτων SHA, επομένως τα κλειδιά που χρησιμοποιούνται σε τοπικές δοκιμές, εκδόσεις ανάπτυξης και εκδόσεις παραγωγής στο Google Play Console πρέπει να είναι συνεπή. Ένα κοινό πρόβλημα είναι η προσθήκη μόνο του κλειδιού SHA1 στο Firebase, το οποίο δεν επαρκεί για περιβάλλοντα παραγωγής. Και οι δύο και SHA256 Τα δακτυλικά αποτυπώματα θα πρέπει να διαμορφωθούν σωστά στο Firebase και στο Google Play Console για να διασφαλιστεί ο απρόσκοπτος έλεγχος ταυτότητας χρήστη. Αυτή η κρίσιμη διαμόρφωση επιτρέπει στο Firebase να εμπιστεύεται την εφαρμογή σας ανεξάρτητα από το περιβάλλον στο οποίο εκτελείται, συμβάλλοντας στην αποφυγή του Κωδικού Σφάλματος Προγραμματιστή 10 και βελτιώνοντας τη συνολική σταθερότητα της ενσωμάτωσης του Google Sign-In.
Μια άλλη διαμόρφωση που συχνά παραλείπεται περιλαμβάνει την επιλογή του σωστού τύπου αναγνωριστικού πελάτη OAuth 2.0 στο Google Cloud Console. Όταν χρησιμοποιείτε το Firebase με το Expo, το αναγνωριστικό πελάτη που δημιουργείται στην Κονσόλα Google θα πρέπει να οριστεί σε Web Client και το ίδιο webClientId θα πρέπει να παρέχεται στη διεπαφή μέσω . Αν και αυτό μπορεί να φαίνεται ασυνήθιστο (όπως θα περίμενε κανείς να χρησιμοποιήσετε ένα αναγνωριστικό πελάτη Android), η Expo απαιτεί αυτήν τη διαμόρφωση για να χειρίζεται αποτελεσματικά τη Σύνδεση Google τόσο σε iOS όσο και σε Android. Επιπλέον, η ενεργοποίηση του χειρισμού σφαλμάτων και του εντοπισμού σφαλμάτων τόσο στο frontend όσο και στο backend με ξεκάθαρα μηνύματα σφάλματος και την καταγραφή βοηθά στον εντοπισμό εάν τα προβλήματα προέρχονται από αναντιστοιχία διαπιστευτηρίων ή διαμορφώσεις που λείπουν.
Τέλος, εάν ένα σφάλμα παραμένει στη δημιουργία παραγωγής, εξετάστε το ενδεχόμενο να χρησιμοποιήσετε τις εκδόσεις ανάπτυξης της Expo με διαμορφώσεις παραγωγής. Αυτό βοηθά στην εξομοίωση ενός περιβάλλοντος που μοιάζει με παραγωγή τοπικά και μπορεί να επισημάνει ζητήματα που ενδέχεται να εμφανίζονται μόνο στην παραγωγή, όπως εσφαλμένες διαμορφώσεις στο Google Play Console. Η δοκιμή με αυτόν τον τρόπο διασφαλίζει ότι όλες οι διαμορφώσεις, συμπεριλαμβανομένων εκείνων εντός και , αναγνωρίζονται σωστά στην τελική έκδοση παραγωγής, μειώνοντας τα σφάλματα και βελτιώνοντας την εμπειρία χρήστη.
- Τι προκαλεί τον κωδικό σφάλματος προγραμματιστή 10 στη Σύνδεση Google;
- Ο κωδικός σφάλματος προγραμματιστή 10 εμφανίζεται συχνά όταν λείπουν ή δεν ταιριάζουν μεταξύ του Firebase και του Google Play Console.
- Χρειάζομαι πιστοποιητικά SHA1 και SHA256 για το Firebase;
- Ναι και τα δύο και συνιστώνται πιστοποιητικά, ειδικά για κατασκευές παραγωγής. Αυτό διασφαλίζει ότι η εφαρμογή σας μπορεί να ελέγξει σωστά την ταυτότητα σε όλα τα περιβάλλοντα.
- Γιατί χρησιμοποιείται ένα αναγνωριστικό πελάτη Web αντί για ένα αναγνωριστικό πελάτη Android;
- Η έκθεση απαιτεί α για τη διαχείριση του Google Sign-In τόσο για iOS όσο και για Android, επομένως αυτός ο τύπος αναγνωριστικού πρέπει να χρησιμοποιείται στη διαμόρφωσή σας.
- Πώς μπορώ να ελέγξω αν η συσκευή μου διαθέτει Υπηρεσίες Google Play;
- Στο μπροστινό μέρος, χρησιμοποιήστε για να ελέγξετε τη διαθεσιμότητα των Υπηρεσιών Google Play, η οποία απαιτείται για τη Σύνδεση Google στο Android.
- Ποιος είναι ο σκοπός του GoogleSignin.configure;
- ρυθμίζει το πρόγραμμα-πελάτη Είσοδος Google με το απαιτούμενο αναγνωριστικό πελάτη, επιτρέποντας στο Firebase να αναγνωρίζει την εφαρμογή σας κατά τη σύνδεση.
- Γιατί βλέπω το λάθος μόνο στην παραγωγή αλλά όχι στην ανάπτυξη;
- Αυτό το ζήτημα προκύπτει συχνά από διαμορφώσεις μόνο για παραγωγή, όπως αυτές στο Google Play Console. Οι εκδόσεις ανάπτυξης ενδέχεται να λειτουργούν λόγω διαφορετικών διαμορφώσεων κλειδιών.
- Τι δικαιώματα απαιτούνται για τη Σύνδεση Google;
- Τα βασικά δικαιώματα ελέγχου ταυτότητας είναι συνήθως αρκετά, αλλά η εφαρμογή σας μπορεί να ζητήσει επιπλέον πεδία, εάν απαιτούνται συγκεκριμένα API της Google.
- Πώς μπορώ να δοκιμάσω τις ρυθμίσεις παραγωγής χωρίς ανάπτυξη στο Play Store;
- Χρησιμοποιήστε το build ανάπτυξης της Expo με διαμορφώσεις παραγωγής τοπικά, το οποίο σας επιτρέπει να προσομοιώνετε ένα περιβάλλον παραγωγής χωρίς ανάπτυξη.
- Πώς μπορώ να χειριστώ το σφάλμα κατά τη σύνδεση για το Google Sign-In Expo;
- Εφαρμόστε προσαρμοσμένα μηνύματα σφάλματος τόσο στο frontend όσο και στο backend χρησιμοποιώντας μπλοκ για τον εντοπισμό συγκεκριμένων προβλημάτων διαμόρφωσης κατά τη σύνδεση.
- Απαιτείται το Firebase για τη Σύνδεση Google;
- Όχι, το Firebase δεν απαιτείται, αλλά απλοποιεί τη ρύθμιση του ελέγχου ταυτότητας ενσωματώνοντας εύκολα το σύστημα OAuth της Google.
Η ρύθμιση του Google Sign-In με το Expo EAS και το Firebase απαιτεί ιδιαίτερη προσοχή σε λεπτομέρειες όπως τα πιστοποιητικά SHA και τα αναγνωριστικά πελάτη OAuth. Μικρές παραλείψεις εδώ μπορεί να οδηγήσουν σε ζητήματα που εμφανίζονται μόνο στην παραγωγή, όπως ο Κωδικός σφάλματος προγραμματιστή 10. Με τις σωστές διαμορφώσεις, οι προγραμματιστές μπορούν να επιτύχουν ασφαλείς και ομαλές ροές σύνδεσης για τους χρήστες τους. 🚀
Η ενσωμάτωση μεθόδων όπως η διαμόρφωση αναγνωριστικών πελάτη Web, η διαχείριση δακτυλικών αποτυπωμάτων SHA και η δοκιμή σε περιβάλλον παρόμοιο με την παραγωγή στο Expo διασφαλίζει μια βελτιστοποιημένη διαδικασία σύνδεσης χωρίς σφάλματα. Όπως πάντα, οι δοκιμές, η καταγραφή και ο χειρισμός σφαλμάτων βελτιώνουν την αξιοπιστία και την εμπειρία χρήστη κατά την ανάπτυξη της εφαρμογής σε ένα ευρύτερο κοινό. 👍
- Λεπτομερής τεκμηρίωση σχετικά με την ενσωμάτωση Google Sign-In για Expo και Firebase, συμπεριλαμβανομένων των βημάτων ρύθμισης και αντιμετώπισης προβλημάτων, μπορείτε να βρείτε στον επίσημο οδηγό Firebase: Έλεγχος ταυτότητας Firebase με Σύνδεση Google .
- Ο Τεκμηρίωση εισόδου React Native Google προσφέρει σε βάθος πόρους για τη διαμόρφωση του Google Sign-In εντός του React Native, συμπεριλαμβανομένων συμβουλών διαμόρφωσης για εκδόσεις Expo EAS.
- Ο επίσημος οδηγός της Expo για τη ρύθμιση του Google Sign-In εντός διαχειριζόμενων ροών εργασίας είναι διαθέσιμος στη διεύθυνση Expo Google Sign-In , παρέχοντας βασικές λεπτομέρειες προσθήκης και διαμόρφωσης.
- Για την αντιμετώπιση προβλημάτων και τις συζητήσεις στην κοινότητα, το React Native Google Sign-In GitHub σελίδα είναι ένας πολύτιμος πόρος για κοινές λύσεις σφαλμάτων, συμπεριλαμβανομένου του κωδικού σφάλματος προγραμματιστή 10.
- της Google Τεκμηρίωση σύνδεσης Google για Android παρέχει λεπτομέρειες σχετικά με τη διαμόρφωση των δακτυλικών αποτυπωμάτων SHA1 και SHA256 για εφαρμογές Android, απαραίτητες για την αποφυγή του κωδικού σφάλματος προγραμματιστή 10.