Android 版 Facebook SDK 更新日志

Android 版 Facebook SDK 的更新日志和版本说明。

5.0.0 及更高版本

有关 5.0.0 及更高版本的更新日志,请查看 GitHub 上的 facebook/facebook-android-sdk/CHANGELOG.md

4.41.0 — 2019 年 3 月 8 日

Facebook SDK

新增内容

修改内容

已停用的类:FacebookUninstallTracker

修复内容

4.40.0 — 2019 年 1 月 22 日

Facebook SDK

新增内容

修改内容

修复内容

  • 修复了多种漏洞

4.39.0 — 2018 年 12 月 5 日

Facebook SDK

新增内容

修改内容

  • 默认打开应用内购买自动记录功能。可以使用上传的凭证验证 Android 自动记录的购买事件。详细了解

修复内容

  • 修复了多种漏洞

4.38.1 — 2018 年 11 月 1 日

Facebook SDK

新增内容

修改内容

修复内容

  • 修复了无代码设置的连接问题

4.38.0 — 2018 年 10 月 23 日

Facebook SDK

新增内容

修改内容

修复内容

  • 修复了多种漏洞

4.37.0 — 2018 年 9 月 27 日

Facebook SDK

新增内容

修改内容

修复内容

  • 修复了多种漏洞

4.36.1 — 2018 年 9 月 17 日

Facebook SDK

新增内容

修改内容

修复内容

  • 修复了多种漏洞

4.36.0 — 2018 年 8 月 29 日

Facebook SDK

新增内容

修改内容

修复内容

  • 修复了多种漏洞

4.35.0 — 2018 年 7 月 26 日

Facebook SDK

新增内容

  • 升级至 Facebook 图谱 API 3.1 版

修改内容

修复内容

  • 修复了各种漏洞。

4.34.0 — 2018 年 6 月 18 日

Facebook SDK

新增内容

  • 新增了营销模块以启用无代码应用事件记录功能。
  • 新增了 JavascriptInterface 和 augmentWebview 方法。这使混合型应用能够使用 Pixel 像素代码发送 AppEvents。
  • 向 FBShareVideo 中新增了 videoAsset 属性,以便合作伙伴使用 PHAsset 分享照片库中的视频。

修改内容

  • 提升与图谱 API 3.0 的兼容性。

修复内容

  • 修复了各种漏洞。

4.33.0 — 2018 年 5 月 1 日

Facebook SDK

新增内容

  • 升级至 Facebook 图谱 API 3.0 版
  • 新增 ACCESSTOKEN.ISCURRENTACCESSTOKENACTIVE() 简便方法。

修改内容

修复内容

  • 更好地处理非活跃登录
  • 修复了多种漏洞

4.32.0 — 2018 年 4 月 11 日

Facebook SDK

新增内容

修改内容

修复内容

  • 修复了多种漏洞。修复了 setUserId 和 updateUserPropertiesin 中的竞争条件条件 (Android SDK)

4.31.0 — 2018 年 2 月 28 日

Facebook SDK

新增内容

修改内容

修复内容

  • 修复了多种漏洞

Account Kit

新增内容

修改内容

修复内容

  • 修复了多种漏洞

4.30.0 — 2018 年 1 月 24 日

Facebook SDK

新增内容

  • 防范路径遍历漏洞:https://support.google.com/faqs/answer/7496913
  • 在 Gradle 4.1 和 Android Studio 3.0 中支持变体感知依赖项管理

修改内容

修复内容

  • 对 Messenger 分享功能进行了细微修改
  • 修复了多种漏洞

Account Kit

新增内容

  • 升级至 AccountKit 图谱 API 1.3 版

修改内容

  • 移除偏好设置 API
  • 更新了国家/地区代码选择列表和手机号输入

修复内容

  • 修复了新 JIO 号码的解析问题

4.29.0 — 2017 年 12 月 5 日

Facebook SDK

新增内容

  • 支持 Android Autofill(Android Oreo 中推出的一项新功能)

  • 新增了 Messenger 分享 SDK 功能:博文

修复内容

  • 发行针对 XCode 9 / iOS 11 SDK 的 bitcode

4.28.0 — 2017 年 11 月 7 日

Facebook SDK

新增内容

  • 发布了新的 Facebook 登录代码示例应用

修改内容

  • 应用邀请功能已停用。
  • 原生“赞”按钮已停用。

4.27.0 — 2017 年 9 月 26 日

Facebook SDK

新增内容

  • 应用内购买自动登录

修改内容

  • 将 Facebook SDK 重组为多个彼此独立但相互依存的库/模块。
  • 将 GraphRequest.createOpenGraphObject(ShareOpenGraphObject) 改为 ShareGraphRequest.createOpenGraphObject(ShareOpenGraphObject)
  • 将 FacebookSDK.[set|get]WebDialogTheme(...) 改为 WebDialog.[set|get]WebDialogTheme(...)
  • 移除 styles.xml 中未使用的尺寸
  • 移除仅限内部测试使用的文件
  • 更新 proguard 文件

