ਤੁਹਾਡੇ ਐਕਸਪੋ EAS ਐਂਡਰੌਇਡ ਐਪ ਲਈ Google ਸਾਈਨ-ਇਨ ਸੈੱਟਅੱਪ ਕਰਨਾ: ਆਮ ਕਮੀਆਂ ਅਤੇ ਹੱਲ
ਇੱਕ ਐਪ ਬਣਾਉਣਾ ਰੋਮਾਂਚਕ ਹੋ ਸਕਦਾ ਹੈ, ਖਾਸ ਤੌਰ 'ਤੇ Google ਸਾਈਨ-ਇਨ ਵਰਗੀਆਂ ਪ੍ਰਸਿੱਧ ਸੇਵਾਵਾਂ ਨਾਲ ਨਿਰਵਿਘਨ ਕਨੈਕਟ ਕਰਨ ਵਾਲੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਵੇਲੇ। ਹਾਲਾਂਕਿ, ਕੋਈ ਵੀ ਡਿਵੈਲਪਰ ਜਿਸ ਨੇ ਐਕਸਪੋ ਈਏਐਸ ਪ੍ਰੋਜੈਕਟ 'ਤੇ ਗੂਗਲ ਕਲਾਉਡ ਨਾਲ ਫਾਇਰਬੇਸ ਪ੍ਰਮਾਣਿਕਤਾ ਨੂੰ ਏਕੀਕ੍ਰਿਤ ਕੀਤਾ ਹੈ, ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਉਹ ਭਿਆਨਕ "ਡਿਵੈਲਪਰ ਐਰਰ ਕੋਡ 10" 😬
ਦੀ ਸਥਾਪਨਾ ਕਰਦੇ ਸਮੇਂ ਇਹ ਗਲਤੀ ਅਕਸਰ ਪੈਦਾ ਹੁੰਦੀ ਹੈ ਮੂਲ Google ਸਾਈਨ-ਇਨ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰੋ ਉਤਪਾਦਨ ਵਿੱਚ ਲਾਇਬ੍ਰੇਰੀ, ਜਿਸ ਨਾਲ ਅਚਾਨਕ ਰੁਕਾਵਟਾਂ ਪੈਦਾ ਹੁੰਦੀਆਂ ਹਨ ਜੋ ਸਥਾਨਕ ਵਿਕਾਸ ਬਿਲਡਾਂ ਵਿੱਚ ਦਿਖਾਈ ਨਹੀਂ ਦਿੰਦੀਆਂ। ਇਹ ਇੱਕ ਆਮ ਰੁਕਾਵਟ ਹੈ ਜੋ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਆਪਣੇ ਸਿਰ ਖੁਰਕਣ ਲਈ ਛੱਡ ਸਕਦੀ ਹੈ, ਖਾਸ ਤੌਰ 'ਤੇ ਜਦੋਂ ਸਾਰੀਆਂ ਸੰਰਚਨਾਵਾਂ ਸਹੀ ਢੰਗ ਨਾਲ ਸੈਟ ਕੀਤੀਆਂ ਜਾਪਦੀਆਂ ਹਨ।
ਇਸ ਗਲਤੀ ਦਾ ਇੱਕ ਔਖਾ ਪਹਿਲੂ ਸਹੀ SHA1 ਅਤੇ SHA256 ਫਿੰਗਰਪ੍ਰਿੰਟਸ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਵਾਲੀ ਸੂਖਮ ਸੈੱਟਅੱਪ ਪ੍ਰਕਿਰਿਆ ਹੈ, OAuth 2.0 ਕਲਾਇੰਟ ਆਈ.ਡੀ, ਅਤੇ Firebase ਅਤੇ Google Play Console ਸੈਟਿੰਗਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨਾ। ਇੱਥੇ ਇੱਕ ਛੋਟਾ ਜਿਹਾ ਵੇਰਵਿਆਂ ਨੂੰ ਗੁਆਉਣ ਨਾਲ ਉਤਪਾਦਨ ਵਾਤਾਵਰਣ ਵਿੱਚ ਪ੍ਰਮਾਣਿਕਤਾ ਗਲਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ।
ਇਸ ਗਾਈਡ ਵਿੱਚ, ਅਸੀਂ ਖੋਜ ਕਰਾਂਗੇ ਕਿ ਡਿਵੈਲਪਰ ਗਲਤੀ ਕੋਡ 10 ਕਿਉਂ ਵਾਪਰਦਾ ਹੈ, ਸੰਭਾਵੀ ਗਲਤ ਸੰਰਚਨਾਵਾਂ ਦੀ ਪਛਾਣ ਕਰੋ, ਅਤੇ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਅਸਲ-ਸੰਸਾਰ ਹੱਲਾਂ 'ਤੇ ਚੱਲਾਂਗੇ ਕਿ ਤੁਹਾਡਾ Google ਸਾਈਨ-ਇਨ ਸੁਚਾਰੂ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰਦਾ ਹੈ। ਚਲੋ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰੀਏ ਕਿ ਤੁਹਾਡੇ ਉਪਭੋਗਤਾ ਆਸਾਨੀ ਨਾਲ ਲੌਗਇਨ ਕਰ ਸਕਦੇ ਹਨ ਅਤੇ ਉਹਨਾਂ ਉਤਪਾਦਨ ਦੀਆਂ ਗਲਤੀਆਂ ਨੂੰ ਦੂਰ ਰੱਖ ਸਕਦੇ ਹਨ! 🚀
ਹੁਕਮ | ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ |
---|---|
OAuth2Client | ਆਈਡੀ ਟੋਕਨਾਂ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ Google ਦੀ OAuth2 ਲਾਇਬ੍ਰੇਰੀ ਤੋਂ ਇੱਕ ਕਲਾਇੰਟ ਉਦਾਹਰਨ ਬਣਾਉਂਦਾ ਹੈ। ਬੈਕਐਂਡ 'ਤੇ Google ਸਾਈਨ-ਇਨ ਟੋਕਨਾਂ ਨੂੰ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਸੰਭਾਲਣ ਅਤੇ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ ਇਹ ਮਹੱਤਵਪੂਰਨ ਹੈ। |
client.verifyIdToken | OAuth2Client ਦੇ ਨਾਲ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਇਹ ਵਿਧੀ ਉਪਭੋਗਤਾ ਦੇ ID ਟੋਕਨ ਨੂੰ ਡੀਕੋਡ ਕਰਕੇ ਇਸ ਦੀ ਇਕਸਾਰਤਾ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦੀ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਜ਼ਰੂਰੀ ਹੈ ਕਿ ਟੋਕਨ ਵੈਧ ਹੈ ਅਤੇ Google ਦੁਆਰਾ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ। |
GoogleSignin.configure | ਵੈੱਬ ਕਲਾਇੰਟ ID ਸੈੱਟ ਕਰਕੇ ਫਰੰਟਐਂਡ 'ਤੇ Google ਸਾਈਨ-ਇਨ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਦਾ ਹੈ। ਇਹ ਕਲਾਇੰਟ ਨੂੰ ਸਹੀ Google ਪ੍ਰੋਜੈਕਟ ਨਾਲ ਲਿੰਕ ਕਰਦਾ ਹੈ, ਕੰਮ ਕਰਨ ਲਈ ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਜ਼ਰੂਰੀ ਹੈ। |
auth.GoogleAuthProvider.credential | ਗੂਗਲ ਆਈਡੀ ਟੋਕਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਫਾਇਰਬੇਸ ਪ੍ਰਮਾਣੀਕਰਨ ਪ੍ਰਮਾਣ ਪੱਤਰ ਬਣਾਉਂਦਾ ਹੈ। ਇਹ ਫਾਇਰਬੇਸ ਨੂੰ ਲੌਗਇਨ ਵਿਧੀ ਵਜੋਂ Google ਸਾਈਨ-ਇਨ ਦੀ ਪਛਾਣ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। |
admin.auth().getUserByEmail | ਬੈਕਐਂਡ 'ਤੇ ਇੱਕ ਫਾਇਰਬੇਸ ਉਪਭੋਗਤਾ ਨੂੰ ਉਹਨਾਂ ਦੀ ਈਮੇਲ ਦੁਆਰਾ ਲਿਆਉਂਦਾ ਹੈ। ਅਕਸਰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਜਾਂ ਜਾਂਚ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਕਿ ਕੀ ਕੋਈ Google ਖਾਤਾ ਪਹਿਲਾਂ ਤੋਂ ਹੀ Firebase ਵਿੱਚ ਮੌਜੂਦ ਹੈ। |
expo.plugins | Expo ਦੇ app.json ਦੇ ਅੰਦਰ ਕੌਂਫਿਗਰ ਕੀਤਾ ਗਿਆ, ਇਹ Google ਸਾਈਨ-ਇਨ ਪਲੱਗਇਨ ਨੂੰ ਜੋੜਦਾ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਐਕਸਪੋ ਐਪ ਬਿਲਡ ਲਈ Google ਪ੍ਰਮਾਣੀਕਰਨ ਲੋੜਾਂ ਤੋਂ ਜਾਣੂ ਹੈ। |
jest.mock | ਟੈਸਟਿੰਗ ਲਈ ਇੱਕ ਮੋਡੀਊਲ ਦੇ ਲਾਗੂਕਰਨ ਦਾ ਮਖੌਲ ਕਰਨਾ ਸੰਭਵ ਬਣਾਉਂਦਾ ਹੈ। ਇੱਥੇ, ਇਸਦੀ ਵਰਤੋਂ ਗੂਗਲ ਸਾਈਨ-ਇਨ ਫੰਕਸ਼ਨਾਂ ਦੀ ਨਕਲ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਅਸਲ ਪ੍ਰਮਾਣਿਕਤਾ ਬੇਨਤੀਆਂ ਤੋਂ ਬਿਨਾਂ ਟੈਸਟ ਪ੍ਰਮਾਣਿਕਤਾ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹੋਏ। |
hasPlayServices | ਇੱਕ Google ਸਾਈਨ-ਇਨ ਵਿਧੀ ਜੋ ਜਾਂਚ ਕਰਦੀ ਹੈ ਕਿ ਕੀ ਡਿਵਾਈਸ ਵਿੱਚ Google Play ਸੇਵਾਵਾਂ ਹਨ, ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਅਨੁਕੂਲਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ। |
GoogleSignin.signIn | ਫਰੰਟਐਂਡ 'ਤੇ ਗੂਗਲ ਸਾਈਨ-ਇਨ ਪ੍ਰਕਿਰਿਆ ਦੀ ਸ਼ੁਰੂਆਤ ਕਰਦਾ ਹੈ। ਇਹ ਸਫਲ ਹੋਣ 'ਤੇ ਇੱਕ ID ਟੋਕਨ ਵਾਪਸ ਕਰਦਾ ਹੈ, ਹੋਰ ਪ੍ਰਮਾਣਿਕਤਾ ਪ੍ਰਕਿਰਿਆਵਾਂ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ। |
admin.credential.applicationDefault | ਪੂਰਵ-ਨਿਰਧਾਰਤ ਪ੍ਰਮਾਣ ਪੱਤਰਾਂ ਨਾਲ ਫਾਇਰਬੇਸ ਪ੍ਰਸ਼ਾਸਕ SDK ਨੂੰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ। ਇਹ ਸੈੱਟਅੱਪ ਸੁਰੱਖਿਅਤ ਬੈਕਐਂਡ ਓਪਰੇਸ਼ਨਾਂ ਅਤੇ ਹਾਰਡ-ਕੋਡ ਪ੍ਰਮਾਣ ਪੱਤਰਾਂ ਦੀ ਲੋੜ ਤੋਂ ਬਿਨਾਂ ਫਾਇਰਬੇਸ ਸੇਵਾਵਾਂ ਤੱਕ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। |
ਐਕਸਪੋ ਵਿੱਚ ਫਾਇਰਬੇਸ ਦੇ ਨਾਲ Google ਸਾਈਨ-ਇਨ ਨੂੰ ਸਮਝਣਾ ਅਤੇ ਲਾਗੂ ਕਰਨਾ
ਐਕਸਪੋ-ਪ੍ਰਬੰਧਿਤ ਰੀਐਕਟ ਨੇਟਿਵ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ Google ਸਾਈਨ-ਇਨ ਸੈਟ ਅਪ ਕਰਨ ਲਈ, ਬੈਕਐਂਡ ਅਤੇ ਫਰੰਟਐਂਡ ਨੂੰ ਧਿਆਨ ਨਾਲ ਕੌਂਫਿਗਰ ਕਰਨ ਦੀ ਲੋੜ ਹੈ। ਬੈਕਐਂਡ ਨਾਲ ਸ਼ੁਰੂ ਕਰਦੇ ਹੋਏ, ਅਸੀਂ ਉਪਭੋਗਤਾ ਪ੍ਰਬੰਧਨ ਨੂੰ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਸੰਭਾਲਣ ਲਈ ਫਾਇਰਬੇਸ ਐਡਮਿਨ SDK ਨੂੰ ਸ਼ੁਰੂ ਕਰਦੇ ਹਾਂ। ਇਹ OAuth2Client ਸੈਟ ਅਪ ਕਰਕੇ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਜੋ ਸਾਡੇ ਸਰਵਰ ਨੂੰ Google APIs ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਨ ਅਤੇ Google ਦੀ ਪ੍ਰਮਾਣਿਕਤਾ ਸੇਵਾ ਦੁਆਰਾ ਜਾਰੀ ਕੀਤੇ ਟੋਕਨਾਂ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਦ verifyIdToken ਫੰਕਸ਼ਨ, ਜੋ OAuth2 ਕਲਾਇੰਟ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਫਰੰਟਐਂਡ ਤੋਂ ਪ੍ਰਾਪਤ ਟੋਕਨ ਨੂੰ ਡੀਕੋਡਿੰਗ ਅਤੇ ਪ੍ਰਮਾਣਿਤ ਕਰਕੇ ਇੱਕ ਮਹੱਤਵਪੂਰਣ ਭੂਮਿਕਾ ਨਿਭਾਉਂਦਾ ਹੈ। ਇਸ ਤਸਦੀਕ ਤੋਂ ਬਿਨਾਂ, ਐਪ ਭਰੋਸੇਯੋਗਤਾ ਨਾਲ ਇਹ ਨਿਰਧਾਰਿਤ ਨਹੀਂ ਕਰ ਸਕਦੀ ਹੈ ਕਿ ਉਪਭੋਗਤਾ ਦੀ ਸਾਈਨ-ਇਨ ਬੇਨਤੀ ਜਾਇਜ਼ ਹੈ, ਅਤੇ ਇੱਥੇ ਕੋਈ ਵੀ ਅਸੰਗਤਤਾ ਡਿਵੈਲਪਰ ਗਲਤੀ ਕੋਡ 10 ਦਾ ਕਾਰਨ ਬਣ ਸਕਦੀ ਹੈ, ਜੋ ਅਕਸਰ ਉਦੋਂ ਆਉਂਦੀ ਹੈ ਜਦੋਂ ਟੋਕਨ ਫਾਇਰਬੇਸ ਵਿੱਚ ਸੰਭਾਵਿਤ ਸੰਰਚਨਾਵਾਂ ਨਾਲ ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ ਹਨ। ਬੈਕਐਂਡ 'ਤੇ ਇਹ ਕੌਂਫਿਗਰੇਸ਼ਨ ਕਦਮ ਮਜ਼ਬੂਤ ਸੁਰੱਖਿਆ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਕਿਉਂਕਿ ਅਸੀਂ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹਾਂ ਕਿ ਸਿਰਫ਼ ਅਧਿਕਾਰਤ Google ਖਾਤੇ ਹੀ ਫਾਇਰਬੇਸ ਦੇ ਪ੍ਰਮਾਣੀਕਰਨ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰ ਸਕਦੇ ਹਨ।
ਫਰੰਟਐਂਡ 'ਤੇ, ਗੂਗਲ ਸਾਈਨ-ਇਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੌਂਫਿਗਰ ਕੀਤਾ ਗਿਆ ਹੈ GoogleSignin.configure ਫੰਕਸ਼ਨ, ਜੋ ਫਾਇਰਬੇਸ ਵਿੱਚ ਤਿਆਰ ਕੀਤੀ ਵੈੱਬ ਕਲਾਇੰਟ ਆਈਡੀ ਰਾਹੀਂ ਐਪ ਨੂੰ ਗੂਗਲ ਕਲਾਉਡ ਨਾਲ ਲਿੰਕ ਕਰਦਾ ਹੈ। ਇਸ ID ਨੂੰ ਲਿੰਕ ਕਰਕੇ, Google ਅਤੇ Firebase ਸਾਡੀ ਐਪ ਨੂੰ "ਪਛਾਣਦੇ" ਹਨ ਅਤੇ ਸੁਰੱਖਿਅਤ ਸਾਈਨ-ਇਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹਨ। ਇਸ ਤੋਂ ਬਾਅਦ, ਜਦੋਂ ਕੋਈ ਉਪਭੋਗਤਾ ਸਾਈਨ ਇਨ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ, ਤਾਂ ਐਪ ਕਾਲ ਕਰਦਾ ਹੈ GoogleSignin.signIn, ਜੋ ਲੌਗਇਨ ਪ੍ਰਕਿਰਿਆ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ ਅਤੇ ਸਫਲ ਹੋਣ 'ਤੇ ਇੱਕ ID ਟੋਕਨ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ। ਇਹ ਆਈਡੀ ਟੋਕਨ ਉਪਭੋਗਤਾ ਦੇ Google ਪ੍ਰਮਾਣਿਕਤਾ ਦੇ ਸਬੂਤ ਵਜੋਂ ਕੰਮ ਕਰਦਾ ਹੈ, ਅਤੇ ਅਸੀਂ ਲੌਗਇਨ ਨੂੰ ਅੰਤਿਮ ਰੂਪ ਦੇਣ ਲਈ ਇਸਨੂੰ ਫਾਇਰਬੇਸ ਨੂੰ ਭੇਜਦੇ ਹਾਂ। ਕਾਲ ਕਰਨ ਦੀ ਲੋੜ ਹੈ hasPlayServices ਅਸਲ ਸਾਈਨ-ਇਨ ਤੋਂ ਪਹਿਲਾਂ ਵੀ ਮਹੱਤਵਪੂਰਨ ਹੈ; ਇਹ ਕਦਮ Google Play ਸੇਵਾਵਾਂ ਉਪਲਬਧ ਹੋਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰਕੇ, ਡਿਵਾਈਸ ਅਨੁਕੂਲਤਾ ਨਾਲ ਸਬੰਧਤ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਘਟਾ ਕੇ ਅਤੇ ਲੌਗਇਨ ਅਨੁਭਵ ਨੂੰ ਸੁਚਾਰੂ ਬਣਾ ਕੇ ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਡਿਵਾਈਸ ਅਨੁਕੂਲ ਹੈ ਜਾਂ ਨਹੀਂ। ਇਹ ਕਮਾਂਡ ਸਧਾਰਨ ਲੱਗ ਸਕਦੀ ਹੈ, ਪਰ ਇਸਦਾ ਮਹੱਤਵ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਵਿੱਚ ਹੈ ਕਿ ਐਪ ਅਸੰਗਤ ਡਿਵਾਈਸਾਂ 'ਤੇ ਅਚਾਨਕ ਅਸਫਲਤਾਵਾਂ ਦਾ ਸਾਹਮਣਾ ਨਾ ਕਰੇ।
ਸਰਵਰ-ਪਾਸੇ getUserByEmail ਫੰਕਸ਼ਨ ਇਹ ਜਾਂਚ ਕਰਨ ਵਿੱਚ ਇੱਕ ਭੂਮਿਕਾ ਨਿਭਾਉਂਦਾ ਹੈ ਕਿ ਕੀ ਗੂਗਲ ਖਾਤਾ ਪਹਿਲਾਂ ਤੋਂ ਹੀ ਫਾਇਰਬੇਸ ਦੇ ਉਪਭੋਗਤਾ ਰਿਕਾਰਡਾਂ ਵਿੱਚ ਮੌਜੂਦ ਹੈ। ਜੇਕਰ ਉਪਭੋਗਤਾ ਅਜੇ ਮੌਜੂਦ ਨਹੀਂ ਹੈ, ਤਾਂ ਫਾਇਰਬੇਸ ਇੱਕ ਨਵਾਂ ਰਿਕਾਰਡ ਬਣਾ ਸਕਦਾ ਹੈ, ਸਹਿਜ ਉਪਭੋਗਤਾ ਆਨਬੋਰਡਿੰਗ ਦੀ ਸਹੂਲਤ ਦਿੰਦਾ ਹੈ। Expo ਸਾਈਡ 'ਤੇ, app.json ਫ਼ਾਈਲ ਵਿੱਚ, ਅਸੀਂ Expo ਵਾਤਾਵਰਣ ਨੂੰ Firebase ਅਤੇ Google ਕਲਾਊਡ ਨਾਲ ਸਹੀ ਢੰਗ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਲਈ ਖਾਸ SHA1 ਫਿੰਗਰਪ੍ਰਿੰਟਸ ਅਤੇ Google ਸਾਈਨ-ਇਨ ਪਲੱਗਇਨ ਸ਼ਾਮਲ ਕਰਦੇ ਹਾਂ। ਇਹ ਕਦਮ ਫਾਇਰਬੇਸ ਦੀਆਂ ਸੈਟਿੰਗਾਂ ਨਾਲ ਫਰੰਟ-ਐਂਡ ਕੌਂਫਿਗਰੇਸ਼ਨ ਨੂੰ ਜੋੜਦਾ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਵਰਤੇ ਗਏ ਪ੍ਰਮਾਣ ਪੱਤਰਾਂ ਅਤੇ ਉਤਪਾਦਨ ਵਿੱਚ ਲੋੜੀਂਦੇ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲਾਂ ਵਿਚਕਾਰ ਕੋਈ ਮੇਲ ਨਹੀਂ ਖਾਂਦਾ। ਇਸ ਕੌਂਫਿਗਰੇਸ਼ਨ ਵਿੱਚ ਹਰੇਕ ਸੈਟਿੰਗ ਉਤਪਾਦਨ ਬਿਲਡ ਵਿੱਚ ਡਿਵੈਲਪਰ ਐਰਰ ਕੋਡ 10 ਦੇ ਦਿਖਾਈ ਦੇਣ ਦੀ ਸੰਭਾਵਨਾ ਨੂੰ ਘਟਾਉਣ ਲਈ ਕੰਮ ਕਰਦੀ ਹੈ।
ਅੰਤ ਵਿੱਚ, ਜੇਸਟ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਯੂਨਿਟ ਟੈਸਟ ਲਿਖਣਾ ਹਰੇਕ ਫੰਕਸ਼ਨ ਦੇ ਵਿਵਹਾਰ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਦਾ ਹੈ। GoogleSignin ਅਤੇ ਹੋਰ ਜ਼ਰੂਰੀ ਤਰੀਕਿਆਂ ਦਾ ਮਜ਼ਾਕ ਉਡਾਉਣ ਦੁਆਰਾ Google ਸਾਈਨ-ਇਨ ਦੀ ਜਾਂਚ ਕਰਨਾ ਵਿਕਾਸ ਪੜਾਅ ਵਿੱਚ ਸਮੱਸਿਆਵਾਂ ਦੀ ਪਛਾਣ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਉਤਪਾਦਨ ਦੀਆਂ ਗਲਤੀਆਂ ਦੀ ਸੰਭਾਵਨਾ ਘੱਟ ਹੁੰਦੀ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਮਖੌਲ ਕੀਤਾ ਸਾਈਨ ਇਨ ਵਿਧੀ ਇੱਕ ਅਸਲ Google ਖਾਤਾ ਲੌਗਇਨ 'ਤੇ ਨਿਰਭਰ ਕੀਤੇ ਬਿਨਾਂ ਟੈਸਟਿੰਗ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ, ਇਹ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ ਕਿ ਐਪ ਸਹੀ ਢੰਗ ਨਾਲ ਵਿਹਾਰ ਕਰਦਾ ਹੈ ਜਦੋਂ ਇੱਕ ਵੈਧ ਟੋਕਨ ਵਾਪਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜਾਂ ਜਦੋਂ ਕੋਈ ਗਲਤੀ ਆਉਂਦੀ ਹੈ। ਇਹ ਸੰਪੂਰਨ ਵਰਕਫਲੋ, ਕੌਂਫਿਗਰੇਸ਼ਨ ਤੋਂ ਲੈ ਕੇ ਟੈਸਟਿੰਗ ਤੱਕ, ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ Google ਸਾਈਨ-ਇਨ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰਦਾ ਹੈ ਅਤੇ ਉਹਨਾਂ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ ਜੋ ਅਕਸਰ ਅਧੂਰੇ ਜਾਂ ਗਲਤ ਬੈਕਐਂਡ ਅਤੇ ਫਰੰਟਐਂਡ ਸੈੱਟਅੱਪ ਤੋਂ ਪੈਦਾ ਹੁੰਦੇ ਹਨ। ਇਸ ਵਿਆਪਕ ਪਹੁੰਚ ਨਾਲ, ਤੁਸੀਂ ਆਪਣੇ ਐਕਸਪੋ ਐਪ ਵਿੱਚ Google ਸਾਈਨ-ਇਨ ਨੂੰ ਇੱਕ ਨਿਰਵਿਘਨ, ਭਰੋਸੇਮੰਦ ਅਨੁਭਵ ਬਣਾ ਸਕਦੇ ਹੋ! 🚀
ਹੱਲ 1: ਗੂਗਲ ਸਾਈਨ-ਇਨ ਲਈ ਬੈਕਐਂਡ ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਕੌਂਫਿਗਰੇਸ਼ਨ ਜਾਂਚ
ਬੈਕਐਂਡ ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਕੌਂਫਿਗਰੇਸ਼ਨ ਸੈੱਟਅੱਪ ਲਈ Node.js ਅਤੇ Firebase ਐਡਮਿਨ SDK ਦੀ ਵਰਤੋਂ ਕਰਨਾ
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: ਫ੍ਰੰਟੈਂਡ ਗੂਗਲ ਸਾਈਨ-ਇਨ ਕੌਂਫਿਗਰੇਸ਼ਨ ਅਤੇ ਰੀਐਕਟ ਨੇਟਿਵ ਵਿੱਚ ਗਲਤੀ ਹੈਂਡਲਿੰਗ
ਫਾਇਰਬੇਸ ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਗੂਗਲ ਸਾਈਨ-ਇਨ ਲਾਇਬ੍ਰੇਰੀ ਨਾਲ ਰੀਐਕਟ ਨੇਟਿਵ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
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: ਐਕਸਪੋ EAS ਵਿੱਚ SHA ਫਿੰਗਰਪ੍ਰਿੰਟਸ ਲਈ ਵਾਤਾਵਰਣ ਸੰਰਚਨਾ ਜੋੜਨਾ
SHA ਫਿੰਗਰਪ੍ਰਿੰਟ ਪ੍ਰਬੰਧਨ ਲਈ Google ਕਲਾਉਡ ਕੰਸੋਲ ਅਤੇ ਐਕਸਪੋ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
// 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.
ਗੂਗਲ ਸਾਈਨ-ਇਨ ਕਾਰਜਕੁਸ਼ਲਤਾ ਲਈ ਯੂਨਿਟ ਟੈਸਟ
ਕੰਪੋਨੈਂਟ ਟੈਸਟਿੰਗ ਲਈ ਜੈਸਟ ਅਤੇ ਰੀਐਕਟ ਨੇਟਿਵ ਟੈਸਟਿੰਗ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
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");
});
});
ਐਕਸਪੋ ਈਏਐਸ ਵਿੱਚ ਗੂਗਲ ਸਾਈਨ-ਇਨ ਏਕੀਕਰਣ ਲਈ ਪ੍ਰਭਾਵੀ ਡੀਬਗਿੰਗ ਅਤੇ ਵਧੀਆ ਅਭਿਆਸ
ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਵੇਲੇ ਗੂਗਲ ਸਾਈਨ-ਇਨ ਐਕਸਪੋ ਈਏਐਸ ਦੇ ਅੰਦਰ, ਇੱਕ ਜ਼ਰੂਰੀ ਪਹਿਲੂ ਜਿਸ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਉਹ ਹੈ ਕੀਸਟੋਰਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨਾ ਅਤੇ SHA ਸਰਟੀਫਿਕੇਟ ਵੱਖ-ਵੱਖ ਵਾਤਾਵਰਣ ਵਿੱਚ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ. Google ਪ੍ਰਮਾਣਿਕਤਾ SHA ਫਿੰਗਰਪ੍ਰਿੰਟਸ ਨਾਲ ਮੇਲ ਖਾਂਦੇ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ, ਇਸਲਈ Google Play Console 'ਤੇ ਸਥਾਨਕ ਟੈਸਟਿੰਗ, ਵਿਕਾਸ ਬਿਲਡਾਂ ਅਤੇ ਉਤਪਾਦਨ ਬਿਲਡਾਂ ਵਿੱਚ ਵਰਤੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਕੁੰਜੀਆਂ ਇਕਸਾਰ ਹੋਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ। ਇੱਕ ਆਮ ਮੁੱਦਾ ਫਾਇਰਬੇਸ ਵਿੱਚ ਸਿਰਫ SHA1 ਕੁੰਜੀ ਨੂੰ ਜੋੜ ਰਿਹਾ ਹੈ, ਜੋ ਕਿ ਉਤਪਾਦਨ ਵਾਤਾਵਰਣ ਲਈ ਕਾਫ਼ੀ ਨਹੀਂ ਹੈ। ਦੋਵੇਂ SHA1 ਅਤੇ SHA256 ਫਿੰਗਰਪ੍ਰਿੰਟਸ ਨੂੰ ਫਾਇਰਬੇਸ ਅਤੇ ਗੂਗਲ ਪਲੇ ਕੰਸੋਲ ਵਿੱਚ ਸਹੀ ਢੰਗ ਨਾਲ ਕੌਂਫਿਗਰ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ ਤਾਂ ਜੋ ਉਪਭੋਗਤਾ ਪ੍ਰਮਾਣਿਕਤਾ ਨੂੰ ਨਿਰਵਿਘਨ ਯਕੀਨੀ ਬਣਾਇਆ ਜਾ ਸਕੇ। ਇਹ ਨਾਜ਼ੁਕ ਸੰਰਚਨਾ ਫਾਇਰਬੇਸ ਨੂੰ ਤੁਹਾਡੀ ਐਪ 'ਤੇ ਭਰੋਸਾ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੀ ਹੈ ਭਾਵੇਂ ਇਹ ਕਿਸੇ ਵੀ ਵਾਤਾਵਰਣ ਵਿੱਚ ਚੱਲ ਰਹੀ ਹੈ, ਵਿਕਾਸਕਾਰ ਗਲਤੀ ਕੋਡ 10 ਤੋਂ ਬਚਣ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ ਅਤੇ ਤੁਹਾਡੇ Google ਸਾਈਨ-ਇਨ ਏਕੀਕਰਣ ਦੀ ਸਮੁੱਚੀ ਸਥਿਰਤਾ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਂਦਾ ਹੈ।
ਇੱਕ ਹੋਰ ਅਕਸਰ ਖੁੰਝੀ ਹੋਈ ਕੌਂਫਿਗਰੇਸ਼ਨ ਵਿੱਚ Google ਕਲਾਉਡ ਕੰਸੋਲ 'ਤੇ ਸਹੀ OAuth 2.0 ਕਲਾਇੰਟ ਆਈਡੀ ਕਿਸਮ ਦੀ ਚੋਣ ਕਰਨਾ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ। ਐਕਸਪੋ ਦੇ ਨਾਲ ਫਾਇਰਬੇਸ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ, Google ਕੰਸੋਲ ਵਿੱਚ ਤਿਆਰ ਕੀਤੀ ਕਲਾਇੰਟ ਆਈਡੀ ਵੈੱਬ ਕਲਾਇੰਟ 'ਤੇ ਸੈੱਟ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ, ਅਤੇ ਉਹੀ webClientId ਫਰੰਟਐਂਡ 'ਤੇ ਪ੍ਰਦਾਨ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ GoogleSignin.configure. ਹਾਲਾਂਕਿ ਇਹ ਅਸਾਧਾਰਨ ਲੱਗ ਸਕਦਾ ਹੈ (ਜਿਵੇਂ ਕਿ ਤੁਸੀਂ ਇੱਕ ਐਂਡਰੌਇਡ ਕਲਾਇੰਟ ਆਈਡੀ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਉਮੀਦ ਕਰ ਸਕਦੇ ਹੋ), ਐਕਸਪੋ ਨੂੰ iOS ਅਤੇ Android ਦੋਵਾਂ ਵਿੱਚ Google ਸਾਈਨ-ਇਨ ਨੂੰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਸੰਭਾਲਣ ਲਈ ਇਸ ਸੰਰਚਨਾ ਦੀ ਲੋੜ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਸਪਸ਼ਟ ਗਲਤੀ ਸੁਨੇਹਿਆਂ ਅਤੇ ਲੌਗਿੰਗ ਦੇ ਨਾਲ ਫਰੰਟਐਂਡ ਅਤੇ ਬੈਕਐਂਡ ਦੋਵਾਂ 'ਤੇ ਗਲਤੀ ਹੈਂਡਲਿੰਗ ਅਤੇ ਡੀਬੱਗਿੰਗ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣਾ ਇਹ ਪਤਾ ਲਗਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਸਮੱਸਿਆਵਾਂ ਮੇਲ ਖਾਂਦੀਆਂ ਪ੍ਰਮਾਣ ਪੱਤਰਾਂ ਜਾਂ ਗੁੰਮ ਸੰਰਚਨਾਵਾਂ ਤੋਂ ਪੈਦਾ ਹੁੰਦੀਆਂ ਹਨ।
ਅੰਤ ਵਿੱਚ, ਜੇਕਰ ਪ੍ਰੋਡਕਸ਼ਨ ਬਿਲਡ ਵਿੱਚ ਕੋਈ ਤਰੁੱਟੀ ਬਣੀ ਰਹਿੰਦੀ ਹੈ, ਤਾਂ ਐਕਸਪੋ ਦੇ ਡਿਵੈਲਪਮੈਂਟ ਬਿਲਡ ਨੂੰ ਪ੍ਰੋਡਕਸ਼ਨ ਕੌਂਫਿਗਰੇਸ਼ਨਾਂ ਨਾਲ ਵਰਤਣ ਬਾਰੇ ਵਿਚਾਰ ਕਰੋ। ਇਹ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਉਤਪਾਦਨ ਵਰਗੇ ਵਾਤਾਵਰਣ ਦੀ ਨਕਲ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ ਅਤੇ ਉਹਨਾਂ ਮੁੱਦਿਆਂ ਨੂੰ ਉਜਾਗਰ ਕਰ ਸਕਦਾ ਹੈ ਜੋ ਸਿਰਫ਼ ਉਤਪਾਦਨ ਵਿੱਚ ਦਿਖਾਈ ਦੇ ਸਕਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ Google Play ਕੰਸੋਲ 'ਤੇ ਗਲਤ ਸੰਰੂਪਣ। ਇਸ ਤਰੀਕੇ ਨਾਲ ਜਾਂਚ ਕਰਨਾ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਸਾਰੀਆਂ ਸੰਰਚਨਾਵਾਂ, ਜਿਸ ਵਿੱਚ ਉਹ ਵੀ ਸ਼ਾਮਲ ਹਨ app.json ਅਤੇ google-services.json, ਅੰਤਮ ਉਤਪਾਦਨ ਰੀਲੀਜ਼ ਵਿੱਚ ਸਹੀ ਢੰਗ ਨਾਲ ਪਛਾਣੇ ਜਾਂਦੇ ਹਨ, ਗਲਤੀਆਂ ਨੂੰ ਘਟਾਉਂਦੇ ਹਨ ਅਤੇ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਨੂੰ ਵਧਾਉਂਦੇ ਹਨ।
ਐਕਸਪੋ EAS ਵਿੱਚ Google ਸਾਈਨ-ਇਨ ਮੁੱਦਿਆਂ ਲਈ ਆਮ ਸਵਾਲ ਅਤੇ ਜਵਾਬ
- ਗੂਗਲ ਸਾਈਨ-ਇਨ ਵਿੱਚ ਡਿਵੈਲਪਰ ਗਲਤੀ ਕੋਡ 10 ਦਾ ਕੀ ਕਾਰਨ ਹੈ?
- ਡਿਵੈਲਪਰ ਐਰਰ ਕੋਡ 10 ਅਕਸਰ ਉਦੋਂ ਪ੍ਰਗਟ ਹੁੰਦਾ ਹੈ ਜਦੋਂ SHA certificates ਗੁੰਮ ਹਨ ਜਾਂ Firebase ਅਤੇ Google Play Console ਵਿਚਕਾਰ ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ।
- ਕੀ ਮੈਨੂੰ ਫਾਇਰਬੇਸ ਲਈ SHA1 ਅਤੇ SHA256 ਸਰਟੀਫਿਕੇਟਾਂ ਦੀ ਲੋੜ ਹੈ?
- ਹਾਂ, ਦੋਵੇਂ SHA1 ਅਤੇ SHA256 ਸਰਟੀਫਿਕੇਟਾਂ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਖਾਸ ਕਰਕੇ ਉਤਪਾਦਨ ਦੇ ਨਿਰਮਾਣ ਲਈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਤੁਹਾਡੀ ਐਪ ਸਾਰੇ ਵਾਤਾਵਰਣਾਂ ਵਿੱਚ ਸਹੀ ਢੰਗ ਨਾਲ ਪ੍ਰਮਾਣਿਤ ਕਰ ਸਕਦੀ ਹੈ।
- ਐਂਡਰਾਇਡ ਕਲਾਇੰਟ ਆਈਡੀ ਦੀ ਬਜਾਏ ਵੈੱਬ ਕਲਾਇੰਟ ਆਈਡੀ ਕਿਉਂ ਵਰਤੀ ਜਾਂਦੀ ਹੈ?
- ਐਕਸਪੋ ਦੀ ਲੋੜ ਹੈ ਏ Web Client ID ਆਈਓਐਸ ਅਤੇ ਐਂਡਰੌਇਡ ਦੋਵਾਂ ਲਈ Google ਸਾਈਨ-ਇਨ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ, ਇਸ ਲਈ ਇਹ ID ਕਿਸਮ ਤੁਹਾਡੀ ਸੰਰਚਨਾ ਵਿੱਚ ਵਰਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ।
- ਮੈਂ ਕਿਵੇਂ ਜਾਂਚ ਕਰ ਸਕਦਾ ਹਾਂ ਕਿ ਕੀ ਮੇਰੀ ਡਿਵਾਈਸ ਵਿੱਚ Google Play ਸੇਵਾਵਾਂ ਹਨ?
- ਫਰੰਟਐਂਡ 'ਤੇ, ਵਰਤੋਂ GoogleSignin.hasPlayServices Google Play ਸੇਵਾਵਾਂ ਦੀ ਉਪਲਬਧਤਾ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ, ਜੋ ਕਿ Android 'ਤੇ Google ਸਾਈਨ-ਇਨ ਲਈ ਲੋੜੀਂਦਾ ਹੈ।
- GoogleSignin.configure ਦਾ ਉਦੇਸ਼ ਕੀ ਹੈ?
- GoogleSignin.configure ਤੁਹਾਡੇ Google ਸਾਈਨ-ਇਨ ਕਲਾਇੰਟ ਨੂੰ ਲੋੜੀਂਦੀ ਕਲਾਇੰਟ ਆਈ.ਡੀ. ਦੇ ਨਾਲ ਸੈੱਟਅੱਪ ਕਰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਫਾਇਰਬੇਸ ਨੂੰ ਸਾਈਨ-ਇਨ ਦੌਰਾਨ ਤੁਹਾਡੀ ਐਪ ਦੀ ਪਛਾਣ ਕਰਨ ਵਿੱਚ ਮਦਦ ਮਿਲਦੀ ਹੈ।
- ਮੈਨੂੰ ਸਿਰਫ ਉਤਪਾਦਨ ਵਿੱਚ ਗਲਤੀ ਕਿਉਂ ਦਿਖਾਈ ਦਿੰਦੀ ਹੈ ਪਰ ਵਿਕਾਸ ਵਿੱਚ ਨਹੀਂ?
- ਇਹ ਸਮੱਸਿਆ ਅਕਸਰ ਸਿਰਫ਼-ਪ੍ਰੋਡਕਸ਼ਨ ਕੌਂਫਿਗਰੇਸ਼ਨਾਂ ਤੋਂ ਪੈਦਾ ਹੁੰਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ Google Play ਕੰਸੋਲ 'ਤੇ। ਵਿਕਾਸ ਬਿਲਡ ਵੱਖ-ਵੱਖ ਮੁੱਖ ਸੰਰਚਨਾਵਾਂ ਦੇ ਕਾਰਨ ਕੰਮ ਕਰ ਸਕਦੇ ਹਨ।
- Google ਸਾਈਨ-ਇਨ ਲਈ ਕਿਹੜੀਆਂ ਇਜਾਜ਼ਤਾਂ ਦੀ ਲੋੜ ਹੈ?
- ਮੂਲ ਪ੍ਰਮਾਣੀਕਰਨ ਅਨੁਮਤੀਆਂ ਆਮ ਤੌਰ 'ਤੇ ਕਾਫ਼ੀ ਹੁੰਦੀਆਂ ਹਨ, ਪਰ ਜੇਕਰ ਖਾਸ Google API ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਤਾਂ ਤੁਹਾਡੀ ਐਪ ਵਾਧੂ ਸਕੋਪਾਂ ਲਈ ਬੇਨਤੀ ਕਰ ਸਕਦੀ ਹੈ।
- ਮੈਂ ਪਲੇ ਸਟੋਰ 'ਤੇ ਤੈਨਾਤ ਕੀਤੇ ਬਿਨਾਂ ਉਤਪਾਦਨ ਸੈਟਿੰਗਾਂ ਦੀ ਜਾਂਚ ਕਿਵੇਂ ਕਰ ਸਕਦਾ ਹਾਂ?
- ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਉਤਪਾਦਨ ਸੰਰਚਨਾਵਾਂ ਦੇ ਨਾਲ ਐਕਸਪੋ ਦੇ ਵਿਕਾਸ ਬਿਲਡ ਦੀ ਵਰਤੋਂ ਕਰੋ, ਜੋ ਤੁਹਾਨੂੰ ਬਿਨਾਂ ਤੈਨਾਤ ਕੀਤੇ ਉਤਪਾਦਨ ਵਾਤਾਵਰਣ ਦੀ ਨਕਲ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।
- ਮੈਂ ਐਕਸਪੋ ਵਿੱਚ ਗੂਗਲ ਸਾਈਨ-ਇਨ ਲਈ ਗਲਤੀ ਲੌਗਿੰਗ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਾਂ?
- ਵਰਤਦੇ ਹੋਏ ਫਰੰਟਐਂਡ ਅਤੇ ਬੈਕਐਂਡ ਦੋਵਾਂ 'ਤੇ ਕਸਟਮ ਗਲਤੀ ਸੁਨੇਹੇ ਲਾਗੂ ਕਰੋ try/catch ਸਾਈਨ-ਇਨ ਦੌਰਾਨ ਖਾਸ ਸੰਰਚਨਾ ਸਮੱਸਿਆਵਾਂ ਦੀ ਪਛਾਣ ਕਰਨ ਲਈ ਬਲਾਕ.
- ਕੀ Google ਸਾਈਨ-ਇਨ ਲਈ Firebase ਦੀ ਲੋੜ ਹੈ?
- ਨਹੀਂ, ਫਾਇਰਬੇਸ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ, ਪਰ ਇਹ Google ਦੇ OAuth ਸਿਸਟਮ ਨਾਲ ਆਸਾਨੀ ਨਾਲ ਏਕੀਕ੍ਰਿਤ ਕਰਕੇ ਪ੍ਰਮਾਣੀਕਰਨ ਸੈੱਟਅੱਪ ਨੂੰ ਸਰਲ ਬਣਾਉਂਦਾ ਹੈ।
Google ਸਾਈਨ-ਇਨ ਸਮੱਸਿਆਵਾਂ ਦੇ ਨਿਪਟਾਰੇ ਬਾਰੇ ਅੰਤਿਮ ਵਿਚਾਰ
Expo EAS ਅਤੇ Firebase ਦੇ ਨਾਲ Google ਸਾਈਨ-ਇਨ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ SHA ਸਰਟੀਫਿਕੇਟਾਂ ਅਤੇ OAuth ਕਲਾਇੰਟ ਆਈਡੀਜ਼ ਵਰਗੇ ਵੇਰਵਿਆਂ ਵੱਲ ਧਿਆਨ ਦੇਣ ਦੀ ਲੋੜ ਹੈ। ਇੱਥੇ ਛੋਟੀਆਂ-ਮੋਟੀਆਂ ਨਿਗਰਾਨੀ ਨਾਲ ਅਜਿਹੀਆਂ ਸਮੱਸਿਆਵਾਂ ਪੈਦਾ ਹੋ ਸਕਦੀਆਂ ਹਨ ਜੋ ਸਿਰਫ਼ ਉਤਪਾਦਨ ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦੀਆਂ ਹਨ, ਜਿਵੇਂ ਕਿ ਡਿਵੈਲਪਰ ਐਰਰ ਕੋਡ 10। ਸਹੀ ਸੰਰਚਨਾਵਾਂ ਦੇ ਨਾਲ, ਡਿਵੈਲਪਰ ਆਪਣੇ ਉਪਭੋਗਤਾਵਾਂ ਲਈ ਸੁਰੱਖਿਅਤ ਅਤੇ ਨਿਰਵਿਘਨ ਸਾਈਨ-ਇਨ ਪ੍ਰਵਾਹ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹਨ। 🚀
ਤਰੀਕਿਆਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨਾ ਜਿਵੇਂ ਕਿ ਵੈੱਬ ਕਲਾਇੰਟ ਆਈਡੀ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨਾ, SHA ਫਿੰਗਰਪ੍ਰਿੰਟਸ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨਾ, ਅਤੇ ਐਕਸਪੋ 'ਤੇ ਉਤਪਾਦਨ ਵਰਗੇ ਵਾਤਾਵਰਣ ਵਿੱਚ ਟੈਸਟ ਕਰਨਾ ਇੱਕ ਅਨੁਕੂਲਿਤ, ਗਲਤੀ-ਮੁਕਤ ਸਾਈਨ-ਇਨ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ। ਹਮੇਸ਼ਾਂ ਵਾਂਗ, ਐਪ ਨੂੰ ਵਿਆਪਕ ਦਰਸ਼ਕਾਂ ਲਈ ਤੈਨਾਤ ਕਰਦੇ ਸਮੇਂ ਟੈਸਟਿੰਗ, ਲੌਗਿੰਗ, ਅਤੇ ਗਲਤੀ-ਪ੍ਰਬੰਧਨ ਭਰੋਸੇਯੋਗਤਾ ਅਤੇ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਨੂੰ ਵਧਾਉਂਦੇ ਹਨ। 👍
ਉਪਯੋਗੀ ਸਰੋਤ ਅਤੇ ਹਵਾਲੇ
- ਐਕਸਪੋ ਅਤੇ ਫਾਇਰਬੇਸ ਲਈ ਗੂਗਲ ਸਾਈਨ-ਇਨ ਏਕੀਕਰਣ 'ਤੇ ਵਿਸਤ੍ਰਿਤ ਦਸਤਾਵੇਜ਼, ਸੈਟਅਪ ਅਤੇ ਸਮੱਸਿਆ ਨਿਪਟਾਰੇ ਦੇ ਕਦਮਾਂ ਸਮੇਤ, ਅਧਿਕਾਰਤ ਫਾਇਰਬੇਸ ਗਾਈਡ 'ਤੇ ਲੱਭੇ ਜਾ ਸਕਦੇ ਹਨ: Google ਸਾਈਨ-ਇਨ ਨਾਲ ਫਾਇਰਬੇਸ ਪ੍ਰਮਾਣਿਕਤਾ .
- ਦ ਨੇਟਿਵ ਗੂਗਲ ਸਾਈਨ-ਇਨ ਦਸਤਾਵੇਜ਼ਾਂ 'ਤੇ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰੋ React Native ਦੇ ਅੰਦਰ Google ਸਾਈਨ-ਇਨ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਲਈ ਡੂੰਘਾਈ ਨਾਲ ਸਰੋਤਾਂ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ Expo EAS ਬਿਲਡਾਂ ਲਈ ਸੰਰਚਨਾ ਸੁਝਾਅ ਸ਼ਾਮਲ ਹਨ।
- ਪ੍ਰਬੰਧਿਤ ਵਰਕਫਲੋਜ਼ ਦੇ ਅੰਦਰ ਗੂਗਲ ਸਾਈਨ-ਇਨ ਸਥਾਪਤ ਕਰਨ ਲਈ ਐਕਸਪੋ ਦੀ ਅਧਿਕਾਰਤ ਗਾਈਡ ਇੱਥੇ ਉਪਲਬਧ ਹੈ ਐਕਸਪੋ ਗੂਗਲ ਸਾਈਨ-ਇਨ , ਜ਼ਰੂਰੀ ਪਲੱਗਇਨ ਅਤੇ ਸੰਰਚਨਾ ਵੇਰਵੇ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
- ਸਮੱਸਿਆ-ਨਿਪਟਾਰਾ ਅਤੇ ਭਾਈਚਾਰਕ ਚਰਚਾਵਾਂ ਲਈ, ਨੇਟਿਵ ਗੂਗਲ ਸਾਈਨ-ਇਨ GitHub ਮੁੱਦੇ ਪੰਨੇ 'ਤੇ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰੋ ਡਿਵੈਲਪਰ ਐਰਰ ਕੋਡ 10 ਸਮੇਤ ਆਮ ਤਰੁਟੀ ਹੱਲਾਂ ਲਈ ਇੱਕ ਕੀਮਤੀ ਸਰੋਤ ਹੈ।
- ਗੂਗਲ ਦੇ Android ਦਸਤਾਵੇਜ਼ਾਂ ਲਈ Google ਸਾਈਨ-ਇਨ ਐਂਡਰੌਇਡ ਐਪਾਂ ਲਈ SHA1 ਅਤੇ SHA256 ਫਿੰਗਰਪ੍ਰਿੰਟਸ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਬਾਰੇ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਵਿਕਾਸਕਾਰ ਗਲਤੀ ਕੋਡ 10 ਤੋਂ ਬਚਣ ਲਈ ਜ਼ਰੂਰੀ ਹੈ।