Skip to content
This repository has been archived by the owner on May 17, 2022. It is now read-only.

Latest commit

 

History

History
242 lines (213 loc) · 14.9 KB

ChangeLog.md

File metadata and controls

242 lines (213 loc) · 14.9 KB

Facebook SDK Adobe AIR Native Extension

Jul 31, 2020 - v7.0.0

  • Upgrade the Android SDK to v7.1.0.
  • Upgrade dependencies to the latest versions.
  • Fixed some minor issues and refactor native codes.

Apr 04, 2020 - V6.0.1

  • Update the Android SDK to V6.0.0 and optimized for Androidx dependencies.
  • On Android side you must add the following dependency ANEs:
<extensionID>com.myflashlab.air.extensions.dependency.overrideAir</extensionID>
<extensionID>com.myflashlab.air.extensions.dependency.androidx.arch</extensionID>
<extensionID>com.myflashlab.air.extensions.dependency.androidx.cardview</extensionID>
<extensionID>com.myflashlab.air.extensions.dependency.androidx.core</extensionID>
<extensionID>com.myflashlab.air.extensions.dependency.androidx.design</extensionID>
<extensionID>com.myflashlab.air.extensions.dependency.androidx.lifecycle</extensionID>
<extensionID>com.myflashlab.air.extensions.dependency.androidx.utils</extensionID>

Sep 26, 2019 - V5.5.1

  • Update the Android SDK to V5.5.1 and the iOS SDK to V5.6.0. You should update the iOS frameworks with the ones found in this package V5.6.0

Jul 18, 2019 - V5.1.0

  • Updated the Android SDK to V5.1.0.
  • Updated the iOS SDK to V5.2.2
  • Min iOS version to support this ANE is 10.0 .
  • Removed Bolt dependency from both Android and iOS sides.
  • On Android side you must add the following dependency ANEs:
<extensionID>com.myflashlab.air.extensions.dependency.overrideAir</extensionID>
<extensionID>com.myflashlab.air.extensions.dependency.androidSupport.appcompatV7</extensionID>
<extensionID>com.myflashlab.air.extensions.dependency.androidSupport.arch</extensionID>
<extensionID>com.myflashlab.air.extensions.dependency.androidSupport.cardviewV7</extensionID>
<extensionID>com.myflashlab.air.extensions.dependency.androidSupport.core</extensionID>
<extensionID>com.myflashlab.air.extensions.dependency.androidSupport.customtabs</extensionID>
<extensionID>com.myflashlab.air.extensions.dependency.androidSupport.v4</extensionID>
FBSDKCoreKit.framework
FBSDKLoginKit.framework
FBSDKPlacesKit.framework
FBSDKShareKit.framework
  • trying to change LoginBehavior on iOS will have no effect! LoginBehavior on iOS will always work like how it's mentioned in the official docs:

logging in via ASWebAuthenticationSession (iOS 12+) or SFAuthenticationSession (iOS 11), which present specialized SafariViewControllers. Falls back to plain SFSafariViewController (iOS 9 and 10).

  • Removed Facebook.os property. Instead you should use OverrideAir.os.
  • Added new properties to the AccessToken class:
_accessToken.dataAccessExpirationDate
_accessToken.expiredPermissions
  • Removed the following Android provider from the manifest:
<provider
    android:name="com.facebook.marketing.internal.MarketingInitProvider"
    android:authorities="[PACKAGE_NAME].MarketingInitProvider"
    android:exported="false"/>
  • Added the following Android service to the manifest:
<receiver
    android:name="com.facebook.CampaignTrackingReceiver"
    android:exported="true"
    android:permission="android.permission.INSTALL_PACKAGES">
    <intent-filter>
        <action android:name="com.android.vending.INSTALL_REFERRER"/>
    </intent-filter>
</receiver>

Nov 17, 2018 - V4.35.1

  • Works with OverrideAir ANE V5.6.1 or higher
  • Works with ANELAB V1.1.26 or higher