修复内容

  • 修复验证码输入屏幕上错误的键盘样式

Account Kit

修复内容

  • 漏洞修复和样本应用更新

4.26.0 — 2017 年 8 月 24 日

Facebook SDK

新增内容

  • 用于设备登录和分享的二维码

修复内容

  • 在请求配置时向 ExperimentationConfiguration 添加 null 检查。

Account Kit

新增内容

  • 现在可以在清单文件上选择默认语言,无需再包含英文翻译

修复内容

  • 对用户界面进行了细微修复

4.25.0 — 2017 年 7 月 26 日

Facebook SDK

修复内容

  • 更改了 ShareDialog.canShow,从而当用户尝试使用 ShareOpenGraphContent 向网页对话框分享本地图片时,正确返回 false。

Audience Network

新增内容

  • 视频广告不再使用 Mediaplayer,而是转用 Exoplayer

修改内容

  • 更新 Google Play 服务和支持库依赖项的版本

修复内容

  • 修复了在激励视频广告播放结束后和结束画面显示之前,与屏幕互动发生崩溃的问题
  • 修复了系统未检测到广告编号时,最开始的展示没有填充广告的错误
  • 插屏广告旋转方向后,Exoplayer 不会再重播视频
  • 修复了老版 Android 设备(4.2 以下)上视频插屏广告崩溃的问题

Account Kit

新增内容

  • 如果 Google Play 服务可用,则开发者不再需要 READ_PHONE_STATE 权限来自动填写设备手机号。
  • 如果 Google Play 服务可用,则开发者不再需要 GET_ACCOUNTS 权限来自动填写设备邮箱。
  • 邮箱实时验证

4.24.0 — 2017 年 6 月 26 日

Facebook SDK

修改内容

  • 新增了设置快捷登录 toast 时长的参数
  • 快捷登录调用成功时,可访问用户的个人主页。这要求设备安装 Android 版 Facebook v131。
  • AppEvent 类下事件名称的 Md5 校验和

Audience Network

新增内容

  • 禁用了 Exoplayer 的媒体控制选项
  • 为可跳过的关闭按钮和新的跳过按钮新增设计方案
  • 为激励视频广告播放/暂停键新增了设计方案

修改内容

  • 优化了激励视频广告中的 AdMetadata 大小/间距
  • 更改了进度条颜色,使其与激励视频广告中结束画面上的按钮颜色相匹配

修复内容

  • 支持再次点击显示在主广告视图层级以外的视图。
  • 移除了窗口状态更改时广告视图检查器上的竞争条件。

Account Kit

修复内容

  • 修复了从 AccountKit 切换回来后无法读取短信的问题。

4.23.0 — 2017 年 5 月 25 日

Facebook SDK

新增内容

  • 新增了对取消注册登录回调的支持

Audience Network

修复内容

  • Nexus 设备上应用从后台转到前台运行后,重新开启视频出错时重新尝试播放
  • 修复了允许跳过自动播放视频的返回按钮行为
  • 在日志记录组件崩溃时刷新视频时间事件。
  • 在 nativeConfigObject 为空对象时将 nativeAdViewAttributes 设置为 null
  • 修复了视频插播广告调用两次 Interstitial Ad Shown 回调的问题
  • 修复了在试图显示视频控件时出现的视频暂停/播放问题
  • 强制为插播视频的进度计数器添加颜色
  • 修复了 AudienceNetworkActivity 中的内存泄漏问题

Account Kit

新增内容

  • 为手机登录时的国家/地区代码选择列表新增了国家/地区旗帜

修复内容

  • 修复了在尝试多次登录时发生崩溃的问题
  • 修复了一些用户界面问题

4.22.1 — 2017 年 5 月 11 日

Facebook SDK

无更改。

Audience Network

无更改。

Account Kit

修复内容

  • 重发验证码页面 Null 指针崩溃。

4.22.0 — 2017 年 4 月 18 日

Facebook SDK

新增内容

  • 新增了地点图谱
  • Facebook 快捷登录:为登录管理工具新增了登录状态检索功能。
  • 更新为使用图谱 API v2.9

修改内容

  • 更新智能登录功能的本地化内容
  • FBSDKShareLinkContenttitledescriptioncaptionimage 字段已停用。请采取适当的措施移除对它们的使用。

Account Kit

新增内容

  • 使用语音通话对手机号执行认证的备用方式。
  • 调用 logout 端点以便退出

修改内容

  • 新增额外登录功能
  • 优化了重发短信流程的用户体验
  • 优化了小屏幕体验
  • 移除 LoginType,让其不再是 SkinManagerAdvancedUiManager 的必填项
  • 优化用户体验中声明文本的显示方式
  • AppLoginTheme 不再是使用皮肤时的必要条件
  • 升级为使用 v1.2 Account Kit 图谱 API 版本

4.21.1 — 2017 年 4 月 6 日

Facebook SDK

无更改。

