NAXAM / braintree-android-binding

Xamarin Binding Library - BrainTree Android SDK
Other
10 stars 8 forks source link

Issue Cardinal Mobile SDK (braintree-android-dropui) #21

Open Sumit2668 opened 1 year ago

Sumit2668 commented 1 year ago

General information

SDK/Library version: 5.2.0.1 Environment: Production Android Version and Device: - Issue description We received an email from the Google Play Store , how to fix this issue, please help me.

Screenshot 2022-12-05 at 12 13 25 PM
neljaj commented 1 year ago

General information

SDK/Library version: 5.2.0.1 Environment: Production Android Version and Device: - Issue description We received an email from the Google Play Store , how to fix this issue, please help me.

Screenshot 2022-12-05 at 12 13 25 PM

Yeah we have the same issue. I believe we need a new release that would include the newest version of the android drop in.

See https://github.com/braintree/braintree-android-drop-in/issues/373

tuyen-vuduc commented 1 year ago

Plz upgrade to use the latest version then. There will be breaking changes. Plz be careful.

candoalex commented 1 year ago

Hey there! Having the same issue and am waiting for this library to be updated.

Is there any news or ETA on this?

Thank you

tuyen-vuduc commented 1 year ago

What kind of version are you using?

candoalex commented 1 year ago

What kind of version are you using?

I'm still on an older version which utilizes Cardinal SDK 2.2.7-1 and need it to be upgraded to 2.2.7-2 in a Xamarin project

For now, I can't update Cardinal SDK due to the fact there is a library that TuneSick uses.

Naxam.CardinalMobileSdk.Droid but it's too old and requires an update

the guys (I suppose you are one of them) who support this library for Xamarin haven't yet done the update to the version needed

tuyen-vuduc commented 1 year ago

Please check out the latest version again to see what you get. (read again the readme)

The other thing you can upgrade the Cardinal SDK yourself as well.

candoalex commented 1 year ago

Please check out the latest version again to see what you get. (read again the readme)

The other thing you can upgrade the Cardinal SDK yourself as well.

So what yoh saying is that I should not wait for anyone to update the lib and write a wrapper myself with a needed version, right?

tuyen-vuduc commented 1 year ago

This project is fully open source. It is for everyone to contribute to.

A PR is highly welcome.

tuyen-vuduc commented 1 year ago

As part of my internal work, I updated DropIn lib to v6.5.1, hence this dependent lib is updated as well.

Please upgrade and check it then.

tuyen-vuduc commented 1 year ago

@candoalex Let me know if you find any issues.

candoalex commented 1 year ago

Sure thing, @tuyen-vuduc . Thank you for following up on this one and updating it

Sumit2668 commented 1 year ago

Hi, @tuyen-vuduc , @candoalex I am trying to create dll using Bindings Library, and add the latest DropIn lib to v6.5.1 in the Jars folder and build, but I am using this dll i am not getting the existing methods and IServices Like

could you resolve this?

niravtopsy commented 1 year ago

Hello Guys,

I am using braintree latest version 'com.braintreepayments.api:drop-in:6.6.0'

But I got the same issue/warning yesterday. What should I do to fix it?

Issue with your app

