xamarin / FacebookComponents

MIT License
87 stars 70 forks source link

Updated bindings for both Android and iOS to v16.0.0 locally and working, but is this repo still active? Edit: NuGets published #252

Open Digifais opened 1 year ago

Digifais commented 1 year ago

Hello @SotoiGhost and community,

This week, I've been working on getting the bindings updated for both the Facebook Android and iOS SDK to v16.0.0 and the Audience Network bindings to v6.12.0 since I've needed to integrate these in a project at work. The updated bindings seem to compile and work correctly and I'm at the point that I think the updated bindings are stable (e.g. updated ApiDefinitions for iOS) and that I can create a pull request so we can hopefully get a merge going and publish updated NuGet packages.

Although I'm worried that this won't be to no avail since nobody seems to be replying on issues here anymore and the CI/CD seems to be private. I can easily publish the NuGet packages on my own, but I rather contribute to the project of course and get the official NuGets updated.

How should I proceed from here?

Edit: NuGet packages are available for FBAudienceNetwork Android v6.14.0, FBAudienceNetwork iOS v6.12.0, Facebook Android v16.0.1 and Facebook iOS v16.1.2 at https://www.nuget.org/profiles/Digifais.

mos379 commented 1 year ago

@Digifais as of late @SotoiGhost published only changes to iOS, but not to Android, so he clearly has access to the private pipeline. It would be awesome if you could create the PR, because then the chances are that someone will merge.

If not we would still be able to benefit from your branch!

Thanks for Your work!

JoacimWall commented 1 year ago

@Digifais can you please share the the nugets if you was able to update bot iOS and Android. We are in need of a new version for a project.

//Regards Joacim

Digifais commented 1 year ago

Hello everyone, sorry for the late reply. I just gave the bindings an update to all of their latest versions (FBAudienceNetwork Android to 6.14.0, FBAudienceNetwork iOS to 6.12.0, Facebook Android bindings to 16.0.1 and Facebook iOS bindings to v16.1.2) locally and published NuGet packages on nuget.org, you can find them all under my profile here: https://www.nuget.org/profiles/Digifais.

dtaylorus commented 1 year ago

@Digifais Great work! Please create a pull request so we can build from your branch. Thank you!

Digifais commented 1 year ago

@dtaylorus Aren't the NuGet packages linked above sufficient?

dtaylorus commented 1 year ago

@Digifais No, sorry, I prefer to do my own builds from visible source rather than trusting a binary from hidden sources and would like to be able to apply and maintain my own changes as well. Thanks!

dtaylorus commented 1 year ago

@Digifais Can you please share your updated ApiDefinitions.cs? Thank you!

mhdwaelanjo commented 6 months ago

We can use this library now on Facebook Audience Network SDK for .NET for Android Anjo.Android.Facebook.AudienceNetwork (>= 6.16.0) and for login Anjo.Android.Facebook (>= 16.3.0)

zoltan-keri-zenheads commented 2 months ago

Does anyone have an update on the IOS nuget for Facebook.Login? Facebook now requires everyone to use version 17.x because Privacy Manifests have been added in February 2024 (see https://github.com/facebook/facebook-ios-sdk/blob/main/CHANGELOG.md). The last working version/nuget on nuget.org is from Digifais from 2023. @Digifais Do you have an updated version or plan to update the Xamarin.Facebook.LoginKit.iOS nuget to 17.x? Or can you provide (via pull request etc) your code/changes for 16.x, since that would also help to adjust the code for the 17.x version to build for our own? (It is not possible to use this current repository because the toolchain in it is so old that it would require a downgrade in affected tools, starting with cake, or to upgrade affected scripts in this repository to adjust to the new cake version)

Digifais commented 1 month ago

Does anyone have an update on the IOS nuget for Facebook.Login? Facebook now requires everyone to use version 17.x because Privacy Manifests have been added in February 2024 (see https://github.com/facebook/facebook-ios-sdk/blob/main/CHANGELOG.md). The last working version/nuget on nuget.org is from Digifais from 2023. @Digifais Do you have an updated version or plan to update the Xamarin.Facebook.LoginKit.iOS nuget to 17.x? Or can you provide (via pull request etc) your code/changes for 16.x, since that would also help to adjust the code for the 17.x version to build for our own? (It is not possible to use this current repository because the toolchain in it is so old that it would require a downgrade in affected tools, starting with cake, or to upgrade affected scripts in this repository to adjust to the new cake version)

I'll try and have a look at this in the coming weeks. Currently working on migrating our app at work from Xamarin Native to .NET for Android/iOS, so I'll have to migrate some of our own binding libraries as well.

zoltan-keri-zenheads commented 1 month ago

I'll try and have a look at this in the coming weeks. Currently working on migrating our app at work from Xamarin Native to .NET for Android/iOS, so I'll have to migrate some of our own binding libraries as well.

Pls let us know if you have updates or the source. Also I have just upgraded a big Xamarin app to MAUI, so I could help if you get stuck with something else.

Digifais commented 1 week ago

Sorry guys, worked on it a little bit later then planned, but I've just released updated bindings which target .NET 8, available here: https://www.nuget.org/profiles/Digifais.

The updated iOS bindings should include the privacy manifest files. You can check this by using the NuGet Package Explorer on for example the Facebook iOS LoginKit NuGet package and then navigating to /lib/net8.0-ios17.5/LoginKit.resources/FBSDKLoginKit.xcframework/ios-arm64/FKSDKLoginKit.framework/PrivacyInfo.xcprivacy.

zoltan-keri-zenheads commented 1 week ago

Sorry guys, worked on it a little bit later then planned, but I've just released updated bindings which target .NET 8, available here: https://www.nuget.org/profiles/Digifais.

  • Facebook Android (v17.0.1)
  • Facebook Android Audience Network (v6.17.0)
  • Facebook iOS (v17.0.3)
  • Facebook iOS Audience Network (v6.15.2)

The updated iOS bindings should include the privacy manifest files. You can check this by using the NuGet Package Explorer on for example the Facebook iOS LoginKit NuGet package and then navigating to /lib/net8.0-ios17.5/LoginKit.resources/FBSDKLoginKit.xcframework/ios-arm64/FKSDKLoginKit.framework/PrivacyInfo.xcprivacy.

@Digifais Thanks, it is possible to add the nuget, however, there are some issues in iOS version of Facebook.CoreKit. Some functions seem to have reverted to older forms, like AppEvents.Shared.LogEvent to the older form AppEvent.LogEvent(). When calling this, for me, these calls cause an "Objective-C exception thrown. Name: NSInvalidArgumentException Reason: +[FBSDKAppEvents logEvent:parameters:]: unrecognized selector sent to class" exception. The same when setting Facebook.CoreKit.Settings.DisplayName, which was already updated to Facebook.CoreKit.Settings.SharedSettings.DisplayName. To me it seems that the static functions are older forms and we should use the class instance functions (.shared.x), which are not available any more in this nuget, but have been available and worked in 16.1.2.

Digifais commented 1 week ago

@zoltan-keri-zenheads That's weird, I don't remember changing that much in the ApiDefinitions. I'll try to have a look at it ASAP.

Digifais commented 1 week ago

@zoltan-keri-zenheads I've just released new bindings on NuGet for Facebook iOS v17.1.0 (I saw there was a new version available so I bumped the bindings to that version instead of just fixing and re-releasing 17.0.3). Can you please try those and let me know if those issues are fixed?

zoltan-keri-zenheads commented 1 week ago

@Digifais Yes, thanks a lot, in 17.1.0 iOS, now the class instance functions are back and it does not crash!