Audience Network

修复内容

  • 以应用程序上下文初始化广告视图时发生崩溃的问题

Account Kit

无更改。

4.21.0 — 2017 年 4 月 4 日

Facebook SDK

无更改。

Audience Network

新增内容

  • 新增了多种性能和稳定性优化。
  • 插屏视频广告增加了新设计,将逐步推广。

修复内容

  • 未加载的网址引起的应用内浏览器崩溃问题
  • 为 Android 7 修复媒体播放器的内存泄漏问题

Account Kit

无更改。

4.20.0 — 2017 年 3 月 1 日

Facebook SDK

修改内容

  • 更新和本地化 SmartLogin 对话框。
  • 现会立即发送推送口令。详情请参阅相关文档

Audience Network

新增内容

  • 新增了多种性能和稳定性优化。

修改内容

  • Android 清单文件中不再要求使用 AudienceNetworkActivity

修复内容

  • 修复了原生广告轮播子项无法触发 onAdClickedListener 的问题。
  • 修复了在模拟器上点击原生广告轮播会出现崩溃的问题。

Account Kit

新增内容

  • 加入 4 种新的本地化语言。
  • 推出经典、现代和半透明皮肤,便于定制用户界面。

修改内容

  • 对旧代码添加停用标记。

修复内容

  • 修复了多种漏洞。

4.19.0 — 2017 年 1 月 25 日

Facebook SDK

修改内容

  • Facebook SDK 现在会于应用程序启动时自动初始化。大多数情况下,不再需要手动调用 FacebookSDK.sdkInitialize()。详情请参阅升级指南
  • 现在会于 SDK 初始化期间调用 Activate App。如要禁用此功能,请根据升级指南中的说明进行操作。
  • 更新“登录”按钮的外观和风格。详情请参阅升级指南

修复内容

  • ActivityLifecycleTracker 中可能存在的内存泄漏

Audience Network SDK

新增内容

  • 为 MediaView 添加了前台/后台监听器。

修复内容

  • 针对级别不足 18 的 Android API,修复了 NativeAdsManager 中的崩溃问题。
  • 现在在视频播放结束时,系统可以正确调用 MediaViewListener 中的 onComplete 方法。
  • 启动应用内浏览器时因协议不受支持而发生的崩溃问题。

Account Kit SDK

修改内容

  • Account Kit SDK 现在会于应用程序启动时自动初始化。大多数情况下,不再需要手动调用 AccountKit.initialize()。详情请参阅升级指南
  • 将 Account Kit 实时验证按钮的默认值设置为“继续”

修复内容

  • 修复了在 Android 7 及更高版本中,每当文件被标记为 WORLD_ 时,系统都会抛出异常的崩溃漏洞
  • 输入界面中后退箭头的主题
  • 将验证码输入界面中的焦点设置到第一个输入字段
  • VI 翻译
  • 检查特定设备上的权限行为

新增内容

  • 国家/地区代码记录

4.18.0 — 2016 年 11 月 30 日

Facebook SDK

修改内容

  • 向 AppEventsLogger.handleResponse() 添加 null 检查。

Audience Network

修复内容

  • 修复了 adViewDidClick 无法在 FBInstreamAdView 中正常触发的问题
  • 修复 UIRectCornerTopRight 和 UIRectCornerBottomRight 的 FBAdChoicesView 可扩展动画

Account Kit SDK

修改内容

  • 在出现 AccountKitError 错误代码时添加 null 检查。

4.17.0 — 2016 年 10 月 26 日

Facebook SDK

新增内容

  • FBAppEventsLogger 新增了 setUserIDupdateUserProperties。详情请参阅此处
  • 为 Android TV/FireTV 应用添加了“智能登录”。详情请参阅博文。使用这项新功能无需更改 API。

修改内容

  • 更新了 Android 支持库

修复内容

  • 修复了开放图谱分享中的用户标记问题。

Audience Network

修复内容

  • 修复了 SQLiteDatabaseLockedException

Account Kit

新增内容

  • 针对手机号登录的实时验证

修改内容

  • 改进了错误代码报告
  • 更新以使用 1.1 Account Kit 图谱端点
  • 更新了会话登录
  • 移除了取消回调

4.16.1 — 2016 年 10 月 7 日

Facebook SDK

修改内容

Audience Network

修复内容

  • 瞬时 ConcurrentModificationException
  • 与数据库指针相关的 StrictMode 警告

4.16.0 — 2016 年 9 月 27 日

Facebook SDK

新增内容

  • 新增了 FacebookSdk.setGraphApiVersion,以便对不同的图谱 API 版本进行全局设置

修复内容

  • 修复了潜在的 DeadObjectExceptions 异常 (PR-483)
  • 修复了潜在的 DeadObjectExceptions 异常 (PR-483)
  • 更好地处理网页对话框转轮的主题

Audience Network

新增内容

  • 应用内浏览器,以便在网页视图中打开链接式广告
  • InstreamVideoAdView 类,以支持插播广告版位