Your app is using the Cardinal Mobile SDK which collects persistent device identifiers, but may not be limited to Android ID and hardware IDs. Persistent device identifiers may not be linked to any other personal and sensitive user data and/or resettable device identifiers (e.g., IMEI, IMSI, SIM Serial #, etc).You may consider upgrading to a policy-compliant version of this SDK, if available from your SDK provider or removing the SDK. According to your SDK provider, you may consider upgrading to 2.2.7-2. Please consult the SDK provider for further information. Google is unable to endorse or recommend any third party software.

tuyen-vuduc commented 1 year ago

@niravtopsy Have you used the latest binding library? Are you using Xamarin or Android native?

tuyen-vuduc commented 1 year ago

@Sumit2668 Are you creating your own binding library? If not, can you provide example?

candoalex commented 1 year ago

It worked for me last time, so guys - just try using the lastest version of their Official Cardinal SDK

Sumit2668 commented 1 year ago

Hi @tuyen-vuduc, No I am note using any binding library, I am trying https://github.com/NAXAM/braintree-android-binding/releases/tag/v6.3.0 this sample to run an android device K20 Pro, and I am getting an error like the below screenshot, could you please help me. Do you have any working examples, please share with me.

Screenshot 2023-02-02 at 11 32 51 AM
tuyen-vuduc commented 1 year ago

Can you check out the latest version then?

Sumit2668 commented 1 year ago

I used the latest version BraintreePayments.API.DropIn.Droid.

Screenshot 2023-02-02 at 7 33 19 PM

braintreeDropIn.zip

I have attached the sample project, please check this and let me know if anything wrong.

tuyen-vuduc commented 1 year ago

Are you checking out .NET6+?

Sumit2668 commented 1 year ago

Yes, I am using .NET6+ and still, I am getting an error Like

Screenshot 2023-02-03 at 11 22 10 AM

--- End of managed Java.Lang.NoClassDefFoundError stack trace --- java.lang.NoClassDefFoundError: Failed resolution of: Lcom/braintreepayments/api/PayPalDataCollector; at com.braintreepayments.api.PayPalInternalClient.(PayPalInternalClient.java:27) at com.braintreepayments.api.PayPalClient.(PayPalClient.java:60) at com.braintreepayments.api.DropInInternalClient.createDefaultParams(DropInInternalClient.java:49) at com.braintreepayments.api.DropInInternalClient.(DropInInternalClient.java:60) at com.braintreepayments.api.DropInActivity.onCreate(DropInActivity.java:78) at android.app.Activity.performCreate(Activity.java:8127) at android.app.Activity.performCreate(Activity.java:8098) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1310) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3513) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3700) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2136) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:236) at android.app.ActivityThread.main(ActivityThread.java:8061) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.braintreepayments.api.PayPalDataCollector" on path: DexPathList[[zip file "/data/app/J5FUIFa6tBeEO-Jg4qRWTg==/com.vohra.test-oQGH9Akdrwi4exRdY3FRbA==/base.apk"],nativeLibraryDirectories=[/data/app/J5FUIFa6tBeEO-Jg4qRWTg==/com.vohra.test-oQGH9Akdrwi4exRdY3FRbA==/lib/arm64, /data/app/~~J5FUIFa6tBeEO-Jg4qRWTg==/com.vohra.test-oQGH9Akdrwi4exRdY3FRbA==/base.apk!/lib/arm64-v8a, /system/lib64, /system/system_ext/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) ... 20 more

Screenshot 2023-02-03 at 11 25 02 AM
tuyen-vuduc commented 1 year ago

Yeah, that's really an issue. I am not sure why yet. The demo app in the project just runs well, doesn't it?

Sumit2668 commented 1 year ago

I have tried to run it on my mac but it gives the same issue, have you tested the demo app? Do you have any working examples, please share with me.

Sumit2668 commented 1 year ago

Hi, @tuyen-vuduc have to try the demo sample? I still getting issues, do you have any idea, how to fix this issue?

issue

tuyen-vuduc commented 1 year ago

I have no time to check it. Can you guess?

tuyen-vuduc commented 1 year ago

@Sumit2668 How is it going?

Please remove this current braintree dropin package and use this new one to see anything different then.

dotnet add package Com.Braintreepayments.Api.DropIn --version 6.8.0

Let me know if it works well for you then.

alexandruvint commented 1 year ago

@tuyen-vuduc We've submitted an app 3 days ago, that's using Com.Braintreepayments.Api.DropIn v6.8.0 and we still got rejected. On the appeal response they're saying that using Cardinal SDK is not allowed. Is there any fix for this? Thanks

image

tuyen-vuduc commented 1 year ago

Hi @alexandruvint ,

Can you please check out the latest one and ensure the latest Cardinal SDK is in use?

alexandruvint commented 1 year ago

Hey @tuyen-vuduc,

Here are the nuget packages that we've used when we've submitted the app:

image

Should we use BraintreePayments.API.DropIn.Droid 6.3.0 instead of Com.Braintreepayments.Api.DropIn 6.8.0.1?

Thanks for your support.

tuyen-vuduc commented 1 year ago

Nope. Because of above issue, we have to upgrade the library.

tuyen-vuduc commented 1 year ago