Sep 10, 2018 - V4.35.0

  • Updated to the official Facebook SDK V4.35.0.
  • Remove the androidSupport ANE from your project and from your manifest. com.myflashlab.air.extensions.dependency.androidSupport
  • We have split the androidSupport dependency for better performance. You need to include the following ANEs to your project instead of one androidSupport ANE:
    • com.myflashlab.air.extensions.dependency.bolts
    • com.myflashlab.air.extensions.dependency.androidSupport.appcompatV7
    • com.myflashlab.air.extensions.dependency.androidSupport.arch
    • com.myflashlab.air.extensions.dependency.androidSupport.cardviewV7
    • com.myflashlab.air.extensions.dependency.androidSupport.core
    • com.myflashlab.air.extensions.dependency.androidSupport.customtabs
    • com.myflashlab.air.extensions.dependency.androidSupport.v4
  • Added property appId to AccessToken instances
  • For expert users, now the ANE supports manual generation of AccessToken instance using the newly introduced method Facebook.auth.manualInit. If you don't know what this method is, do not use it at all. Eventually, to use the generated AccessToken, we have made the Facebook.auth.currentAccessToken property writeable also so you can pass the AccessToken instance to it.
  • New method Facebook.auth.isCurrentAccessTokenActive introduced. This will tell you if the current AccessToken is active or not.
  • Upgrade to Facebook Graph API Version 3.1
  • Add the following receiver tag to your manifest:
<receiver
    android:name="com.facebook.CurrentAccessTokenExpirationBroadcastReceiver" android:exported="false">
    <intent-filter>
        <action android:name="com.facebook.sdk.ACTION_CURRENT_ACCESS_TOKEN_CHANGED" />
    </intent-filter>
</receiver>
  • Add the following provider tag to your manifest but make sure you are replacing [PACKAGE_NAME] with your own app package name. Don't forget that Android AIR apps adds air. to the beginning of your package name.
<provider
    android:name="com.facebook.marketing.internal.MarketingInitProvider"
    android:authorities="[PACKAGE_NAME].MarketingInitProvider"
    android:exported="false" />

Apr 28, 2018 - V4.30.1

Apr 4, 2018 - V4.30.0

  • Updated to Facebook SDK V4.30.0 on both Android and iOS.
  • You need to update the iOS frameworks from this package: https://origincache.facebook.com/developers/resources/?id=FacebookSDKs-iOS-4.30.0.zip
    • FBSDKCoreKit.framework
    • FBSDKLoginKit.framework
    • FBSDKShareKit.framework
    • Bolts.framework
  • Facebook Invites and Native Like buttons have been deprecated and are removed from the ANE.
  • AS3 API re-write from scratch to be able to work with Facebook SDK easier. In your AIR project, simply import import com.myflashlab.air.extensions.fb.*.
  • asdoc location changed to http://myflashlab.github.io/asdoc/com/myflashlab/air/extensions/fb/package-detail.html
  • Read wiki pages to learn how to initialize and access different Facebook APIs: https://github.com/myflashlab/facebook-ANE/wiki
  • You will need at least AIR SDK 28 to run this ANE.
  • Android API 19 is the oldest Android API version to be supported.
  • AIR Manifest changes:
    • removed the tag <activity android:name="com.doitflash.facebook.access.MyLogin" ....
    • removed the tag <activity android:name="com.doitflash.facebook.sharing.MyShare" ...
    • removed the tag <activity android:name="com.doitflash.facebook.invite.MyInvite" ...
    • Added <string>fb-messenger-share-api</string> and <string>fb-messenger</string> to LSApplicationQueriesSchemes.
  • A lot of new features are added like Facebook.games.requestDialog, Facebook.isFacebookMessengerAppInstalled or Facebook.appEvents.logPurchase and many more. to learn about them, please read the wiki docs.

Dec 15, 2017 - V4.22.5

Sep 03, 2017 - V4.22.3

  • Added callbacks to know when the like button is clicked, requested here. You need to listen to this event: FBEvent.LIKE_BTN_CLICKED.

Aug 19, 2017 - V4.22.2

  • Fixed bug #90
  • Added IntelliJ demo