修改内容

  • 将视频缓存限制更新为 64MB,以便进行预提取
  • 在 MediaView 中弃用 setAutoplay 和 setAutoplayOnMobile

修复内容

  • 由关联 MediaView 引用的 LocalBroadcastReceiver 导致的内存泄露问题
  • 在设备上更新 WebView,同时同步 Cookie 时出现的 NullPointerException 异常

Account Kit SDK

新增内容

  • 添加计时器,用于向相同的手机号发送新短信

修改内容

  • 内容语言和本地化更新
  • 优化小屏幕的用户体验
  • 将确认按钮从“完成”更改为“下一步”

修复内容

  • 使用开发者提供的国家/地区代码,而不是在手机中找到的代码
  • Lollipop 和更低版本设备中的绘制矢量图
  • Lollipop 和更低版本设备中的键盘显示行为

4.15.0 — 2016 年 8 月 23 日

Facebook SDK

修改内容

  • PR-470 允许开发者在图谱请求的路径元素中指定查询参数
  • 与应用和游戏小组相关的类和方法已弃用
  • 将设备登录用户界面的字体更改为使用 Roboto

修复内容

  • 更好地处理 Facebook 登录的 Chrome 自定义选项卡
  • 更好地处理磁盘损坏时的应用事件存续问题
  • PR-481 修复了示例应用中的用户切换问题
  • 修复了 Android 6.0 中的网页对话框旋转问题

Audience Network

修改内容

  • 改进视频稳定性并更新全屏用户界面

Account Kit SDK

修改内容

  • 将 PNG 图片转化为绘制矢量图,以缩小 SDK
  • 新增了在样本 defaultConfig 中指定翻译语言的示例
  • 更新了初始输入界面的披露字符串

修复内容

  • 修复了在较旧设备中检查设备权限导致的 RuntimeException 问题

4.14.1 — 2016 年 8 月 4 日

Audience Network

修复内容

  • 修复了因 4.14.0 POM 文件无效导致的 Gradle 远程依赖项异常

4.14.0 — 2016 年 7 月 13 日

Facebook SDK

新增内容

  • 未安装 Android 版 Facebook 应用时,此版本的 SDK 会自动在登录流程中应用 Facebook Lite 应用 v11 及更高版本

修改内容

修复内容

  • 修复应用事件无效导致应用事件记录失败的问题

Audience Network

修复内容

  • 修复了在键盘上锁的情况下显示 Activity 时产生的展示记录问题

4.13.2 — 2016 年 7 月 1 日

Facebook SDK

修复内容

  • 修复了切换 Activity 后临时应用事件会丢失的问题

Account Kit SDK

修复内容

  • 登录期间的 NPE

4.13.1 — 2016 年 6 月 17 日

Facebook SDK

修复内容

  • 修复 AppEventsLogger 空指针异常

4.13.0 — 2016 年 6 月 15 日

Facebook SDK

修改内容

  • 将 Chrome 公测版和开发者版本中的 Chrome 自定义选项卡保持为“开启”状态
  • 支持在网页视图对话框中使用 Chrome 自定义选项卡访问口令
  • 通过 AppEventsLogger 在 activateApp 中显式记录安装事件

修复内容

  • 修复应用事件记录器中的活动遗漏问题
  • 修复 AppEventsLogger 中可能的死锁问题
  • 修复翻译中的 %@ 问题
  • 修复取消封送 com.facebook.login.LoginClient$Request 时未找到类的问题
  • PR 476:对未找到正确签名使用 fail-fast 机制。

Account Kit SDK

修改内容

  • 将大部分图片素材绘制为矢量图而非 PNG,以缩减 SDK 大小

修复内容

  • 通过 https://developers.facebook.com/bugs/1091582134248501/ 修复了下一步按钮的切换问题
  • 修复了 SDK 未初始化为符合正确方法名称时显示的错误
  • 修复了手机登录界面的韩语翻译问题

4.12.1 — 2016 年 5 月 26 日

Facebook SDK

修复内容

  • 读取 HttpURLConnection 的 responseCode 时,较旧 Android 设备返回 NoSuchAlgorithmException

Audience Network

修改内容

  • 移除了对 X509TrustManager 的使用,以消除 Google Play 警告

修复内容

  • 修复了 AdQuality 缺少依赖项错误
  • 修复了特定设备上阻止媒体播放器恢复播放的漏洞

4.12.0 — 2016 年 5 月 20 日

Facebook SDK

修改内容

  • 仅在出现需要刷新的应用事件时才安排刷新应用事件,而不是每 15 秒刷新一次。
  • 现在初始登录将传递“rerequest”标记,以便在“登录”对话框中显示之前遭拒的权限
  • 改用 gradle 2.10
  • 已将访问口令来源从 CUSTOM_TAB 更改为 CHROME_CUSTOM_TAB
  • 已停用 AppLinkData.ARGUMENTS_TAPTIME_KEY
  • 向 Facebook SDK 库的 AndroidManifest 添加 FacebookActivity 和 ChromeCustomTabsActivity。

