Facebook as an extension

We have updated the Facebook extension to use Facebook SDK 6.5.1 for Android and iOS:

This is the last release on the 6.x branch of SDKs and the last SDK release which uses the old version of Android Support libraries. AndroidX is included in versions starting from 7.0.0 of the Facebook SDK for Android.

NOTE: We will not yet make this update to AndroidX as we also need to modify the build system to use the jetifier tool to automatically upgrade extensions to use AndroidX.

2 Likes

This Facebook blog post states that the version of the SDK used by extension-facebook (9.0.1) will be ‘sunsetted’ on June 8, 2023 this year - not just deprecated but apparently will no longer be operational.

I wasn’t able to find any further announcements, but v11 will suffer the same fate in October, and v12 and v13 are already deprecated.

v12 introduces a minimum requirement of iOS 10.0 (previously 9.0), v13 requires iOS 11.0 and v15 requires v12.0

I’m tempted to try an upgrade (although if it was too challenging I wouldn’t be able to spend much time on it) - any thoughts on which version? Personally I’d likely go for 14.1.0 which is the latest before the v15 upgrade requiring iOS 12.0. The latest v12 (12.3.2) is tempting but is already halfway through its 2-year deprecation period.

I would suggest that we try with v14.1.0, especially now that we also have Cocoapod support which means that we can get rid of the iOS frameworks. For iOS add a Podfile in manifests/ios, something like this one:

platform :ios, '11.0'
pod 'FBSDKCoreKit', '14.1.0'
pod 'FBSDKLoginKit' '14.1.0'
pod 'FBSDKShareKit' '14.1.0'
1 Like

The podfile seems to be ignored. Before I investigate further, is Cocoapod support available on build.defold.com or only build-stage.defold.com? I’m not sure which branch maps onto which server.

Correct, the functionality isn’t available yet, as it arrived after the last beta period started. Sorry for the confusion!
We will have a new beta server on monday (or sooner if @britzl releases one)

2 Likes

Indeed. My apologies! I mixed up our releases and thought we had this included in the last release. I will start preparing extensions this week so that they are ready for testing next week. I’ll include the Facebook extension in this work.

3 Likes

I saw the post about problems with Swift. Shall I proceed with a traditional (non-cocoapods) Facebook SDK upgrade or might Swift be supported soon?

1 Like

Yes, I think that will have to be our approach to this update until we make the required changes on the extender server.

I have a Draft PR but need someone to give me the Facebook Client Token for the sample project, to allow me to test the API features that our game doesn’t use.

1 Like

Sorry about the delay here @AarrrBee ! I’ll provide it later today.

1 Like

Added to the GitHub ticket!

1 Like

Hi. how to require facebook module in code, since it is not native extension.
im getting error “attempt to index global ‘facebook’ (a nil value)”
Defold 1.4.6
facebook-extension 7.2.0
@britzl

Since the facebook extension is only supported on iOS/Android, you should write your code like so:

if facebook then
    Do stuff
end

Hi. so this extension is not available on defold editor build?

Correct. The extension integrates the Facebook SDK for Android and iOS. And when you run your game using Project-Build it runs a desktop version of your game, for which there is no Facebook SDK.

1 Like

I’d like to use this extension and upon following the guide here, I am stuck in this part:

go into the project settings of your Defold game. Open the game.project file from the Assets pane and scroll to the Facebook section and add the App ID to the Appid field

There is no Facebook section in the game.project file. I have updated to the latest verison of the Editor (1.9.0), added the https://github.com/defold/extension-facebook/archive/master.zip to the dependencies section and fetched the libraries. Restarted the Editor still can’t see.

What am I doing wrong?

EDIT: Running on Windows.

It was removed at some point. Those extensions had a built-in setting before. The guide should be updated.
I’m not familiar with this extension, but since the game.project file is just an ini (text) format, you can easily add these values to it. Open the game.project file with your preferred text editor, add these lines, and edit the values. When you open this file in Defold, you will be able to see them.

[facebook]
appid = 1609643756005877
autoinit = 0
clienttoken = ffb21570434787084bbdd8d6042bc9a1
2 Likes

Perfect, will give it a try. Thanks Selim.

1 Like

Yes, this is the correct way to add it.

2 Likes

Updated it: Update index.md · defold/extension-facebook@1f4d76d · GitHub

1 Like