Code Monkey home page Code Monkey logo

googleclientplugin's Introduction

Google Client Plugin for Xamarin iOS and Android

Build Status

Cross platform plugin for handling Google authentication.

Setup

Platform Support

Platform Version
Xamarin.iOS iOS 8+
Xamarin.Android API 15+

API Usage

Call CrossGoogleClient.Current from any project to gain access to API.

Features

  • Authentication

Documentation

Here you will find detailed documentation on setting up and using the Google Client Plugin for Xamarin

Google Client Sample Application

References

Contributors

googleclientplugin's People

Contributors

aflorenzan avatar axemasta avatar char0394 avatar luispujols avatar marciosouzajunior avatar natsoragge avatar ngumby avatar pictos avatar pujolsluis avatar rdelrosario avatar romarudyak avatar thiago-rcarvalho avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

googleclientplugin's Issues

Not able to get AccessToken and RefreshToken

Describe the bug
Hi! , I am not able to receive the access and refresh tokens with this library.
I wanted to exchange the ActiveToken to access and refresh token directly from my app by calling this endpoint
https://developers.google.com/identity/protocols/OAuth2WebServer#exchange-authorization-code
but I only receive access_token with expires after 1 hour and without refresh_token. How can I access Google services like Gmail or Drive by using this library? Maybe I’m missing some authentication flow?
Thanks for help :/

Plugin.GoogleClient.Shared.GoogleClientBaseException: 10:

Hello!

I created a package and inside it I used GoogleClientPlugin.
When I work with the package inside the Sample project where I develop the nugets everything works fine, but when I want to test the packege as a nuget in another project I get this error when I try to log in with google:
Exception is: Plugin.GoogleClient.Shared.GoogleClientBaseException: 10:
at Plugin.GoogleClient.GoogleClientManager.LoginAsync () [0x000cb] in <9a6ffdce03a64aceaeeebe3956587f25>:0
at [my function]

The solutions I found was to verify the package name or the fingerprint and both of them are ok.
If you can see, the exception doesn't help me because the message it's "10:" and I can't find anything about it on google or in issues.
If you know why I get this error message please help!

Thanks!

[Error] Java.Lang.IllegalArgumentException: Can only use lower 16 bits for requestCode

Describe the bug
When I run method 'LoginAsync()', "Can only use lower 16 bits for requestCode" is occured

Screenshots

Java.Lang.IllegalArgumentException: Can only use lower 16 bits for requestCode
  at Java.Interop.JniEnvironment+InstanceMethods.CallNonvirtualVoidMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00089] in <fdf05f528e174febb3e55b587dbab368>:0 
  at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x0005d] in <fdf05f528e174febb3e55b587dbab368>:0 
  at Android.App.Activity.StartActivityForResult (Android.Content.Intent intent, System.Int32 requestCode) [0x00044] in <d9e99b55e96444569d54148253f9c212>:0 
  at Plugin.GoogleClient.GoogleClientManager.LoginAsync () [0x0003c] in <b6fce69c42c543f4b06726b36e946653>:0 

Smartphone (please complete the following information):

  • Device: Samsung Galaxy S10e
  • OS: Android
  • Version 8.1

Extra Version

  • Visual Studio: 2019
  • Xamarin.Forms: 3.6
  • Plugin.GoogleClient: 1.1.0

Extra
- Please just modify 'AuthActivityID' in GoogleClientManager for Android

No exception if Plugin used before Initialized triggered

Describe the bug
Possibility to use CrossGoogleClient.Current before GoogleClientManager.Initialize called

To Reproduce
Steps to reproduce the behavior:

  1. Create application as from guide
  2. Remove GoogleClientManager.Initialize in OnCreate in Android
  3. Call CrossGoogleClient.Current.LoginAsync();

Expected behavior
There must be throw NotInitializedException when CrossGoogleClient.Current requested.

Information (please complete the following information):

  • OS: Android/iOS
  • Version: 1.0.14

Unable to login with AOT and LLVM