修复内容

  • 修复了 ShareDialog 中的问题,即如果未安装 Facebook 应用,则不分享引用内容。
  • Proguard 去掉序列化信息会导致在特定情况下,将应用事件序列化至磁盘时出现异常。
  • 崩溃的应用事件缓存文件从不清除
  • 在完成分享或登录后启动应用可能出现的崩溃,以及登录或分享时应用被关闭的问题。
  • 修复了某些魅族设备的安全性和 NPE

Audience Network

修复内容

  • 修复了无效子计数导致的 RecyclerView 崩溃
  • 修复了 MPA 子 adListeners 未被调用的漏洞

Account Kit

新增内容

  • 在尝试使用邮箱登录时指定 redirect_uri,向用户展示一个按钮,提示他们在确认后打开应用

修复内容

  • 接受末尾带空格的邮箱
  • 修复了取消请求后轮询邮件确认时可能出现的竞争条件

4.11.0 — 2016 年 4 月 12 日

Facebook SDK

新增内容

  • 新增了 AppEventsLogger.setPushNotificationsRegistrationIdAppEventsLogger.logPush*。详情请参阅推送通知
  • 新增了 ShareHashtag,以支持分享话题标签。详情请参阅在 Android 平台分享
  • 新增了 ShareMediaContent,以支持分享混合内容(如照片和视频)。详情请参阅在 Android 平台分享
  • 新增了 ShareLinkContent.Builder.setQuote,以支持来自链接的引文。详情请参阅在 Android 平台分享
  • 新增了 AppInviteContent.setPromotionDetailsAppLinkData.getPromotionCode,以便轻松在应用邀请中加入推广代码。详情请参阅应用邀请
  • 新增了 AppEventsLogger.activateApp(Application),以极大地简化 Facebook 分析的使用方式。从应用程序的 onCreate 中调用此方法即可,无需在每个活动中调用。详情请参阅应用事件
  • 为设备流程身份验证新增了 DeviceLoginButton,支持设置重定向 URI。
  • 为设备流程身份验证新增了 DeviceLoginManager,支持设置重定向 URI。

修改内容

  • 更新为使用图谱 API v2.6
  • 提高了 AppEvents 的会话追踪准确性,包括一个用于识别会话超时阈值的可配置值(位于应用的 Facebook 分析设置中)。
  • 若未安装 Facebook 应用,SDK 会自动在登录流程中应用 Chrome 自定义选项卡。

修复内容

  • 修复通过网页视图发出的口令不会自动刷新的问题。
  • PR-459

Audience Network

新增内容

  • 为原生广告添加了视频预缓存支持

修改内容

  • 修改了多商品广告的背景和加载磁贴颜色

修复内容

  • 修复了多商品广告的图片预缓存

Account Kit

应用内通知

4.10.1 — 2016 年 3 月 18 日

Facebook SDK

修改内容

  • 更新了支持库的版本。

修复内容

  • 修复了通过网页视图发出的口令不会自动刷新的问题。

Audience Network

修复内容

  • 删除重叠视图检查,恢复展示。

4.10.0 — 2016 年 2 月 10 日

Facebook SDK

修改内容

  • 不再需要 multidex
  • 撤销了 4.9.0 中默认随所有图谱请求传递语言信息的更改。您仍然可以通过手动指定语言字段获得本地化结果。

Audience Network

新增内容

  • 向 MediaView 添加了多商品广告支持。
  • 添加 AAR 包并删除 JAR 包。
  • 添加 consumerProugardFile 规则,以便忽略适配器警告。

修复内容

  • 修复 BlurBorderImage 高度计算中的崩溃问题。
  • 现在,系统将在缓冲视频时显示转轮。

移除内容

  • JAR 包。

4.9.0 — 2016 年 1 月 13 日

Facebook SDK

新增内容

  • 新增了对 Fire TV 和 Android TV 的支持。请参阅与 Android TV 和 Fire TV 集成
    • 新的设备登录身份验证行为。
    • 现在,“登录”、“发送”、“分享”和“赞”按钮可通过键盘或远程输入使用。

修改内容

  • 设备所用语言现将随所有图谱请求一同发送。因此,图谱 API 发送的结果将根据用户当前所用语言完成本地化。

修复内容

  • 修复了在登录期间意外点击进程对话框以外的位置会取消登录流程的问题。
  • 修复了在 SDK 初始化之后不调用回调的问题。PR 452
  • 修复了 listFile 访问权限的潜在 NPE (PR 454)
  • 修复了“赞”按钮社交语句,使之符合语言设置。
  • 修复了 SDK 初始化过程中的潜在竞争条件
  • 修复了 FBSDKLikeControl 的社交语句,使之符合语言设置。

Audience Network

新增内容

  • 优化视频加载状态,加入封面图片和加载转轮。

修复内容

  • 修复了会导致 IllegalStateException 的表面纹理分离相关漏洞。
  • 修复了广告标题为 null 时导致崩溃的漏洞。