Remove all the Naxam ones then.

tuyen-vuduc commented 1 year ago

I can arrange a call in 4 hours if you need further check.

alexandruvint commented 1 year ago

Hey @tuyen-vuduc , thanks a lot again for your support. I'll write you a PM on Monday if it's ok and if I can't manage to make it work. Thanks

tuyen-vuduc commented 1 year ago

You're welcome! Have a nice weekend!

tuyen-vuduc commented 1 year ago

@alexandruvint Is it all good? Please close the issue if it runs well then.

DevTCG1 commented 1 year ago

@tuyen-vuduc I'm having issues with 6.8.0.1 its giving me a gradle build error: (error GDL001: Gradlew build failed). I'm using visual studio 2022 for mac. I also receive the error when running on a windows machine. I downloaded the test project you provided above and referenced nuget page 6.8.0.1. I attached a screenshot. Thanks in advance.

Screen Shot 2023-04-02 at 3 00 13 PM
tuyen-vuduc commented 1 year ago

Hi @DevTCG1 ,

1/ Did you modify your csproj file as mentioned in the README? 2/ Please try clean then build again.

DevTCG1 commented 1 year ago

@tuyen-vuduc Thanks for your reply. It works fine when adding the section from the readme file when running visual studio 2022 for mac. However, when running on a windows machine I still get the same Gradlew build. I copied the project over to my windows machine and it gives me the error. However it works on my mac, do you know what could be the issue on a windows machine? Thx.

tuyen-vuduc commented 1 year ago

@DevTCG1 Please try to clean and/remove obj folder. It should work.

DevTCG1 commented 1 year ago

@tuyen-vuduc I tried the steps you provided and I'm still having issues running on Windows. If you ever have time to test it against a Windows machine keep me posted. I don't mind compensating you for a resolution. I included 2 images, Thx. Capture Capture1

DevTCG1 commented 1 year ago

Does anyone have the Braintree dropin bindings updated to resolve the issue with Cardinal Mobile SDK that does not require me to update "Xamarin.Android" project to ".Net for Android" project? I'm trying to create the binding library utilizing the braintree aar from Maven but not have any luck. I'm willing to setup time to discuss over chat/video and willing to compensate you for assisting. Thanks in advance. cc @tuyen-vuduc

tuyen-vuduc commented 1 year ago

Hi @DevTCG1 ,

What is the Android version you are using? The latest package supports both Xamarin.Android and .NET Android.

image

DevTCG1 commented 1 year ago

Hi @DevTCG1 ,

What is the Android version you are using? The latest package supports both Xamarin.Android and .NET Android.

image

Yes, I'm using v12 monandroid 12.0. However, when I reference nuget package 6.8.0.1 and build I then get a gradlelew.bat/xgradle error GDL001:

tuyen-vuduc commented 1 year ago

@DevTCG1 I am afraid you haven't read the readme yet. Please check it out and follow it.

DevTCG1 commented 1 year ago

@DevTCG1 I am afraid you haven't read the readme yet. Please check it out and follow it. @tuyen-vuduc Thanks, I followed the readme file and still receive a gradle issue. I attached a vanilla project that references nuget package 6.8.0.1 that when I run the project on a windows machine I get an error. If you have downtown could you see if you can run the project without any errors.

Error 1> Unpacking failure reason: Starting a Gradle Daemon, 1 incompatible and 1 stopped Daemons could not be reused, use --status for details 1> Warning: unrecognized type name: {http://schemas.android.com/repository/android/common/02}platformDetailsType. Did you mean {http://schemas.android.com/sdk/android/repo/repository2/03}platformDetailsType? 1> Warning: Unable to create an instance of com.android.repository.impl.generated.v2.TypeDetails 1> java.lang.InstantiationException 1> at java.base/jdk.internal.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:48) 1> at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) 1> at com.sun.xml.bind.v2.ClassFactory.create0(ClassFactory.java:102) 1> at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.createInstance(ClassBeanInfoImpl.java:255)

App3.zip

DevTCG1 commented 1 year ago

@tuyen-vuduc Thank you for your help. I was able to get it working on my MacBook. I'm still having issues on Windows but I'm good going forward. Thanks a lot!