Got this error when try to build release with AOT + LLVM + ProGuard + Multidex.
Java.Lang.IncompatibleClassChangeError: no non-static method "Lcom/google/android/gms/auth/api/signin/internal/zzc;.getSignInIntent(Lcom/google/android/gms/common/api/GoogleApiClient;)Landroid/content/Intent;"
at Java.Interop.JniEnvironment+InstanceMethods.GetMethodID (Java.Interop.JniObjectReference type, System.String name, System.String signature) [0x0005b] in :0
at Android.Runtime.JNIEnv.GetMethodID (System.IntPtr kls, System.String name, System.String signature) [0x00007] in <71be6a879ebd48b389b41f39d3d87762>:0
at Android.Gms.Auth.Api.SignIn.IGoogleSignInApiInvoker.GetSignInIntent (Android.Gms.Common.Apis.GoogleApiClient client) [0x00012] in :0
at Plugin.GoogleClient.GoogleClientManager+d__22.MoveNext () [0x0001b] in :0
--- End of stack trace from previous location where exception was thrown ---
at connect.me.mobile.Projects.Tdt.IntroPage.IntroV2PageViewModel+d__25.MoveNext () [0x00093] in :0
--- End of managed Java.Lang.IncompatibleClassChangeError stack trace ---
java.lang.NoSuchMethodError: no non-static method "Lcom/google/android/gms/auth/api/signin/internal/zzc;.getSignInIntent(Lcom/google/android/gms/common/api/GoogleApiClient;)Landroid/content/Intent;"
at mono.java.lang.RunnableImplementor.n_run(Native Method)
at mono.java.lang.RunnableImplementor.run(RunnableImplementor.java:30)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
No issue with out AOT + LLVM

Update Xamarin.Google.iOS.SignIn dependency to the 5.0.2.1 version and make it work.

Hello

Apple is starting to refuse any application containing a reference to the class UIWebview. The Xamarin.Google.iOS.SignIn package had such a reference until the last update to version 5.0.2.1.

I tried to add it in my project but unfortunately it seems that your plugin is only compatible with the version 4.X of the Xamarin.Google.iOS.SignIn (either that or I'm dumb and didn't manage to make it work)

If you want your plugin to be usable on iOS you need to make it compatible with the version 5.0.2.1

The Google Sign In Could not complete it's process

Hello Goodnight.

I have already followed all the steps to be able to log in but I get the message "Google login could not complete your process correctly".

I tried everything and I can not get it to connect with the app, I saw all the cases that were presented and even then I can not make it connect, could you help me?

1- configure application in google for android
Captura de Pantalla 2019-06-01 a la(s) 23 32 54

2- configure application in firebase
3 - enter the code that is with the example
Captura de Pantalla 2019-06-01 a la(s) 23 35 19

Captura de Pantalla 2019-06-01 a la(s) 23 36 09

4 - Download the Google repository
Captura de Pantalla 2019-06-01 a la(s) 23 32 27
He keeps sending me the same message.

Value cannot be null. Parameter name: path

HI, thanks for the amazing plugin, but i keep getting the same error on iOS while on android i fully functional.
The error i get is when i launch the app on iOS when calling the GoogleClientManager.Initialize(); it trows an error saying "Value cannot be null. Parameter name: path"

captura de ecra 2019-01-10 as 14 42 18

Desktop:

  • OS: iMac High Sierra

Smartphone (please complete the following information):

  • Device: iPhone6 Plus
  • OS: 12

Events are backed by a static field

Currently OnLogin, OnLogout and OnError events are defined as follows:

        static EventHandler<...> _onLogin;
        public event EventHandler<...> OnLogin
        {
            add => _onLogin += value;
            remove => _onLogin -= value;
        }

I get you have a particular usage in mind when using this library.

In particular you whould like us to subscribe to OnLogin before requesting user data and you want us to unsubcribe as soon as we get the results; maybe using only an instance of GoogleClient throughout the entire app, by the way this could not be possible or may not be the programming style we are using.

In those different scenarios a static backfield causes problems. Ranging from the same handlers being called multiple times to memory leaks.

I'd suggest to remove the static keyword and turn to a simple event.

        private EventHandler<...> _onLogin;
        public event EventHandler<...> OnLogin
        {
            add => _onLogin += value;
            remove => _onLogin -= value;
        }

which leads to this

public event EventHandler<...> OnLogin;