移除内容

  • 移除 MediaView 的 VideoView 支持。此项变化只会影响 Honeycomb 及更早的版本。

4.8.2 — 2015 年 11 月 23 日

Facebook SDK

新增内容

  • 为访问口令追踪器刷新方法添加回调。

Audience Network

修复内容

  • 修复 MediaView 在禁用自动播放后崩溃的问题。

4.8.1 — 2015 年 11 月 11 日

Facebook SDK

修复内容

  • 在未附加于片段的“发送”/“分享”按钮上设置分享内容时出现的 NPE(空指针异常)。

Audience Network

无更改

4.8.0 — 2015 年 11 月 11 日

Facebook SDK

新增内容

  • 支持结合原生片段 (android.app.Fragment) 使用登录管理工具和用户界面元素

修复内容

  • 修复了连接在出现异常时中断的漏洞

修改内容

  • “设置主题”功能现可应用于所有网页视图。不仅仅是登录网页视图 (PR 448)
  • 更新 Scrumptious 应用,以便能与原生片段一同运行,而不是与支持片段一同运行

Audience Network

修复内容

  • 向浏览器 intent 添加 EXTRA_APPLICATION_ID,以便在点击广告时重复使用选项卡
  • 修复了未发布的视频播放器导致的 IllegalStateException
  • 通过强制按预设方向显示插屏广告,修复了插屏广告的方向问题

修改内容

  • Apache HTTP 替换为第三方 AndroidHttpClient

4.7.0 — 2015 年 10 月 7 日

Facebook SDK

修复内容

  • 通过空值 ActionType 创建 GameRequestContent 时出现的 NPE 异常 (PR 445)

修改内容

  • 改用图谱 API v2.5
  • 目标 Android API 级别现为 23
  • 停用了 GameRequestContent 中的“to”成员,替换为“recipients”成员。PR 445
  • 现在,developers.facebook.com 网站的下载包将包括 Android 版 Facebook SDK 的 aar 文件,而非源代码。源代码和示例仍位于 github 上。

Audience Network

修复内容

  • 修复了创建 NativeAdManagers 时出现的内存泄露问题
  • 修复了原生广告注册中的内存泄露问题
  • 修复了全屏视频播放器中的内存泄露问题
  • 修复了所用 API 级别低于 14 的设备无法正确播放视频的问题
  • 修复了展示记录漏洞

修改内容

  • 目标 Android API 级别现为 23

4.6.0 — 2015 年 9 月 10 日

Facebook SDK

新增内容

  • 新增了用于根据 intent 创建 AppLinkData 对象的 API。

修复内容

  • 修复了通过反射获取标识符的问题。(PR-441)
  • 修复了 SDK 初始化期间的严格模式违规问题。
  • 修复了在后台线程发送图谱请求和调用分享 API 失败的问题。
  • 向共享模型 (share.model) 类添加缺失的 CREATOR。(PR-436)
  • 修复了为应用编号添加 fb 前缀无效的问题。(PR-438)

修改内容

  • 无法分享内容时,自动禁用“发送”和“分享”按钮。
  • Android 版 SDK 的最低版本现为 v15

Audience Network

注意:Facebook 已经确定 Android 版 Audience Network jar 版本 4.6 存在展示记录漏洞,这个漏洞将导致展示次数和收益降低。已在版本 4.7 中解决此漏洞,强烈建议升级到此版本。

修复内容

  • 改善了 MediaView 内容的效果
  • 修复了 MediaView 的内存泄露问题

4.5.1 — 2015 年 8 月 13 日

Audience Network

修复内容

  • 修复了 MediaView 与大屏幕设备的兼容性问题

4.5.0 — 2015 年 8 月 10 日

Facebook SDK

新增内容

  • 新增了 AppEvent 事件自动记录功能,用于记录“赞”、“分享”、“发送”和“登录”按钮点击事件。
  • 已添加新的“Share It”示例应用。
  • 新增了在 AndroidManifest.xml 中为应用编号添加前缀“fb”的功能 (PR-435)

修复内容

  • 修复了公共主页赞的“赞”按钮不会始终显示为“已赞”的问题。
  • 修复了未向 CreateAppGroup 对话框显示应用组隐私设置时出现的 NPE(空指针异常)。
  • 修复了用户设备既没有 Facebook 应用也没有浏览器时应用崩溃的问题。
  • 修复了 AndroidManifest.xml 中应用编号的整数溢出问题 (PR-435)

Audience Network

新增内容

  • 向 MediaView 添加了原生视频支持

修改内容

  • 现在,AdChoicesView 仅默认设置为可点击的文本,并包含使用现有可扩展图标的选项

修复内容

  • WebView 现在使用 ApplicationContext,以避免内存泄露。
  • 修复了旧版 Android 中 View.getLocationOnScreen 的 NPE(空指针异常)

4.4.1 — 2015 年 7 月 13 日

Audience Network

