diff --git a/package-lock.json b/package-lock.json
index fdc09e9..7f365b9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1870,6 +1870,21 @@
}
}
},
+ "@ionic-native/google-plus": {
+ "version": "5.31.1",
+ "resolved": "https://registry.npmjs.org/@ionic-native/google-plus/-/google-plus-5.31.1.tgz",
+ "integrity": "sha512-xACJ9JDmoNhlHAuUSuyOelaOokWwkndI1J047flJbL0VUQgBxzlBGJcujB1FVKlabclXMAQeQJ30NhQcqWF9Fw==",
+ "requires": {
+ "@types/cordova": "^0.0.34"
+ },
+ "dependencies": {
+ "@types/cordova": {
+ "version": "0.0.34",
+ "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz",
+ "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ="
+ }
+ }
+ },
"@ionic-native/splash-screen": {
"version": "5.30.0",
"resolved": "https://registry.npmjs.org/@ionic-native/splash-screen/-/splash-screen-5.30.0.tgz",
@@ -4480,6 +4495,22 @@
}
}
},
+ "cordova-plugin-androidx": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cordova-plugin-androidx/-/cordova-plugin-androidx-3.0.0.tgz",
+ "integrity": "sha512-niMnhcxKsu4/oKTUbL0jRAnh6/cdoIVxRxJqj3uEyv8CVOlAj1sWhX+9b1XiAo9+bejAM9BbA21YK0mChfbVTA==",
+ "dev": true
+ },
+ "cordova-plugin-androidx-adapter": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/cordova-plugin-androidx-adapter/-/cordova-plugin-androidx-adapter-1.1.3.tgz",
+ "integrity": "sha512-W1SImn0cCCvOSTSfWWp5TnanIQrSuh2Bch+dcZXIzEn0km3Qb7VryeAqHhgBQYwwzC5Ollk1DtUAk/AJSojuZA==",
+ "dev": true,
+ "requires": {
+ "q": "^1.5.1",
+ "recursive-readdir": "^2.2.2"
+ }
+ },
"cordova-plugin-device": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/cordova-plugin-device/-/cordova-plugin-device-2.0.2.tgz",
@@ -4492,6 +4523,15 @@
"integrity": "sha512-lhRsQCCluvjHyUKFnMNrHNCfKHFVnA0X9fCv4JaIEW5RZb6ff5f6aoq2TDKRvnbjCOnmLvB+DC4UUi88NudW5Q==",
"dev": true
},
+ "cordova-plugin-googleplus": {
+ "version": "8.5.1",
+ "resolved": "https://registry.npmjs.org/cordova-plugin-googleplus/-/cordova-plugin-googleplus-8.5.1.tgz",
+ "integrity": "sha512-Az+8BWFIbNPy8+JrIN3nPWVhOBBT8FEmE4UdlUwuKaDKxM7910Jqr7KQY6rl0qD9fhU3/YwLwN+QpFOEnifmIg==",
+ "dev": true,
+ "requires": {
+ "q": "*"
+ }
+ },
"cordova-plugin-ionic-keyboard": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/cordova-plugin-ionic-keyboard/-/cordova-plugin-ionic-keyboard-2.2.0.tgz",
@@ -11746,6 +11786,15 @@
"picomatch": "^2.2.1"
}
},
+ "recursive-readdir": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
+ "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==",
+ "dev": true,
+ "requires": {
+ "minimatch": "3.0.4"
+ }
+ },
"reflect-metadata": {
"version": "0.1.13",
"resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
diff --git a/package.json b/package.json
index 1a74151..839fe84 100644
--- a/package.json
+++ b/package.json
@@ -23,6 +23,7 @@
"@angular/service-worker": "~10.0.0",
"@ionic-native/core": "^5.0.0",
"@ionic-native/firebase-authentication": "^5.31.1",
+ "@ionic-native/google-plus": "^5.31.1",
"@ionic-native/splash-screen": "^5.0.0",
"@ionic-native/status-bar": "^5.0.0",
"@ionic/angular": "^5.0.0",
@@ -49,8 +50,11 @@
"@types/node": "^12.11.1",
"codelyzer": "^6.0.0",
"cordova-android": "^9.0.0",
+ "cordova-plugin-androidx": "^3.0.0",
+ "cordova-plugin-androidx-adapter": "^1.1.3",
"cordova-plugin-device": "^2.0.2",
"cordova-plugin-firebase-authentication": "^4.0.2",
+ "cordova-plugin-googleplus": "^8.5.1",
"cordova-plugin-ionic-keyboard": "^2.2.0",
"cordova-plugin-ionic-webview": "^4.2.1",
"cordova-plugin-splashscreen": "^5.0.2",
@@ -81,10 +85,17 @@
"cordova-plugin-ionic-keyboard": {},
"cordova-plugin-firebase-authentication": {
"ANDROID_FIREBASE_AUTH_VERSION": "20.0.+"
+ },
+ "cordova-plugin-androidx": {},
+ "cordova-plugin-androidx-adapter": {},
+ "cordova-plugin-googleplus": {
+ "REVERSED_CLIENT_ID": "com.alpha.kxip",
+ "WEB_APPLICATION_CLIENT_ID": "5602499136-aonjflj2acqva5gm4vvbuen4bc10sll1.apps.googleusercontent.com",
+ "PLAY_SERVICES_VERSION": "11.8.0"
}
},
"platforms": [
"android"
]
}
-}
+}
\ No newline at end of file
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 155b777..5267ff4 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -18,6 +18,8 @@ import { HttpClientModule } from '@angular/common/http';
import { DataService } from './services/data.service';
+import { GooglePlus } from '@ionic-native/google-plus/ngx';
+
var firebaseConfig = {
apiKey: "AIzaSyCYlFdGEsSA3bPlYYJMh3TcMiHzAUK2his",
authDomain: "kxip-21.firebaseapp.com",
@@ -42,6 +44,7 @@ var firebaseConfig = {
providers: [
StatusBar,
SplashScreen,
+ GooglePlus,
DataService,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy },
{ provide: HAMMER_GESTURE_CONFIG, useClass: MyHammerConfig },
diff --git a/src/app/fan-zone/fan-zone.page.html b/src/app/fan-zone/fan-zone.page.html
index 04eb76b..15563f4 100644
--- a/src/app/fan-zone/fan-zone.page.html
+++ b/src/app/fan-zone/fan-zone.page.html
@@ -3,7 +3,7 @@
-
+
diff --git a/src/app/fan-zone/fan-zone.page.ts b/src/app/fan-zone/fan-zone.page.ts
index d63ea2f..a232f4b 100644
--- a/src/app/fan-zone/fan-zone.page.ts
+++ b/src/app/fan-zone/fan-zone.page.ts
@@ -1,8 +1,10 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { IonSlides } from '@ionic/angular';
-import { AngularFireAuth } from "@angular/fire/auth";
-import firebase from 'firebase/app';
-import { Router } from '@angular/router';
+
+import { GooglePlus } from '@ionic-native/google-plus/ngx';
+import { Platform } from '@ionic/angular';
+import { AngularFireAuth } from '@angular/fire/auth';
+import firebase from 'firebase';
@Component({
selector: 'app-fan-zone',
@@ -46,28 +48,28 @@ export class FanZonePage implements OnInit {
googleUserData: any = { };
showSocialLogin: boolean = true;
+
+
+ public loading: any;
+ public isGoogleLogin = false;
+ public user = null;
+
+
constructor(
- public afAuth: AngularFireAuth,
- private router: Router
+ private google: GooglePlus,
+ private fireAuth: AngularFireAuth,
+ private platform: Platform,
) { }
- async loginWithGoogle() {
- await this.afAuth.signInWithPopup(new firebase.auth.GoogleAuthProvider()).then((data) => {
- this.googleUserData = {
- name: data.user.displayName,
- email: data.user.email,
- profileImage: data.user.photoURL,
- credentials: data.credential
- };
- localStorage.googleUserData = JSON.stringify(this.googleUserData);
- this.showSocialLogin = false;
- }, (err) => {
- alert("Failed to login");
- this.showSocialLogin = true;
- });
- }
+ // async loginWithGoogle() {
+ // await this.afAuth.signInWithPopup(new firebase.auth.GoogleAuthProvider()).then((data) => {
+ // }, (err) => {
+ // alert("Failed to login");
+ // this.showSocialLogin = true;
+ // });
+ // }
- ngOnInit() {
+ async ngOnInit() {
this.fanStories = [{
name: 'Amarpreet',
@@ -85,12 +87,7 @@ export class FanZonePage implements OnInit {
}
ngAfterViewInit() {
- if (localStorage.googleUserData) {
- this.googleUserData = JSON.parse(localStorage.googleUserData);
- this.showSocialLogin = false;
- } else {
- this.showSocialLogin = true;
- }
+ this.showSocialLogin = true;
}
generateEmojiStream() {
@@ -123,4 +120,68 @@ export class FanZonePage implements OnInit {
});
}
+ doLogin(){
+ let params: any;
+ if (this.platform.is('cordova')) {
+
+ if (this.platform.is('android')) {
+ params = {
+ webClientId: '5602499136-aonjflj2acqva5gm4vvbuen4bc10sll1.apps.googleusercontent.com', // webclientID 'string'
+ offline: true
+ };
+ } else {
+ params = {};
+ }
+
+ alert(JSON.stringify(params));
+
+ this.google.login(params).then((response) => {
+ alert("called google login plugin");
+ const { idToken, accessToken } = response;
+ this.onLoginSuccess(idToken, accessToken);
+ }).catch((error) => {
+ console.log(error);
+ alert('error:' + JSON.stringify(error));
+ });
+ } else {
+ console.log('else...');
+ this.fireAuth.signInWithPopup(new firebase.auth.GoogleAuthProvider()).then(data => {
+ console.log('success in google login', data);
+ this.googleUserData = {
+ name: data.user.displayName,
+ email: data.user.email,
+ profileImage: data.user.photoURL,
+ credentials: data.credential
+ };
+ this.showSocialLogin = false;
+ }).catch(err => {
+ alert(err.message);
+ });
+ }
+ }
+
+ onLoginSuccess(accessToken, accessSecret) {
+ const credential = accessSecret ? firebase.auth.GoogleAuthProvider.credential(accessToken, accessSecret) : firebase.auth.GoogleAuthProvider.credential(accessToken);
+ this.fireAuth.signInWithCredential(credential).then((data) => {
+ alert('successfully logged in');
+ this.googleUserData = {
+ name: data.user.displayName,
+ email: data.user.email,
+ profileImage: data.user.photoURL,
+ credentials: data.credential
+ };
+ this.showSocialLogin = false;
+ });
+ }
+
+ onLoginError(err) {
+ console.log(err);
+ }
+
+ logout() {
+ this.fireAuth.signOut().then(() => {
+ this.isGoogleLogin = false;
+ });
+ }
+
}
diff --git a/src/index.html b/src/index.html
index 82c96c8..0236bda 100644
--- a/src/index.html
+++ b/src/index.html
@@ -26,13 +26,13 @@
-
+
-
+
-
+ -->