java.lang.IllegalArgumentException: Description cannot be null Open

Hi! I don't know if it is a bug, just my user reported that my app crashes. It looks like he is the only one who has faced with this. Could you please tell me where I'm wrong? Thanks in advance! :) That's all we know:

From Google Play console:

Galaxy S8 (dreamlte)
Samsung
CP: Samsung Exynos 8895
Platform armeabi-v7a, armeabi, arm64-v8a
RAM (MB) 4096
1080 × 2220, (DPI) 480 OpenGL ES 3.2ОС Android 9

And that's what App Center says:

android.support.v4.media.session.MediaSessionCompat$QueueItem.
MediaSessionCompat.java, line 1962
java.lang.IllegalArgumentException: Description cannot be null

android.support.v4.media.session.MediaSessionCompat$QueueItem. MediaSessionCompat.java:1962
android.support.v4.media.session.MediaSessionCompat$QueueItem. MediaSessionCompat.java:1954
com.google.android.exoplayer2.ext.mediasession.TimelineQueueNavigator.publishFloatingQueueWindow TimelineQueueNavigator.java:196
com.google.android.exoplayer2.ext.mediasession.TimelineQueueNavigator.onTimelineChanged TimelineQueueNavigator.java:108
com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector$ExoPlayerEventListener.onTimelineChanged MediaSessionConnector.java:790
com.google.android.exoplayer2.ExoPlayerImpl$PlaybackInfoUpdate.notifyListeners ExoPlayerImpl.java:779
com.google.android.exoplayer2.ExoPlayerImpl.updatePlaybackInfo ExoPlayerImpl.java:716
com.google.android.exoplayer2.ExoPlayerImpl.handlePlaybackInfo ExoPlayerImpl.java:647
com.google.android.exoplayer2.ExoPlayerImpl.handleEvent ExoPlayerImpl.java:592
com.google.android.exoplayer2.ExoPlayerImpl$1.handleMessage ExoPlayerImpl.java:125
android.os.Handler.dispatchMessage Handler.java:106
android.os.Looper.loop Looper.java:214
android.app.ActivityThread.main ActivityThread.java:7050
java.lang.reflect.Method.invoke Method.java
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run RuntimeInit.java:494
com.android.internal.os.ZygoteInit.main ZygoteInit.java:965

Java.Lang.ClassNotFound Exception calling CrossGoogleClient.Current

Describe the bug
When running my Xamarin.Forms app using code copied from the client sample, I'm getting this error.
Java.Lang.ClassNotFoundException: occurred

To Reproduce
F5 running the debugger.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Windows 10

Smartphone (please complete the following information):

  • Android Emulator x86 Oreo (8.1)

Additional context
I created my app. in Google Firebase and copied the google-services.json to the root of my Android project.

[Error] android.view.WindowLeaked

I followed android tutorial and add google-services.json in android project
But, when I select my account
debug say

"android.view.WindowLeaked: Activity com.google.android.gms.auth.api.signin.internal.SignInHubActivity has leaked window DecorView@abb3dab[] that was originally added here"

How I solve this..?

[Error] Object reference not set to an instance of an object in Xamarin.iOS

I had above error in "GoogleClientManager.Initialize();"

At first, I can't build with some error
and I add "--registrar:static" in 'iOS Build' in Project options

At second, I can't build with error, too

/Users/cheonmyeong-gi/Desktop/HopsProject/HopsMobile/HopsMobile.iOS/clang: Error: no such file or directory: '/Users/cheonmyeong-gi/Desktop/HopsProject/HopsMobile/HopsMobile.iOS/obj/iPhoneSimulator/Debug/device-builds/iphone8.4-11.4/mtouch-cache/GoogleSignIn' (HopsMobile.iOS)
so, I add package 'Xamarin.Google.iOS.SignIn'
and fixed error

But, now had another error
screen shot 2018-07-17 at 4 25 27 pm

I add GoogleService-info.plist

How I solve this?

Native linking failed

Describe the bug
Hello
I add this plugin in my Xamarin Forms project and can't build my iOS project since then. These are the three errors:

Error: no such file or directory: '.../obj/iPhoneSimulator/Debug/device-builds/iphone11.4-12.1/mtouch-cache/GoogleSignIn' (....iOS)
.../error MT5209: Error: clang: error: no such file or directory: '
.../obj/iPhoneSimulator/Debug/device-builds/iphone11.4-12.1/mtouch-cache/GoogleSignIn' (...iOS) Native linking
/.../MTOUCH: Error MT5202: Native linking failed. Please review the build log. (MT5202) (...iOS)

To Reproduce
Steps to reproduce the behavior:

  1. Install plugin
  2. Config Firebase project and copy GoogleService-Info.plist
  3. Build project

Expected behavior
Build without errors

Desktop (please complete the following information):

  • MacOsx Mojave
  • Rider 2018 and Visual Studio 2015

Smartphone (please complete the following information):

  • Device: [Simulator iPhone X Max 12.1, iPhone X 12.1 ]
  • OS: [iOS 12.1 ]

Additional context
My project contain CrossGeeks FacebookClientPlugin, FirebasePushNotificationPlugin and they work correctly

After login the onlogin event is calling no of times

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'On login task'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

GoogleClientSignInFaildErrorException. (The sign in attempt didn't succeed with the current account)

I did all the steps as per the document but I get application crash.
I have attached crash report.

Plugin.GoogleClient.Shared.GoogleClientSignInFailedErrorException
The sign in attempt didn't succeed with the current account.

The above Exception I got from the Visual studio.

Screenshots
whatsapp image 2018-10-31 at 9 40 14 am

Smartphone:

  • Device: OnePlus 3T, Redmi Y2
  • OS: Android
  • Version: v8.0.1

Desktop

  • Device: MacBook Air
  • OS : macOS v10.14
  • Visual studio v7.6.10

Exception Occured

Java.Lang.ClassNotFoundException: com.google.android.gms.auth.api.Auth occur when call CrossGoogleClient.Current

Add CurrentUser property to IGoogleClientManager

Is your feature request related to a problem? Please describe.
I need to access current login user data not triggering Login each time.

Describe the solution you'd like
Add property for current login user to IGoogleClientManager. If it is null user not login.
Android and iOS has native API for getting login user.

Error : Google sign in could not complete it's process correctly

Describe the bug
I'm sorry. I'm pretty sure this isn't a bug, but I keep getting this error no matter what I try when debugging on the Android emulator from Visual Studio 2017.

  1. Where does the google-services.json file go? Does it go in the Android project root, under Resources, or both?
  2. Does the build action on the json file need to be set? I've tried setting it to None as well as GoogleServicesJson.

Note that I needed to change the package name so I deleted and recreated the Android App (NOT the Project) in Firebase and re-downloaded the latest google-services.json file.

To Reproduce
I run the emulator, click on Google Sign-In, select my account, and then I get this error.

Desktop (please complete the following information):

  • OS: Windows 10 Visual Studio

Additional context
Add any other context about the problem here.

ActiveToken Returns OAuth Access Token on iOS but Returns JWT on Android

Describe the bug
I'm not able to locate in the docs a definition of what the expected behavior is. However, I've noticed that this library performs differently on iOS than it does on Android. When using CrossGoogleClient.Current.ActiveToken to retrieve the active token after a successful Google Login I've noticed that on iOS this property returns an OAuth Access token however on Android it returns a JWT.

The difference here being that an OAuth Access Token must still be exchanged with the Google
authorization server in order to obtain an authorized bearer token. While a JWT is a fully signed authorization that can be used as the bearer token on some Google APIs.

I am using a back end server that abides by the OAuth protocol and thus does not know or use JWTs. I would like to receive the OAuth Access Token under both iOS and Android implementations.

To Reproduce

user = new UserModel();

GoogleResponse<GoogleUser> googleUser = await _googleClientManager.LoginAsync();

user.Name = googleUser.Data.Name;
user.EmailId = googleUser.Data.Email;
user.Picture = googleUser.Data.Picture.ToString();
user.Provider = "google";
user.ProviderId = googleUser.Data.Id;
user.ProviderToken = CrossGoogleClient.Current.ActiveToken;

Supporting Documentation
Google API Docs for GoogleSignInAccount show that getIdToken() will return a JWT and getServerAuthCode() will return a "one-time server auth code to send to your web server which can be exchanged for access token".

Exception Occurred

The Google Sign In could not complete it's process correctly occur after click on login button (GoogleClientBaseException)

Error: There was a problem reading or writing to the application keychain.

Hi,
I'm just now to the point where I'm trying to run my app. on the iPhoneSimulator on VS 2017. My iMac is connected. The app loads, but then when I click on the button to login to Google, I'm getting:
Error: There was a problem reading or writing to the application keychain.
It's blowing up on the LoginAsync method:

public async void LoginAsync()
{
    _googleClientManager.OnLogin += OnLoginCompleted;
    try
    {
        await _googleClientManager.LoginAsync();   <-- Blows up here
    }

I'd appreciate any help you can provide. I'm still very new to mobile development so please bear with me. Thanks.

Token is empty on Android

After success sign in on aAndroid, token is empty.
Log from plugin: Active Token:
On ios it is ok

exception on release

im using xamarin forms, its works fine on debug mode but when i generate the apk file and install on device, it fails with the exception: The google sign in could not completed it's process correctly

LoginAsync hides app on Android

Describe the bug
When I'm calling LoginAsync, it hides my app. Then the popup with google accounts is shown and after choosing one nothing happens. The app doesn't crash.

To Reproduce
Steps to reproduce the behavior:

  1. Call LoginAsync();

Expected behavior
The popup doesn't hide application and the popup is shown on the same page where it was called.

Screenshots

screenshot_2018-11-29-12-09-55

screenshot_2018-11-29-12-09-45-2

Smartphone (please complete the following information):

  • Device: Lenovo P70-A
  • OS: Android
  • Version 5.1

Additional context

var googleClient = CrossGoogleClient.Current;
var response = await googleClient.LoginAsync(); // stuck here
var data = response.Data;

Firebase project is configured correctly.
Also tried to use Device.BeginInvokeOnMainThread.

Can't build iOS project when Plugin.GoogleClient nuget installed

After Plugin.GoogleClient 2.1.5 nuget intall ios app won't compile.

Errors:

/iOS/MTOUCH: Error MT5210: Native linking failed, undefined symbol: _kAPMAnalyticsConfiguration. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in. (MT5210)
/iOS/clang: Error: linker command failed with exit code 1 (use -v to see invocation)
iOS/MTOUCH: Error MT5210: Native linking failed, undefined symbol: _kAPMAppMeasurementOriginFirebase. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in. (MT5210)
iOS/MTOUCH: Error MT5210: Native linking failed, undefined symbol: _kAPMIsAnalyticsCollectionDeactivated. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in. (MT5210)
/Users/ignasbagdonas/Documents/Projects/iOS/NativeApp/iOS/MTOUCH: Error MT5210: Native linking failed, undefined symbol: _kAPMIsAnalyticsCollectionEnabled. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in. (MT5210) (iOS)
/Users/ignasbagdonas/Documents/Projects/iOS/NativeApp/iOS/MTOUCH: Error MT5210: Native linking failed, undefined symbol: _kAPMMonitorLogTagOptionKey. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in. (MT5210) (iOS)
/Users/ignasbagdonas/Documents/Projects/iOS/NativeApp/iOS/MTOUCH: Error MT5210: Native linking failed, undefined symbol: _kAPMSafelistedEventsOptionKey. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in. (MT5210) (iOS)
/iOS/MTOUCH: Error MT5201: Native linking failed. Please review the build log and the user flags provided to gcc: -ObjC -lsqlite3 -ObjC -ObjC -ObjC -lc++ -lz -ObjC -lc++ -lsqlite3 -lz -ObjC -lc++ -lsqlite3 -lz (MT5201)

Data.data is returning null in android

Hello ,
I have followed all steps .
now my onActivityResult is getting called but if i see Data is not null but Data.data is null where i am expecting actual result.
also CrossGoogleClient.Current.OnLogin is also not getting called.
this issue is on android.
Please help what i am doing wrong.

VS2019 Cannot compile

I simply download and open the solution with Visual Studio 2019.
The solution does not compile.
Sdk dependencies cannot be loaded.

Maybe something changed in the layout of the project file.

UWP implementation

Hello guys, how i promised, i started the UWP implementation... But since Google does not provide an SDK, it is necessary to use the browser to log in. With this, this architecture model, using Interface, greatly hinders the deployment and the use of the client by a developer. Because I can not expose to the dev specific methods of each platform, to solve this we can use the same architecture used in the Xamarin.Essentials project. I can help with the migration.

UWP implementation
Xamarin.Essentials repo

I want to have google id as well in googleUser class. which is not included right now. How can i have that?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

ActiveToken value is null, IsLoggedIn is false

Using the library, calling either
var response = await CrossGoogleClient.Current.LoginAsync();
or
var response = await CrossGoogleClient.Current.SilentLoginAsync();
opens the dialog when needed and results in the OnLogin event firing, a response with Status set to Completed, complete user data in the response object, yet the CrossGoogleClient.Current.ActiveToken property remains null, and CrossGoogleClient.Current.IsLoggedIn remains false (according to debugger).

Steps to reproduce:
Start application and call the above line of code, successfully login, check ActiveToken value.

Debug device:
Nexus 5 (Hammerhead) on stock lastest rom with up to date google services.

How to subscribe OpenUrl for iOS with Google and FacebookClientPlugin at the same time?

Describe the bug
public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
{
return FacebookClientManager.OpenUrl(app, url, options);
return GoogleClientManager.OnOpenUrl(app, url, options);
}
Only first "return" will run
To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

idToken and accessToken are null

hi, I am trying to get the idtoken and accessToken but both are null.
I followed the documentation and initialized the plugin with client id but no success.
any suggestions?

Unable to install into Prism (.net standard 2.0) PCL project

I am unable to install the nuget into my .net standard 2.0 project.
I am using a Prism Xamarin Forms application.
The package installs correctly for both iOS and Android, however the PCL shows the following:

image

Does the project support .netstandard 2.0?

Thanks for you help

OnLogin Event is never Fired, nothing happens

LoginAsync() is triggered, testing on Android..
A box pops open to select a User to continue with, after that nothing happens ..
OnLogin is never fired, no permissions are requested although the Scope is filled.
CrossGoogleClient.Current.OnLogin += CrossGoogleClient_OnLogin;
var googleUser = CrossGoogleClient.Current.LoginAsync();

Why doesn't anything happen after the account selection ?
Did I miss something ?? I followed the Setup as described.

Android crash on release mode

Describe the bug
I signed in successfully in debug mode, but in release mode my app crashed.
Log:
Time Device Name Type PID Tag Message 03-10 09:21:52.987 Samsung SM-N960F Info 32639 MonoDroid java.lang.NoSuchFieldError: no "Lcom/google/android/gms/auth/api/signin/GoogleSignInOptions;" field "DEFAULT_SIGN_IN" in class "Lcom/google/android/gms/auth/api/signin/GoogleSignInOptions;" or its superclasses at crc64ee486da937c010f4.ButtonRenderer.n_onClick(Native Method) at crc64ee486da937c010f4.ButtonRenderer.onClick(Unknown Source:0) at android.view.View.performClick(View.java:7870) at android.widget.TextView.performClick(TextView.java:14956) at android.view.View.performClickInternal(View.java:7839) at android.view.View.access$3600(View.java:886) at android.view.View$PerformClick.run(View.java:29363) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:237) at android.app.ActivityThread.main(ActivityThread.java:7811) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1076) Time Device Name Type PID Tag Message 03-10 09:21:52.987 Samsung SM-N960F Info 32639 MonoDroid Java.Lang.IncompatibleClassChangeError: no "Lcom/google/android/gms/auth/api/signin/GoogleSignInOptions;" field "DEFAULT_SIGN_IN" in class "Lcom/google/android/gms/auth/api/signin/GoogleSignInOptions;" or its superclasses at Java.Interop.JniEnvironment+StaticFields.GetStaticFieldID (Java.Interop.JniObjectReference type, System.String name, System.String signature) <0x795bd9cf70 + 0x0009f> in <2d22f5fc4f5149d79dd7aa129d34883f>:0 at Java.Interop.JniType.GetStaticField (System.String name, System.String signature) <0x795bda3490 + 0x0005f> in <2d22f5fc4f5149d79dd7aa129d34883f>:0 at Java.Interop.JniPeerMembers+JniStaticFields.GetFieldInfo (System.String encodedMember) <0x795bda0980 + 0x000d3> in <2d22f5fc4f5149d79dd7aa129d34883f>:0 at Java.Interop.JniPeerMembers+JniStaticFields.GetObjectValue (System.String encodedMember) <0x795bda0820 + 0x00033> in <2d22f5fc4f5149d79dd7aa129d34883f>:0 at Android.Gms.Auth.Api.SignIn.GoogleSignInOptions.get_DefaultSignIn () [0x0000a] in <c191514b138d404abd903df1019299eb>:0 at Plugin.GoogleClient.GoogleClientManager..ctor () [0x00018] in <588e30f013034fc98070ae2585b5e296>:0 at Plugin.GoogleClient.CrossGoogleClient.CreateGoogleClient () [0x00000] in <588e30f013034fc98070ae2585b5e296>:0 at Plugin.GoogleClient.CrossGoogleClient+<>c.<.cctor>b__7_0 () [0x00000] in <588e30f013034fc98070ae2585b5e296>:0 at System.Lazy1[T].PublicationOnlyViaFactory (System.LazyHelper initializer) <0x795d2dba90 + 0x0005b> in <84b67256a3c14618bf29227cc5d9effa>:0
at System.Lazy1[T].CreateValue () <0x795d2dbb90 + 0x000bf> in <84b67256a3c14618bf29227cc5d9effa>:0 at System.Lazy1[T].get_Value () <0x795d2dbd80 + 0x00047> in <84b67256a3c14618bf29227cc5d9effa>:0
at Plugin.GoogleClient.CrossGoogleClient.get_Current () [0x00000] in <588e30f013034fc98070ae2585b5e296>:0
at AudioBook.ViewModels.LoginViewModel.LoginGoogle () [0x0002f] in :0
at AudioBook.ViewModels.LoginViewModel.<.ctor>b__25_1 () [0x00062] in :0
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.b__7_0 (System.Object state) [0x00000] in <84b67256a3c14618bf29227cc5d9effa>:0
at Android.App.SyncContext+<>c__DisplayClass2_0.b__0 () [0x00000] in :0
at Java.Lang.Thread+RunnableImplementor.Run () <0x795bdea8d0 + 0x0004b> in :0
at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00009] in :0
at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.87(intptr,intptr)
--- End of managed Java.Lang.IncompatibleClassChangeError stack trace ---
`

To Reproduce
Steps to reproduce the behavior:

  1. Call sign in
  2. Crash

Smartphone (please complete the following information):

  • Device: Samsung Note 9
  • OS: Android 10
  • Plugin version 1.1.1

Login Error

Describe the bug
Unable to complete Login
Screenshot_2019-06-10-16-22-06

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

'ISignInUIDelegate' could not be found in xamarin.Google.iOS.Sign to 5.0.2.1

Hi,
In iOS Getting error ->
The type or namespace name 'ISignInUIDelegate' could not be found (are you missing a using directive or an assembly reference?)
After Update xamarin.Google.iOS.Sign to 5.0.2.1

Plugin.GoogleClient 2.0 needs xamarin.Google.iOS.Sign >= 5.0.2.1

"Can't able to Submit ipa with "Plugin.GoogleClient 1.1.1 " getting error
ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more (https://developer.apple.com/documentation/uikit/uiwebview)."

iOS social login permission alert.

Plugin.GoogleClient does not function properly after iOS social login permission alert. It works well on Android devices. on iOS, after clicking on Continue for social login permission, it flickers and does nothing.

Steps to reproduce:
Install app on iOS device (iPhone). Assuming instructions were followed for this nuget package. Build and deploy the iOS app. Launch the app and select Google login. You will be prompted by iOS for permission for social login. Select "Continue" and it flickers and hangs after couple login attempts.

The expected behavior is that it should follow that of Android device.

A clear and concise description of what you expected to happen.

  • Device: Phone6
  • OS: iOS 12.4.6

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.