修复内容

  • 阻止插屏广告和原生广告格式在客户端上触发的自动刷新 onError
  • 防止在关闭屏幕后自动刷新横幅广告格式
  • 解析无效的请求参数错误
  • 导致“Ad is not ready”(广告未准备好)异常的罕见竞争条件

4.4.0 — 2015 年 7 月 8 日

Facebook SDK

新增内容

  • 添加了用于在 FacebookSdk.sdkInitialize 完全完成时执行的回调
  • 向 GraphRequest 类添加了照片上传辅助方法。

修改内容

  • 将默认的图谱 API 版本更新为 2.4。现在,开发者需要在所有图谱 API 端点内明确请求字段(例如:姓名、地点等)。
  • 已更改 LoginBehavior 枚举的名称,能够更好地表示实际的登录行为。

修复内容

  • 因无网络导致的登录失败现在将调用 onError,而非 onCancel。

Audience Network

修复内容

  • 修复了 DownloadImageTask 中的 OutOfMemoryError

4.3.0 — 2015 年 6 月 25 日

Facebook SDK

新增内容

  • 通过远程服务检索 Google 广告主。

修改内容

  • 升级到 roboelectric 3
  • 将示例的命名空间从 com.facebook 改为 com.example
  • 停用 SharePhoto 和 ShareVideo 的参数。使用 GraphRequest 在需要参数的地方分享视频和照片。
  • 已更新 buck 编译版本。(PR 426 和 423)

修复内容

  • Hello Facebook 示例应用通过对话框请求不必要的分享权限。
  • 在创建登录记录器时,当上下文为空时出现的 NPE(空指针异常)。(PR 430)

Audience Network

修复内容

  • 当设备标记“Do not keep activities”(不要保留活动)开启时,由返回按钮触发的插播网页崩溃
  • 明确针对 Android 5.0 的应用中的混合内容 WebView 漏洞
  • WebView 被破坏后,调用 activateAd() 导致 WebView 崩溃

4.2.0 — 2015 年 5 月 28 日

Facebook SDK

新增内容

  • 向 ShareApi 添加图谱节点,向照片/视频添加参数
  • 新增了对 gradle 2.4 的支持
  • 新增了翻译
  • Iconicus 应用链接示例
  • 现在能够指定 WebDialog 用于登录的主题。
  • 关于设备访问权限的非唯一信息将与应用事件一同发送,以改善 Facebook 分析报告。

修改内容

  • 移除了 LoginButton 中的自定义请求代码
  • 将 Gradle 升级至版本 2.4 (PR 421)
  • 将 Android 工具更新至 1.2.3
  • 删除了 jcandksolutions android-unit-test
  • 将“分享”、“发送”和“登录”按钮中 onClickListeners 的调用移动至操作处理的开头,而非末尾。

修复内容

  • 在登录完成后,由登录管理工具保留上下文造成的内存泄漏。
  • 修复了多层次上下文封装程序拆包的问题 (PR 419)。
  • 现可在 Android Studio 设计器中使用 View 对象
  • 在 OpenGraphShareContent 中设置 peopleIds 或 placeId 失败的问题。
  • 视频分享无法通过原生对话框分享某些内容 URI。

Audience Network

修复内容

  • 修复了一些应用在展示插屏广告时发生异常的问题

4.1.2 — 2015 年 5 月 14 日

Facebook SDK

修复内容

  • 通过 ShareApi 分享开放图谱对象无法正确展示嵌套对象。
  • 某些情况下,在登录流程中错误地调用 OnCancel。

Audience Network

无更改

4.1.1 — 2015 年 5 月 6 日

Facebook SDK

修复内容

  • 通过 ShareApi 分享的所有开放图谱内容都需要 user_messages 权限。
  • 无法通过 ShareApi 分享包含文件 URI 而非内容 URI 的视频。

Audience Network

修复内容

  • 用户代理为空时的空指针异常。
  • 模糊处理原生广告模板的图片时捕获 OutOfMemoryErrors。
  • 模糊处理原生广告模板的图片时捕获所有错误。
  • 模糊处理原生广告模板的图片时,使用较少的内存。

4.1.0 — 2015 年 4 月 30 日

Facebook SDK

新增内容

  • 新增了用于刷新访问口令的权限的新方法。
  • 已向游戏请求结果添加请求接收人。
  • 支持为 SharePhoto 对象添加说明。
  • 支持以更可靠的方式上传更大的视频。
  • 支持重试视频上传。
  • 确认缺失的清单条目。
  • 可在从自定义对话框调用 ShareApi 时提供消息。
  • 通过 scrumptious 内的分享 API 分享时显示进程对话框。
  • 使用命名空间的样式属性标签。
  • Travis CI 支持。