May 16, 2017 - V4.22.1

  • updated the core facebook SDK to V4.22.1
  • The FB.graph.request method along with the FB.graph.version property is removed. these were deprecated in the last release and are now removed. instead you have to use the FB.graph.call method to access the graph.
  • new methods introduced: FB.setUserId, FB.clearUserId and FB.updateUserProperties
  • When using sharing a URL with FB.share(shareModel, onSharingResult);, the shareModel object can only have the contentURL property. Other properties are deprecated: (contentDescription, contentTitle and imageURL)
  • You need to update your dependency files androidSupport.ane (required on Android ONLY) and overrideAir.ane (required on iOS+Android).
  • Min Air SDK is 25+
  • Min Android SDK is 15+
  • Min iOS SDK is 8+
  • You need to add the following changes to your manifest .xml file:
    • Add <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="\ {FB_APP_ID}"/>. Notice the space after the \
    • change two activities to following while replacing My App Name with your own app name.
    <activity android:name="com.facebook.FacebookActivity" android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:label="My App Name" />
    <activity android:name="com.doitflash.facebook.access.MyLogin" android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:theme="@style/Theme.Transparent" />
    • Add these activities while changing {FB_APP_ID} to your own Facebook App ID.
    <activity android:name="com.facebook.CustomTabMainActivity" />
    <activity
        android:name="com.facebook.CustomTabActivity"
        android:exported="true">
        <intent-filter>
      	  <action android:name="android.intent.action.VIEW" />
      	  <category android:name="android.intent.category.DEFAULT" />
      	  <category android:name="android.intent.category.BROWSABLE" />
      	  <data android:scheme="fb{FB_APP_ID}" />
        </intent-filter>
    </activity>
    • Don't forget to include other manifest settings. Above, we only mentioned what is changed.

Mar 17, 2017 - V4.17.1

  • Updated the ANE with OverrideAIR V4.0.0 From now on, this ANE will also be needed for the iOS side too.

Nov 10, 2016 - V4.17.0

  • Optimized for manual permissions required by AIR SDK 24+
  • Min AIR SDK 24 to compile this ANE with swf-version set to 35
  • updated the core facebook SDK to V4.17.0 - Make sure to update your current Facebook frameworks for iOS
  • Min iOS to support this version is 8.0
  • Login activity has changed to:
<activity android:name="com.facebook.FacebookActivity" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:theme="@android:style/Theme.Translucent.NoTitleBar" />
  • You no longer need to whitelist Facebook domains.
  • Add Usage Description for PhotoLibrary by the Facebook SDK
<key>NSPhotoLibraryUsageDescription</key>
<string>My description about why I need this feature in my app</string>
  • Make sure to update the common dependencies: overrideAir and androidSupport to the latest version
  • The FB.graph.request() method and the FB.graph.version property is now depricated. Instead use the FB.graph.call() method and pass in the graph version directly:
FB.graph.addEventListener(FBEvent.GRAPH_RESPONSE, onGraphResponse);
FB.graph.addEventListener(FBEvent.GRAPH_RESPONSE_ERROR, onGraphError);
FB.graph.call("https://graph.facebook.com/v2.8/me", URLRequestMethod.GET, new URLVariables("fields=name,email,picture&metadata=0"));

May 16, 2016 - V4.11.0

  • updated the core facebook SDK to V4.11.0
  • Support Android API 15 or higher
  • your app must be compiled with Air SDK 22 or higher
  • Added App Events support FB.logEvent(eventName, sum, params)
  • Using Graph API v2.6
  • FB.logManager is now deprecated. you should use FB.auth instead
  • Updated the whitelist for facebook on iOS side of the manifest
  • From FB SDK 4.6 and higher, FB is forcing Safari View Controller (SVC) instead of fast-app-switching (FAS). It seems like a pain not to have the fast-app-switching anymore but Facebook says, this is actually a good thing! Read here for more details
  • The iOS frameworks are updated to V4.11.0 FB_SDK_FRAMEWORKS.zip
  • Added event.graphRequest to FBEvent.GRAPH_RESPONSE and FBEvent.GRAPH_RESPONSE_ERROR so you will know what request to the graph you had sent previously
  • Some minor bug fixes

Jan 20, 2016 - V3.9.2

Dec 20, 2015 - V3.9.1

  • minor bug fixes

Nov 02, 2015 - V3.9

  • doitflash devs merged into MyFLashLab Team

Sep 08, 2015 - V3.0

Jul 31, 2015 - V2.0

  • Added iOS support
  • Minor bug fixes on Android side

Jul 17, 2015 - V1.0

  • beginning of the journey!