Facebook SDK for Android Changelog 4.x
Changelog and release notes for the Facebook SDK for Android.
4.18.0 - November 30, 2016
Facebook SDK
Modified
- Adds null checking to AppEventsLogger.handleResponse().
Audience Network
Fixed
- Fixed adViewDidClick not firing properly in
FBInstreamAdView - Fix
FBAdChoicesViewexpandable animation for UIRectCornerTopRight and UIRectCornerBottomRight
Account Kit SDK
Modified
- Adds null check when getting an AccountKitError's errorCode.
4.17.0 - October 26, 2016
Facebook SDK
Added
- Added
setUserIDandupdateUserPropertiestoFBAppEventsLogger. See here for more details. - Added "Smart Login" for Android TV/FireTV apps. See the blog post for more information. No API changes are needed to take advantage of this new feature.
Modified
- Updated Android support libraries
Fixed
- Fixed issue with people tagging in Open Graph shares.
Audience Network
Fixed
- Fixed
SQLiteDatabaseLockedException
Account Kit
Added
- Instant Verification for Phone Number login
Modified
- Improvements to error code reporting
- Updated to use the 1.1 Account Kit graph endpoint
- Updated session logging
- Removed cancel callback
4.16.1 - October 7, 2016
Facebook SDK
Modified
- Updated to use Graph API 2.8
Audience Network
Fixed
- Transient ConcurrentModificationException
- StrictMode warnings related to database cursors
4.16.0 - September 27, 2016
Facebook SDK
Added
- Added FacebookSdk.setGraphApiVersion to allow global setting of different Graph API versions
Fixed
- PR-483 Fixed potential DeadObjectExceptions
- PR-483 Fixed potential DeadObjectExceptions
- Better handling of themes for webdialog spinners
Audience Network
Added
- In-app browser to open link ads in WebView
- InstreamVideoAdView class to support instream ad placements
Modified
- Video cache limit updated to 64mb for prefetching
- setAutoplay and setAutoplayOnMobile deprecated in MediaView
Fixed
- Memory leak caused by LocalBroadcastReceiver holding onto MediaView reference
- NullPointerException if WebView is updating on device while cookies are synced
Account Kit SDK
Added
- Add a timer for sending new SMS to same phone number
Modified
- Content language + localization updates
- UX for small screens updates
- Change confirm button from "Done" to "Next"
Fixed
- Using Developer supplied country code over one found in phone
- Vector drawables in Lollipop and lower devices
- Keyboard displayed behavior on Lollipop and lower devices
4.15.0 - August 23, 2016
Facebook SDK
Modified
- PR-470 allows developers to specify query params in the path element of a graph request
- Classes and methods associated app and game groups have been deprecated, see https://developers.facebook.com/docs/games/services/game-groups for more information
- Modified device login UI to use Roboto font
Fixed
- Better handling of Chrome Custom Tabs for Facebook Login
- Better handling of app event persistence when there's disk corruption
- PR-481 Fixed switch user sample app
- Fixed rotation issue with web dialog in Android 6.0
Audience Network
Modified
- Video stability improvements and fullscreen UI updates
Account Kit SDK
Modified
- Converted PNG image into vector drawable to shrink SDK size
- Added example of specifying translation locales in the samples' defaultConfig
- Updated disclosure strings for initial entry screen
Fixed
- Fixed RuntimeException caused by checking device permissions on older devices
4.14.1 - August 4th, 2016
Audience Network
Fixed
- Gradle remote dependency exception due to invalid 4.14.0 POM file
4.14.0 - July 13th, 2016
Facebook SDK
Added
- Facebook Lite App v11 and above will be automatically used by the SDK for Login flow if the Facebook App for Android is not installed
Modified
- Updated to use Graph API 2.7
Fixed
- Fix issue where invalid app events cause failure to log app events
Audience Network
Fixed
- Fixed impression logging issue when Activity was shown above keyguard
4.13.2 - July 1st, 2016
Facebook SDK
Fixed
- In flight app events can be lost after switching activities
Account Kit SDK
Fixed
- NPE During login
4.13.1 - June 17th, 2016
Facebook SDK
Fixed
- Fix AppEventsLogger Null Pointer Exception
4.13.0 - June 15th, 2016
Facebook SDK
Modified
- Let Chrome Custom Tabs open on Chrome Beta and Dev
- Make Chrome Custom Tab access token work with Web View dialogs
- Explitly log install in activateApp with AppEventsLogger
Fixed
- Fix activity leak in app events logger
- Fix possible deadlock in AppEventsLogger
- Fix %@ in translations
- Fix Class not found when unmarshalling: com.facebook.login.LoginClient$Request
- PR 476 - Fail fast on failure to find correct signature.
Account Kit SDK
Modified
- Draw most image assets as vectors instead of as PNGs which cuts the SDK size
Fixed
- Fixed casting of next button from https://developers.facebook.com/bugs/1091582134248501/
- Fixed error that shows when the SDK is not initialized to correspond with correct method name
- Korean translation fixed for Phone login page
4.12.1 - May 26th, 2016
Facebook SDK
Fixed
- Handle NoSuchAlgorithmException on older Android devices when reading the responseCode on a HttpURLConnection
Audience Network
Modified
- Removed usages of X509TrustManager to address Google Play warning
Fixed
- AdQuality missing dependency error
- Bug preventing MediaPlayer from resuming playback on certain devices
4.12.0 - May 20th, 2016
Facebook SDK
Modified
- Flushing app events is only scheduled if there are app events to flush instead of every 15 seconds.
- Initial logins will now pass the "rerequest" flag so that previously denied permissions are presented in the login dialog
- Moved to gradle 2.10
- Changed access token source from
CUSTOM_TABtoCHROME_CUSTOM_TAB - Deprecated
AppLinkData.ARGUMENTS_TAPTIME_KEY - FacebookActivity and ChromeCustomTabsActivity to the Facebook SDK library's AndroidManifest.
Fixed
- Fixed issue in ShareDialog where quotes were not shared if the Facebook App was not installed.
- Proguard stripping out serialization information causing exception when serializing app events to disk in certain circumstances.
- Corrupted app events cached file never getting cleaned up
- Potential crash when application is started after completing a share or login and the application was killed during the login or share.
- Fixed Security and NPE on some Meizu devices
Audience Network
Fixed
- RecyclerView crash due to invalid child count
- Bug where MPA child adListeners not called
Account Kit
Added
- Specify redirect_uri on email login attempts so people see a button prompting them to open the app after confirming
Fixed
- Accept email addresses with spaces at the end
- Fixed a possible race condition when polling for email confirmation after cancelling the request
4.11.0 - April 12, 2016
Facebook SDK
Added
- Added
AppEventsLogger.setPushNotificationsRegistrationIdandAppEventsLogger.logPush*. See Push Notifications for more details. - Added
ShareHashtagto support sharing hash tags. See Sharing on Android for more details. - Added
ShareMediaContentto support sharing mixed content (e.g., photos and videos). See Sharing on Android for more details. - Added
ShareLinkContent.Builder.setQuoteto support sharing quotes from a link. See Sharing on Android for more details. - Added
AppInviteContent.setPromotionDetailsandAppLinkData.getPromotionCodeto make it easy to include a promotion code with the app invite. See App Invites for more details. - Added
AppEventsLogger.activateApp(Application)to greatly simplify using Analytics for Apps. Call this method from your Application'sonCreateinstead of inside each Activity. See App Events for more details. - Added
DeviceLoginButtonfor device flow authentication with the ability to set a redirect URI. - Added
DeviceLoginManagerfor device flow authentication with the ability to set a redirect URI.
Modified
- Updated to use Graph API v2.6.
- Improved session tracking accuracy in AppEvents, including a configurable value for identifying session timeout thresholds (located in your app's Analytics for Apps settings).
- Chrome Custom Tabs can be used automatically by the SDK for the Login flow if the Facebook App is not installed.
Fixed
- Fixed issue where tokens issued via the web view would not refresh automatically.
- PR-459
Audience Network
Added
- Added video pre-caching support for native ads
Modified
- Modified Multi-Product Ad background and loading tile colors
Fixed
- Fixed Multi-Product Ad image precaching
Account Kit
- Added Account Kit
In-App Notifications
- Added In-App Notifications
4.10.1 - March 18, 2016
Facebook SDK
Modified
- Updated version of support libs.
Fixed
- Fixed issue where tokens issued via the web view would not refresh automatically.
Audience Network
Fixed
- Removing overlapping view check to recover impressions.
4.10.0 - February 10, 2016
Facebook SDK
Modified
- No longer require multidex
- Reverted change in 4.9.0 to pass locale on all graph requests by default. You can still get localized results by manually specifying the locale field.
Audience Network
Added
- Added Multi-Product Ad support to MediaView.
- Added AAR packaging and removing JAR packaging.
- Add consumerProugardFile rules to ignore adapter warnings.
Fixed
- Fixed crash in BlurBorderImage height calculation.
- Spinner will now show while video is buffering.
Removed
- JAR packaging.
4.9.0 - January 13, 2016
Facebook SDK
Added
- Added support for Fire TV and Android TV. See Integrating with Android TV and Fire TV.
- New Device Auth login behavior.
- Login, send, share, and like buttons now work with keyboard or remote input.
Modified
- The device's locale is now sent with all graph requests. This can result in results from graph api being localized to users current locale.
Fixed
- Fixed issue where accidental clicks outside the progress dialog during login would cancel the login flow.
- Fixed issue where callback was not called after sdk initialize. PR 452
- Fixed possible NPEs for listFile access PR 454
- Fixed the like buttons social sentence to respect locale.
- Fixed potential race condition in SDK initialization
- Fixed the FBSDKLikeControl's social sentence to respect locale.
Audience Network
Added
- Better handling of video loading states including cover image and loading spinner.
Fixed
- Fixed bug related to detached surface texture causing IllegalStateException.
- Fixed bug causing crashes if ad title was null.
Removed
- Removed VideoView support from MediaView, affecting only Honeycomb and before.
4.8.2 - November 23, 2015
Facebook SDK
Added
- Added callback for access token tracker refresh method.
Audience Network
Fixed
- Fix MediaView crash when autoplay is disabled.
4.8.1 - November 11, 2015
Facebook SDK
Fixed
- NPE when setting share content on a send/share button not attached to a fragment.
Audience Network
No changes
4.8.0 - November 11, 2015
Facebook SDK
Added
- Added support for using login manager and ui elements with native fragments (android.app.Fragment)
Fixed
- Fixed a bug where connection could leak on exception
Modified
- Set theme now applies to all web views. Not just login web view PR 448
- Updated scrumptious app to work with native fragments instead of support fragments
Audience Network
Fixed
- Added EXTRA_APPLICATION_ID to browser intent to re-use tabs on ad click
- Fixed IllegalStateException due to unreleased video player
- Fix interstitial orientation issues by forcing it to display in intended orientation
Modified
- Apache HTTP replaced with third-party AndroidHttpClient
4.7.0 - October 7, 2015
Facebook SDK
Fixed
- A NPE can occur when creating a GameRequestContent with a null ActionType PR 445
Modified
- Moved to graph api v2.5
- Target Android API is now 23
- Deprecated 'to' member on GameRequestContent and replaced with 'recipients' member. PR 445
- Download from developers.facebook.com now inlude an aar of the Facebook SDK for Android instead of the source. Source code and samples are available on github as always.
Audience Network
Fixed
- Fixed memory leak when creating NativeAdManagers
- Fixed memory leak in native ad registration
- Fixed memory leak in fullscreen video player
- Fixed issue with pre-API 14 devices not playing video correctly
- Fixed impression logging bug
Modified
- Target Android API is now 23
4.6.0 - September 10, 2015
Facebook SDK
Added
- Added API for creating AppLinkData object from an intent.
Fixed
- Fixed obtaining identifiers via reflection. (PR-441)
- Fixed strict mode violation during sdk initialization.
- Fixed issue where graph requests and share api calls made on a background thread would fail.
- Added missing CREATOR to share model classes. (PR-436)
- Fixed issue where prefixing the application id with fb would not work. (PR-438)
Modified
- Automatically disable send and share buttons if share content cannot be shared.
- Minimum android sdk is now v15
Audience Network
NOTE: Facebook has identified a impression logging bug in the Audience Network jar version 4.6 for Android which can lead to lower impressions and revenue. It is fixed in version 4.7 and we highly recommend updating to that version.
Fixed
- Improved performance of MediaView content
- Fixed memory leak in MediaView
4.5.1 - Aug 13, 2015
Audience Network
Fixed
- Fixed MediaView compatibility with large screen devices
4.5.0 - Aug 10, 2015
Facebook SDK
Added
- Added automatic AppEvent event logging for Like, Share, Send, and Login button clicks.
- Added a new "Share It" sample app.
- Added the ability to prefix app ID with "fb" in the AndroidManifest.xml (PR-435)
Fixed
- Fixed issue where like button would not always show as liked for page likes.
- Fixed NPE when no app group privacy is provided to the CreateAppGroup dialog.
- Fixed app crashing when neither Facebook app nor browser exists on user device.
- Fixed integer overflow issue with app ID in AndroidManifest.xml (PR-435)
Audience Network
Added
- Added native video support to MediaView
Modified
- AdChoicesView now defaults to clickable text only with option to use the existing expandable icon
Fixed
- WebViews now use ApplicationContext to avoid memory leaks.
- Fixed NPE in View.getLocationOnScreen for old versions of Android
4.4.1 - July 13, 2015
Audience Network
Fixed
- Prevent auto refresh onError triggered on the client for interstitial and native formats
- Prevent auto refresh for banner format when screen is off
- Parsing of invalid request param errors
- Rare race condition that led to 'Ad is not ready' exceptions
4.4.0 - July 8, 2015
Facebook SDK
Added
- Added a callback when FacebookSdk.sdkInitialize has fully completed
- Added photo upload helper methods to the GraphRequest class.
Modified
- Updated the default Graph API version to be 2.4. Developers will now need to explicitly ask for fields (like name, location, etc) in all Graph API endpoints.
- Modified the naming of the LoginBehavior enum to better represent actual login behavior.
Fixed
- Failure to log in due to no network will now call onError instead of onCancel.
Audience Network
Fixed
- Fixed OutOfMemoryError from DownloadImageTask
4.3.0 - June 25, 2015
Facebook SDK
Added
- Google advertiser will be retrieved via remote service.
Modified
- Upgraded to roboelectric 3
- Changed namespacing of sample to com.example from com.facebook
- Deprecating params for SharePhoto and ShareVideo. Use GraphRequest to share videos and photos where parameters are needed.
- Updated buck build. pr 426 and 423
Fixed
- Hello Facebook sample app request unnecessary permissions for sharing via a dialog.
- NPE when context is null when creating a logger for login. pr 430
Audience Network
Fixed
- Insterstitial crash triggered by back button when device flag "Do not keep activities" is on
- Mixed content WebView bug for apps explicitly targeting Android 5.0
- WebView crash when activateAd() called after WebView already destroyed
4.2.0 - May 28, 2015
Facebook SDK
Added
- Added graph node to ShareApi and params to photos/videos
- Added support for gradle 2.4
- Added translations
- Iconicus Applinks sample
- Ability to specify the theme used by the WebDialog for login.
- Access non-unique information about device to send with app events to improve Facebook Analytics for Apps reporting.
Modified
- Removed custom request code from LoginButton
- Updated gradle to version 2.4 PR 421
- Updated andtroid tools to 1.2.3
- Removed jcandksolutions android-unit-test
- Moved the calling of onClickListeners in the Share, Send and Login buttons to the beginning of action handling rather than the end.
Fixed
- Memory leak where login manager held on to context after login completes.
- PR 419, fixed multi level context wrapper unwrapping.
- Views now work in android studio designer
- Issue were setting the peopleIds or placeId on OpenGraphShareContent fail.
- Video sharing failed to share via native dialog for some content uris.
Audience Network
Fixed
- Fixed issue where some apps throw an exception when showing interstitial ads
4.1.2 - May 14, 2015
Facebook SDK
Fixed
- Sharing Open Graph objects via the ShareApi could fail to properly stage nested objects.
- OnCancel mistakenly called during login flow under some circumstances.
Audience Network
No Changes
4.1.1 - May 6, 2015
Facebook SDK
Fixed
- All Open Graph content shared through the ShareApi required the user_messages permission.
- Videos with a file uri instead of content uri fail to share via the ShareApi.
Audience Network
Fixed
- Null pointer exception with null user agent.
- Catching OutOfMemoryErrors when blurring images for native ad templates.
- Catching all the errors when blurring images for native ad templates.
- Using less memory while blurring images for native ad templates.
4.1.0 - April 30, 2015
Facebook SDK
Added
- Added a new method to refresh permissions for an access token.
- Added request recipients to the Game Request result.
- Support for captions on the SharePhoto object.
- Support for uploading larger videos in a more reliable manner.
- Support for retrying video uploads.
- Validation for missing manifest entries.
- The ability to provide a message when calling the ShareApi from custom dialogs.
- Progress dialog while sharing via the share api in scrumptious.
- Namespaced style attr tags.
- Travis CI support.
Fixed
- Issue where people saw messages saying "Failed to find provider info for com.facebook.katana.provider.AttributionIdProvider".
- Crash in createFromNativeLinkingIntent when an intent without an access token was passed.
- Null pointer exception when login is quickly cancelled.
- Bug where webview cookies were not cleared on logout.
- Bug in location picker for Scrumptious app.
- Strict permission check in ShareApi for publishing.
- Issue where app install event is logged without the app version.
- Scrumptious failed to share pictures taken with the camera instead of chosen from the gallery.
- Fixed a crash that happens in the support library if web dialog creation failed.
- Fix bug where you couldn't set different permissions if the access token is not null.
- Fix bug where app id could not be parsed if placed in AndroidManifest.xml instead of resource file.
- Fixed bug preventing usage of fb:explicitly_shared for Open Graph actions.
- Pull Request 411: Error message that was referring to LoginActivity instead of FacebookActivity.
- Pull Request 415: Memory leak in WebView.
There are breaking changes in this release. See the upgrade guide for details. Upgrading the Android SDK from 4.0.1 to 4.1.0.
Audience Network
Added
- NativeAdsManager to assist in the retrieval of batches of ads.
- NativeAdView which provides configurable native ad view templates, configured via a NativeAdViewAttributes object
- NativeAdScrollView which provides a horizontal scrolling experience hosting either NativeAdViews or custom views.
- Helper views to assist in implementations of native ads:
- AdChoicesView for adding an expandable ad choices icon to custom native views
- MediaView handles downloading and displaying NativeAd images while maintaining aspect ratios
Modified
- Improved sample app to showcase NativeAdView templates
Fixed
- Misc bug fixes
4.0.1 - April 2, 2015
Facebook SDK
Added
- Added an explicit landscape layout for Scrumptious.
- The tooltip_mode attribute on LoginButton can be set in layout.
Fixed
- The app settings are updated to be fetched by the executor on FacebookSdk.
- LoginButton NUX settings are updated to be fetched by the executor on FacebookSdk.
- Login button is updated to properly measure its size.
- Fixed video uploads via ShareApi.
- LikeViews associated to page ids will always be disabled on GingerBread devices.
4.0 - March 25, 2015
The Facebook SDK for Android v4.0 is a major version upgrade which features:
- Improved login programming model.
- Improved sharing programming model, and more ways to share without needing an access token.
- Improved error handling and error recovery mechanism.
- The SDK now allows developers to run ProGuard across the entire project, reducing the footprint in the final APK.
This describes the major differences between v3.x and v4.0 of the SDK. For details on upgrading, see Upgrading the Android SDK from 3.x to 4.x.
Facebook SDK
Added
Login:
LoginManagerandAccessToken- These new classes perform Facebook Login. For more information, see Facebook Login for Android.AccessTokenTracker- This new class receives notifications of access token changes. This includes when a token gets updated, or when a different user logs in. See Facebook Login for Android, Track Access Tokens.ProfileandProfileTrackerAre new classes to get notifications of profile changes, such as when a different person logs in to your app. See Facebook Login for Android, Track Current Profile.Login and Graph API Errors -
LoginManagercan now resolveGraphRequesterrors which are login related. SeeLoginManager.resolveError()
Sharing:
ShareApiclass to help sharing through the Graph API.
Dialogs:
- Strongly typed dialog classes - Are added for App Invites, App Group creation, App Group joins, Game Requests, Messages and Share. Each
*Dialogclass has an associated*Contentclass with aBuilderso you can easily set parameters.
Modified
Deprecated - Any classes or methods marked as
@deprecatedin 3.x have been removed. Some feature specific classes have been moved into their own packages such ascom.facebook.loginandcom.facebook.share.Graph API -
GraphObject,OpenGraphObjectandOpenGraphActionclasses have been removed in favor of using JSON objects directly. Apps that use OG objects/actions for sharing can still use the helper methods in theShareOpenGraphObjectandShareOpenGraphActionclasses to build an OG object/action. This allows developers to use ProGuard on their entire project.UiLifecycleHelperremoved - This is removed and the variousonActivityResultorhandleOnActivityResultcalls for passing results for login or the dialogs are now in theCallbackManagerclass.LoginFragment- Has been removed.Picker fragments - Have been removed.
Sharing:
Sharing Classes - Many types for Sharing have been modified. See the Sharing on Android.
Dialog Changes - All
*Dialogclasses are converted to useFacebookCallbackandCallbackManager.Automatic Web Fallback -
ShareDialogandAppInviteDialogautomatically fall back to using a web dialog if the Facebook app is not present on device. See Sharing on Android , Built-In Share Fallbacks.
Login:
AccessTokennow hasuserId.Replacement Classes -
SessionandUserSettingsFragmenthave been removed and replaced by theLoginManagerandAccessTokenclasses.LoginActivityis replaced byFacebookActivity.
Error-Handling
FacebookRequestError- Error classification has been updated.Error Handling - Is updated, including new ways to handle errors using the SDK. See Using the Graph API, Android, Handling Errors and Troubleshooting.