修复内容

  • 用户看见“Failed to find provider info for com.facebook.katana.provider.AttributionIdProvider”消息的问题。
  • 传递没有访问口令的 intent 后,createFromNativeLinkingIntent 崩溃。
  • 快速取消登录时,出现空指针异常。
  • 退出时未清除网页视图 Cookie 的漏洞。
  • Scrumptious 应用中位置选择器的漏洞。
  • 对发布内容用的 ShareApi 实施严格的权限检查。
  • 记录应用安装事件时未记录应用版本的问题。
  • Scrumptious 无法分享相机拍摄的照片,只能从图库中选择图片。
  • 修复了网页对话框创建失败时支持库中发生的崩溃。
  • 修复访问口令不为空时无法设置不同权限的漏洞。
  • 修复将应用编号放在 AndroidManifest.xml 而非资源文件内时,无法解析应用编号的漏洞。
  • 修复了阻止将 fb:explicitly_shared 用于开放图谱操作的漏洞。
  • 拉取请求 411:提及 LoginActivity 而非 FacebookActivity 的错误消息。
  • 拉取请求 415:WebView 中的内存泄漏。

此版本有一些重大更改。详情请参阅升级指南。将 Android SDK 从 4.0.1 升级至 4.1.0

Audience Network

新增内容

  • NativeAdsManager,用于帮助检索批量广告。
  • NativeAdView,能够通过 NativeAdViewAttributes 对象配置,提供可配置的原生广告视图模板
  • 添加 NativeAdScrollView,可提供水平滚动体验,并显示原生广告视图或自定义视图。
  • 辅助视图,帮助实现原生广告:
    • AdChoicesView,以便于向自定义原生视图添加可扩展的广告选择图标
    • MediaView,帮助处理 NativeAd 图片的下载和展示,同时保持宽高比

修改内容

  • 优化示例应用,展示 NativeAdView 模板

修复内容

  • 修复了多个小漏洞

4.0.1 — 2015 年 4 月 2 日

Facebook SDK

新增内容

  • 为 Scrumptious 添加显式横向布局。
  • 可在布局内设置 LoginButton 的 tooltip_mode 属性。

修复内容

  • 已更新应用设置,以便 FacebookSdk 上的执行器获取。
  • 已更新 LoginButton NUX 设置,便于 FacebookSdk 上的执行器进行获取。
  • “登录”按钮已更新,可便于系统正确衡量其大小。
  • 修复了通过 ShareApi 上传视频的问题。
  • 将在 GingerBread 设备内始终禁用与公共主页编号关联的 LikeView。

4.0 — 2015 年 3 月 25 日

Android 版 Facebook SDK v4.0 是一次重大的版本升级,此版本具有以下特点:

  • 改进了登录编程模型。
  • 改进了分享编程模型,且增加了多种无需访问口令的分享方式。
  • 改善了错误处理和错误恢复机制。
  • 现在,开发者可以通过 SDK 在整个项目内运行 ProGuard,减少最终 APK 内的内存占用。

这是 SDK v3.x 与 v4.0 的主要区别。如需获取有关升级的详细信息,请参阅将 Android SDK 从 3.x 升级到 4.x

Facebook SDK

新增内容

登录:

  • LoginManagerAccessToken:这些新类将执行 Facebook 登录。详情请参阅 Android 版 Facebook 登录

  • AccessTokenTracker:这个新类将接收有关访问口令更改的通知。相关情况包括更新口令时或者不同用户登录时。请参阅 Android 版 Facebook 登录 > 追踪访问口令

  • ProfileProfileTracker 是获取个人主页更改通知的新类,例如,当不同的用户登录您的应用时。请参阅 Android 版 Facebook 登录 > 追踪当前个人主页

  • 登录和图谱 API 错误LoginManager 现在可以解决与登录相关的 GraphRequest 错误。请参阅 LoginManager.resolveError()

分享:

  • ShareApi 类有助于通过图谱 API 分享内容。

对话框:

  • 强类型对话框类:已添加至应用邀请、应用组创建、应用组加入、游戏请求、消息和分享。每个 *Dialog 类都有一个包含 Builder 的相关 *Content 类,以便您可以轻松设置参数。

修改内容

  • 已停用:已移除 3.x 中标记为 @deprecated 的任何类或方法。某些特定功能的类已移至各自的程序包,例如 com.facebook.logincom.facebook.share

  • 图谱 API:已移除 GraphObjectOpenGraphObjectOpenGraphAction 类,以便直接使用 JSON 对象。使用 OG 对象/操作进行分享的应用仍然可以使用 ShareOpenGraphObjectShareOpenGraphAction 类中的辅助方法构建 OG 对象/操作。这让开发者可以在整个项目内使用 ProGuard。

  • UiLifecycleHelper 已移除:此类已移除,且用于传递登录或对话框结果的各种 onActivityResulthandleOnActivityResult 调用现在都位于 CallbackManager 类中。

  • LoginFragment:已移除。

  • 选择器片段:已移除。

分享:

登录:

  • AccessToken 现在拥有 userId

  • 替换类:已移除 SessionUserSettingsFragment,并替换为 LoginManagerAccessToken 类。LoginActivity 已替换为 FacebookActivity

错误处理