Those are:
- phonegap-facebook-plugin
- cordova-plugin-facebook4
phonegap-facebook-plugin is mostly recommended by the internet community at the time I am writing this, as example ngCordova - Facebook,
but it caused some UX and development issues to me as a developer.
phonegap-facebook-plugin
It uses FacebookSDK version 3.21.1, with this SDK, for iOS 9, it leads to problems like:
- must not have bitcode enabled (activated by default in xcode 7)
- requires manually add whitelist Facebook access every time you have your iOS platform created
- add LSApplicationQueriesSchemes manually
- add NSSApplicationTransportSecurity manually
- Every login will leave a blank safari browser opened for Facebook browser login (unless user has native Facebook app installed)
- Symlink of FacebookSDK is broken with direct cordova plugin add phonegap-facebook-plugin
cordova-plugin-facebook4
The purpose this plugin is to make use of FacebookSDK 4.- It helps saving the drudgery on adding LSApplicationQueriesSchemes and NSSApplicationTransportSecurity items.
- support bitcode encoded, so you don't need to deactivate it every rebuild of the cordova platform.
- Time saving on git cloning to workaround broken FacebookSDK symlink.
Added 2015-11-13 10:55 PM
the only bad thing about cordova-plugin-facebook4
there is different between plugin cloned by cordova added through new platform build (cordova platform add ios/android) with the one manually added with cordova cli (cordova plugin add).
Differences:
# | Cloned with platform add | Plugin added with cordova cli |
---|---|---|
1 | Need manual add of LSApplicationQueriesSchemes |
Auto added |
2 | Bitcode_enabled to be disabled | support bitcode_enabled |
3 | Facebook login with safari browser |
Do not need external browser for Facebook login |
Even though both cordova cloned with platform and cli are the same cordova-plugin-facebook4,
but at the time I developing,
it does has differences as your installation method is different.
Furthermore,
if you already have cordova-plugin-facebook4 saved into config.xml,
running cordova plugin add cordova-plugin-facebook4 (with variables) again will update itself into a different version plugin.
my case:
<plugin name="cordova-plugin-facebook4" spec="~1.3.0-0">
<variable name="APP_ID" value="FB_APP_ID" />
<variable name="APP_NAME" value="FB_APP_NAME" />
</plugin>
run cordova plugin add cordova-plugin-facebook4 --save (with variables) again, will become:
<plugin name="cordova-plugin-facebook4" spec="~1.1.0">
<variable name="APP_ID" value="FB_APP_ID" />
<variable name="APP_NAME" value="FB_APP_NAME" />
</plugin>
No comments:
Post a Comment
Hey, thank you for spending time leaving some thoughts, that would be really helpful as encouragement for us to write more quality articles! Thank you!