Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVlad Mihaylenko <vxmihaylenko@gmail.com>2017-05-30 20:33:22 +0300
committerGitHub <noreply@github.com>2017-05-30 20:33:22 +0300
commit79937d9ff3b53c41a2604caeee37eb92bfda4eaa (patch)
tree13e378d0697e7487ced9db41da3eadc27f037c6a
parent338283c7fcfeacf999bade33093a0f2b9214d0c9 (diff)
parentf51444ab461e3d6191b9ad9a65e871fb80c42617 (diff)
Merge pull request #6159 from igrechuhin/cherrybeta-838
Cherry picks
-rw-r--r--iphone/Maps/3party/FBSDKCoreKit.framework/FBSDKCoreKitbin22779864 -> 22711184 bytes
-rw-r--r--iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKApplicationDelegate.h2
-rw-r--r--iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h4
-rw-r--r--iphone/Maps/3party/FBSDKCoreKit.framework/Info.plistbin766 -> 768 bytes
-rw-r--r--iphone/Maps/3party/FBSDKLoginKit.framework/FBSDKLoginKitbin5060360 -> 5043352 bytes
-rw-r--r--iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginButton.h2
-rw-r--r--iphone/Maps/3party/FBSDKLoginKit.framework/Info.plistbin769 -> 771 bytes
-rw-r--r--iphone/Maps/3party/FBSDKShareKit.framework/FBSDKShareKitbin16491776 -> 16435104 bytes
-rw-r--r--iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareLinkContent.h18
-rw-r--r--iphone/Maps/3party/FBSDKShareKit.framework/Info.plistbin769 -> 771 bytes
-rw-r--r--iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/FBAudienceNetworkbin56650904 -> 52737232 bytes
-rw-r--r--iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBAdChoicesView.h45
-rw-r--r--iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBAdSettings.h36
-rw-r--r--iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBAudienceNetwork.h3
-rw-r--r--iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBMediaView.h8
-rw-r--r--iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBMediaViewVideoRenderer.h140
-rw-r--r--iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBNativeAd.h4
-rw-r--r--iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBRewardedVideoAd.h4
-rw-r--r--iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Info.plistbin715 -> 717 bytes
-rw-r--r--iphone/Maps/Core/Ads/Facebook/FacebookBanner.swift24
-rw-r--r--iphone/Maps/UI/Ads/AdBanner.swift9
21 files changed, 232 insertions, 67 deletions
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/FBSDKCoreKit b/iphone/Maps/3party/FBSDKCoreKit.framework/FBSDKCoreKit
index 4386a2c654..b8438eeef6 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/FBSDKCoreKit
+++ b/iphone/Maps/3party/FBSDKCoreKit.framework/FBSDKCoreKit
Binary files differ
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKApplicationDelegate.h b/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKApplicationDelegate.h
index 95d14534f2..45508267a0 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKApplicationDelegate.h
+++ b/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKApplicationDelegate.h
@@ -56,7 +56,7 @@
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation;
-#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_9_3
+#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_9_0
/**
Call this method from the [UIApplicationDelegate application:openURL:options:] method
of the AppDelegate for your app. It should be invoked for the proper processing of responses during interaction
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h b/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h
index 9a034b6a4e..151a89938d 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h
+++ b/iphone/Maps/3party/FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h
@@ -44,5 +44,5 @@
#import <FBSDKCoreKit/FBSDKDeviceViewControllerBase.h>
#endif
-#define FBSDK_VERSION_STRING @"4.21.0"
-#define FBSDK_TARGET_PLATFORM_VERSION @"v2.8"
+#define FBSDK_VERSION_STRING @"4.23.0"
+#define FBSDK_TARGET_PLATFORM_VERSION @"v2.9"
diff --git a/iphone/Maps/3party/FBSDKCoreKit.framework/Info.plist b/iphone/Maps/3party/FBSDKCoreKit.framework/Info.plist
index 820dd54059..68c6103439 100644
--- a/iphone/Maps/3party/FBSDKCoreKit.framework/Info.plist
+++ b/iphone/Maps/3party/FBSDKCoreKit.framework/Info.plist
Binary files differ
diff --git a/iphone/Maps/3party/FBSDKLoginKit.framework/FBSDKLoginKit b/iphone/Maps/3party/FBSDKLoginKit.framework/FBSDKLoginKit
index 240ce6a090..475c800595 100644
--- a/iphone/Maps/3party/FBSDKLoginKit.framework/FBSDKLoginKit
+++ b/iphone/Maps/3party/FBSDKLoginKit.framework/FBSDKLoginKit
Binary files differ
diff --git a/iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginButton.h b/iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginButton.h
index ff2f3f3265..adc7b9b095 100644
--- a/iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginButton.h
+++ b/iphone/Maps/3party/FBSDKLoginKit.framework/Headers/FBSDKLoginButton.h
@@ -110,7 +110,7 @@ typedef NS_ENUM(NSUInteger, FBSDKLoginButtonTooltipBehavior)
- Parameter result: The results of the login
- Parameter error: The error (if any) from the login
*/
-- (void) loginButton:(FBSDKLoginButton *)loginButton
+- (void)loginButton:(FBSDKLoginButton *)loginButton
didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result
error:(NSError *)error;
diff --git a/iphone/Maps/3party/FBSDKLoginKit.framework/Info.plist b/iphone/Maps/3party/FBSDKLoginKit.framework/Info.plist
index 4f93202b67..9409e465b0 100644
--- a/iphone/Maps/3party/FBSDKLoginKit.framework/Info.plist
+++ b/iphone/Maps/3party/FBSDKLoginKit.framework/Info.plist
Binary files differ
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/FBSDKShareKit b/iphone/Maps/3party/FBSDKShareKit.framework/FBSDKShareKit
index 1147cc938c..d22321263b 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/FBSDKShareKit
+++ b/iphone/Maps/3party/FBSDKShareKit.framework/FBSDKShareKit
Binary files differ
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareLinkContent.h b/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareLinkContent.h
index 3168333415..b4290d16c8 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareLinkContent.h
+++ b/iphone/Maps/3party/FBSDKShareKit.framework/Headers/FBSDKShareLinkContent.h
@@ -31,22 +31,34 @@
If not specified, this field is automatically populated by information scraped from the contentURL,
typically the title of the page. This value may be discarded for specially handled links (ex: iTunes URLs).
- Returns: The description of the link
+
+ @deprecated `contentDescription` is deprecated from Graph API 2.9.
+ For more information, see https://developers.facebook.com/docs/apps/changelog#v2_9_deprecations.
*/
-@property (nonatomic, copy) NSString *contentDescription;
+@property (nonatomic, readonly) NSString *contentDescription
+ DEPRECATED_MSG_ATTRIBUTE("`contentDescription` is deprecated from Graph API 2.9");
/**
The title to display for this link.
This value may be discarded for specially handled links (ex: iTunes URLs).
- Returns: The link title
+
+ @deprecated `contentTitle` is deprecated from Graph API 2.9.
+ For more information, see https://developers.facebook.com/docs/apps/changelog#v2_9_deprecations
*/
-@property (nonatomic, copy) NSString *contentTitle;
+@property (nonatomic, readonly) NSString *contentTitle
+ DEPRECATED_MSG_ATTRIBUTE("`contentTitle` is deprecated from Graph API 2.9");
/**
The URL of a picture to attach to this content.
- Returns: The network URL of an image
+
+ @deprecated `imageURL` is deprecated from Graph API 2.9.
+ For more information, see https://developers.facebook.com/docs/apps/changelog#v2_9_deprecations
*/
-@property (nonatomic, copy) NSURL *imageURL;
+@property (nonatomic, readonly) NSURL *imageURL
+ DEPRECATED_MSG_ATTRIBUTE("`imageURL` is deprecated from Graph API 2.9");
/**
Some quote text of the link.
diff --git a/iphone/Maps/3party/FBSDKShareKit.framework/Info.plist b/iphone/Maps/3party/FBSDKShareKit.framework/Info.plist
index bd0a36088c..a7f45933f6 100644
--- a/iphone/Maps/3party/FBSDKShareKit.framework/Info.plist
+++ b/iphone/Maps/3party/FBSDKShareKit.framework/Info.plist
Binary files differ
diff --git a/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/FBAudienceNetwork b/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/FBAudienceNetwork
index 858db42d66..d1d55e95cf 100644
--- a/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/FBAudienceNetwork
+++ b/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/FBAudienceNetwork
Binary files differ
diff --git a/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBAdChoicesView.h b/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBAdChoicesView.h
index d97bcc6231..e301adced9 100644
--- a/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBAdChoicesView.h
+++ b/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBAdChoicesView.h
@@ -79,49 +79,16 @@ FB_CLASS_EXPORT FB_SUBCLASSING_RESTRICTED
expandable:(BOOL)expandable;
/**
- Initialize this view with explicit parameters.
+ Initialize this view with a given native ad. Configuration is pulled from the native ad.
- - Parameter viewController: View controller to present the AdChoices webview from.
- - Parameter adChoicesIcon: Native ad AdChoices icon.
- - Parameter adChoicesLinkURL: Native ad AdChoices link URL.
- - Parameter attributes: Attributes to configure look and feel.
- */
-- (instancetype)initWithViewController:(nullable UIViewController *)viewController
- adChoicesIcon:(nullable FBAdImage *)adChoicesIcon
- adChoicesLinkURL:(nullable NSURL *)adChoicesLinkURL
- attributes:(nullable FBNativeAdViewAttributes *)attributes;
-
-/**
- Initialize this view with explicit parameters.
-
- - Parameter viewController: View controller to present the AdChoices webview from.
- - Parameter adChoicesIcon: Native ad AdChoices icon.
- - Parameter adChoicesLinkURL: Native ad AdChoices link URL.
- - Parameter attributes: Attributes to configure look and feel.
+ - Parameter nativeAd: The native ad to initialize with.
- Parameter expandable: Controls whether view defaults to expanded or not, see property documentation
- */
-- (instancetype)initWithViewController:(nullable UIViewController *)viewController
- adChoicesIcon:(nullable FBAdImage *)adChoicesIcon
- adChoicesLinkURL:(nullable NSURL *)adChoicesLinkURL
- attributes:(nullable FBNativeAdViewAttributes *)attributes
- expandable:(BOOL)expandable;
-
-/**
- Initialize this view with explicit parameters.
-
- - Parameter viewController: View controller to present the AdChoices webview from.
- - Parameter adChoicesIcon: Native ad AdChoices icon.
- - Parameter adChoicesLinkURL: Native ad AdChoices link URL.
- - Parameter adChoicesText: Native ad AdChoices label.
- Parameter attributes: Attributes to configure look and feel.
- - Parameter expandable: Controls whether view defaults to expanded or not, see property documentation
*/
-- (instancetype)initWithViewController:(nullable UIViewController *)viewController
- adChoicesIcon:(nullable FBAdImage *)adChoicesIcon
- adChoicesLinkURL:(nullable NSURL *)adChoicesLinkURL
- adChoicesText:(nullable NSString*)adChoicesText
- attributes:(nullable FBNativeAdViewAttributes *)attributes
- expandable:(BOOL)expandable NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithNativeAd:(FBNativeAd *)nativeAd
+ expandable:(BOOL)expandable
+ attributes:(nullable FBNativeAdViewAttributes *)attributes;
+
/**
Using the superview, this updates the frame of this view, positioning the icon in the top right corner by default.
*/
diff --git a/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBAdSettings.h b/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBAdSettings.h
index bb8f333121..91ed7ff904 100644
--- a/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBAdSettings.h
+++ b/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBAdSettings.h
@@ -23,9 +23,10 @@
NS_ASSUME_NONNULL_BEGIN
/**
- Audience Network error domain (returned in NSErrors generated by the SDK)
+ Audience Network error domains (returned in NSErrors generated by the SDK)
*/
FB_EXPORT NSString * const FBAudienceNetworkErrorDomain;
+FB_EXPORT NSString * const FBAudienceNetworkMediaViewErrorDomain;
/**
Audience Network SDK logging levels
@@ -62,11 +63,44 @@ typedef NS_ENUM(NSInteger, FBMediaViewRenderingMethod) {
};
/**
+ Test Ad type to be injected when test mode is on
+ */
+typedef NS_ENUM(NSInteger, FBAdTestAdType) {
+ // No specific ad type to be set.
+ // This will return a random ad type when test mode is on.
+ FBAdTestAdType_Default,
+ // 16x9 image ad with app install CTA option
+ FBAdTestAdType_Img_16_9_App_Install,
+ // 16x9 image ad with link CTA option
+ FBAdTestAdType_Img_16_9_Link,
+ // 16x9 HD video 46 sec ad with app install CTA option
+ FBAdTestAdType_Vid_HD_16_9_46s_App_Install,
+ // 16x9 HD video 46 sec ad with link CTA option
+ FBAdTestAdType_Vid_HD_16_9_46s_Link,
+ // 16x9 HD video 15 sec ad with app install CTA option
+ FBAdTestAdType_Vid_HD_16_9_15s_App_Install,
+ // 16x9 HD video 15 sec ad with link CTA option
+ FBAdTestAdType_Vid_HD_16_9_15s_Link,
+ // 9x16 HD video 39 sec ad with app install CTA option
+ FBAdTestAdType_Vid_HD_9_16_39s_App_Install,
+ // 9x16 HD video 39 sec ad with link CTA option
+ FBAdTestAdType_Vid_HD_9_16_39s_Link,
+ // carousel ad with square image and app install CTA option
+ FBAdTestAdType_Carousel_Img_Square_App_Install,
+ // carousel ad with square image and link CTA option
+ FBAdTestAdType_Carousel_Img_Square_Link
+};
+
+/**
AdSettings contains global settings for all ad controls.
*/
FB_CLASS_EXPORT FB_SUBCLASSING_RESTRICTED
@interface FBAdSettings : NSObject
+// When test mode is on, setting a non default value for testAdType will
+// request the specified type of ad.
+@property (class, nonatomic, assign) FBAdTestAdType testAdType;
+
/**
Returns test mode on/off.
*/
diff --git a/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBAudienceNetwork.h b/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBAudienceNetwork.h
index c294172ab3..847277f28a 100644
--- a/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBAudienceNetwork.h
+++ b/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBAudienceNetwork.h
@@ -25,6 +25,7 @@
#import <FBAudienceNetwork/FBInstreamAdView.h>
#import <FBAudienceNetwork/FBInterstitialAd.h>
#import <FBAudienceNetwork/FBMediaView.h>
+#import <FBAudienceNetwork/FBMediaViewVideoRenderer.h>
#import <FBAudienceNetwork/FBNativeAd.h>
#import <FBAudienceNetwork/FBNativeAdCollectionViewAdProvider.h>
#import <FBAudienceNetwork/FBNativeAdCollectionViewCellProvider.h>
@@ -38,4 +39,4 @@
// NOTE: Any changes should also be made to the module.modulemap
// to ensure comptability with Swift apps using Cocoapods
-#define FB_AD_SDK_VERSION @"4.21.0"
+#define FB_AD_SDK_VERSION @"4.23.0"
diff --git a/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBMediaView.h b/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBMediaView.h
index 467559be02..7e6ec59144 100644
--- a/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBMediaView.h
+++ b/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBMediaView.h
@@ -19,6 +19,7 @@
#import <UIKit/UIKit.h>
#import <FBAudienceNetwork/FBAdDefines.h>
+#import <FBAudienceNetwork/FBMediaViewVideoRenderer.h>
NS_ASSUME_NONNULL_BEGIN
@@ -48,9 +49,14 @@ FB_CLASS_EXPORT
@property (nonatomic, strong, nonnull) FBNativeAd *nativeAd;
/**
+ A custom FBMediaViewVideoRenderer instance, used to override the default user experience of video ads.
+ */
+@property (nonatomic, strong, nonnull) FBMediaViewVideoRenderer *videoRenderer;
+
+/**
The current volume of the media view, ranging from 0.0 through 1.0.
*/
-@property (nonatomic, assign, readonly) float volume;
+@property (nonatomic, assign, readonly) float volume FB_DEPRECATED;
/**
Enables or disables autoplay for some types of media. Defaults to YES.
diff --git a/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBMediaViewVideoRenderer.h b/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBMediaViewVideoRenderer.h
new file mode 100644
index 0000000000..0da4fa7afa
--- /dev/null
+++ b/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBMediaViewVideoRenderer.h
@@ -0,0 +1,140 @@
+// Copyright 2004-present Facebook. All Rights Reserved.
+//
+// You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
+// copy, modify, and distribute this software in source code or binary form for use
+// in connection with the web services and APIs provided by Facebook.
+//
+// As with any software that integrates with the Facebook platform, your use of
+// this software is subject to the Facebook Developer Principles and Policies
+// [http://developers.facebook.com/policy/]. This copyright notice shall be
+// included in all copies or substantial portions of the software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+#import <AVFoundation/AVFoundation.h>
+#import <UIKit/UIKit.h>
+
+#import <FBAudienceNetwork/FBAdDefines.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ The FBMediaViewVideoRenderer class allows for customization of the user experience for video ads in FBMediaView. This class should be subclassed, and an instance of that subclass should be passed to the videoRenderer property of an FBMediaView instance.
+ */
+FB_CLASS_EXPORT
+@interface FBMediaViewVideoRenderer : UIView
+
+/**
+ The aspect ratio of the video content. Returns a positive CGFloat, or 0.0 if no ad is currently loaded.
+ */
+@property (nonatomic, assign, readonly) CGFloat aspectRatio;
+
+/**
+ The current video playback time, as a CMTime value.
+ */
+@property (nonatomic, assign, readonly) CMTime currentTime;
+
+/**
+ The duration of the video, as a CMTime value. Returns kCMTimeInvalid if no video is loaded.
+ */
+@property (nonatomic, assign, readonly) CMTime duration;
+
+/**
+ The current volume of the video, ranging from 0.0 through 1.0.
+ */
+@property (nonatomic, assign) float volume;
+
+/**
+ Starts or resumes video playback.
+ */
+- (void)playVideo;
+
+/**
+ Pauses video playback.
+ */
+- (void)pauseVideo;
+
+/**
+ Used to put the video into seek mode. Video playback halts, and one or more calls to seekVideoToTime: can be made before calling disengageVideoSeek.
+ */
+- (void)engageVideoSeek;
+
+/**
+ Take the video out of seek mode.
+ */
+- (void)disengageVideoSeek;
+
+/**
+ Seeks the video to a particular time location. Only works after calling `engageVideoSeek`.
+ - Parameter time: The requested time location, expressed as a CMTime value.
+ */
+- (void)seekVideoToTime:(CMTime)time;
+
+/**
+ Requests the periodic invocation of a given block during playback to report changing time.
+ - Parameter interval: The time interval at which the block should be invoked during normal playback, according to progress of the player's current time.
+ - Parameter queue: A serial dispatch queue onto which block should be enqueued.
+ - Parameter block: The block to be invoked periodically.
+ */
+- (nullable id)addPeriodicTimeObserverForInterval:(CMTime)interval
+ queue:(dispatch_queue_t)queue
+ usingBlock:(void (^)(CMTime time))block;
+
+/**
+ Cancels a previously registered periodic time observer.
+ */
+- (void)removeTimeObserver:(id)observer;
+
+/**
+ Called when the video volume has changed.
+ */
+- (void)videoDidChangeVolume;
+
+/**
+ Called when video content has loaded.
+ */
+- (void)videoDidLoad;
+
+/**
+ Called when video playback was paused.
+ */
+- (void)videoDidPause;
+
+/**
+ Called when video playback has begun or was resumed.
+ */
+- (void)videoDidPlay;
+
+/**
+ Called when seek mode was engaged.
+ */
+- (void)videoDidEngageSeek;
+
+/**
+ Called when a video seek was performed.
+ */
+- (void)videoDidSeek;
+
+/**
+ Called when seek mode was disengaged.
+ */
+- (void)videoDidDisengageSeek;
+
+/**
+ Called when video playback ends.
+ */
+- (void)videoDidEnd;
+
+/**
+ Called when video playback encounters an error.
+ */
+- (void)videoDidFailWithError:(NSError *)error;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBNativeAd.h b/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBNativeAd.h
index 8ed7464f40..712baf0df1 100644
--- a/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBNativeAd.h
+++ b/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBNativeAd.h
@@ -81,6 +81,10 @@ FB_CLASS_EXPORT FB_SUBCLASSING_RESTRICTED
*/
@property (nonatomic, strong, readonly, nullable) FBAdImage *coverImage;
/**
+ Typed access to the body raw untruncated text, usually a longer description of the ad. Note, this method always returns untruncated text, as opposed to -(NSString *) body.
+ */
+@property (nonatomic, copy, readonly, nullable) NSString *rawBody;
+/**
Typed access to the body text, usually a longer description of the ad.
*/
@property (nonatomic, copy, readonly, nullable) NSString *body;
diff --git a/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBRewardedVideoAd.h b/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBRewardedVideoAd.h
index 51c48b0bf7..6449e36945 100644
--- a/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBRewardedVideoAd.h
+++ b/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Headers/FBRewardedVideoAd.h
@@ -183,7 +183,7 @@ FB_CLASS_EXPORT FB_SUBCLASSING_RESTRICTED
- Parameter rewardedVideoAd: An FBRewardedVideoAd object sending the message.
*/
-- (void)rewardedVideoAdServerSuccess:(FBRewardedVideoAd *)rewardedVideoAd;
+- (void)rewardedVideoAdServerRewardDidSucceed:(FBRewardedVideoAd *)rewardedVideoAd;
/**
Sent if server call to publisher's reward endpoint did not return HTTP status code 200
@@ -191,7 +191,7 @@ FB_CLASS_EXPORT FB_SUBCLASSING_RESTRICTED
- Parameter rewardedVideoAd: An FBRewardedVideoAd object sending the message.
*/
-- (void)rewardedVideoAdServerFailed:(FBRewardedVideoAd *)rewardedVideoAd;
+- (void)rewardedVideoAdServerRewardDidFail:(FBRewardedVideoAd *)rewardedVideoAd;
@end
diff --git a/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Info.plist b/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Info.plist
index 15de85f04d..bad581fe3a 100644
--- a/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Info.plist
+++ b/iphone/Maps/3party/MoPubSDK/AdNetworkSupport/Facebook/SDK/FBAudienceNetwork.framework/Info.plist
Binary files differ
diff --git a/iphone/Maps/Core/Ads/Facebook/FacebookBanner.swift b/iphone/Maps/Core/Ads/Facebook/FacebookBanner.swift
index 7434336f66..446be3246e 100644
--- a/iphone/Maps/Core/Ads/Facebook/FacebookBanner.swift
+++ b/iphone/Maps/Core/Ads/Facebook/FacebookBanner.swift
@@ -1,7 +1,7 @@
import FBAudienceNetwork
// MARK: FacebookBanner
-final class FacebookBanner: FBNativeAd, Banner {
+final class FacebookBanner: NSObject, Banner {
private enum Limits {
static let minTimeOnScreen: TimeInterval = 3
static let minTimeSinceLastRequest: TimeInterval = 5
@@ -11,17 +11,20 @@ final class FacebookBanner: FBNativeAd, Banner {
fileprivate var failure: Banner.Failure!
fileprivate var click: Banner.Click!
+ let nativeAd: FBNativeAd
+
func reload(success: @escaping Banner.Success, failure: @escaping Banner.Failure, click: @escaping Click) {
+ FBAdSettings.clearTestDevices()
self.success = success
self.failure = failure
self.click = click
- load()
+ nativeAd.load()
requestDate = Date()
}
func unregister() {
- unregisterView()
+ nativeAd.unregisterView()
}
var isPossibleToReload: Bool {
@@ -34,7 +37,7 @@ final class FacebookBanner: FBNativeAd, Banner {
private(set) var isNeedToRetain: Bool = true
var type: BannerType { return .facebook(bannerID) }
var mwmType: MWMBannerType { return type.mwmType }
- var bannerID: String! { return placementID }
+ var bannerID: String! { return nativeAd.placementID }
var isBannerOnScreen = false {
didSet {
if isBannerOnScreen {
@@ -84,9 +87,10 @@ final class FacebookBanner: FBNativeAd, Banner {
}
init(bannerID: String) {
- super.init(placementID: bannerID)
- mediaCachePolicy = .all
- delegate = self
+ nativeAd = FBNativeAd(placementID: bannerID)
+ nativeAd.mediaCachePolicy = .all
+ super.init()
+ nativeAd.delegate = self
let center = NotificationCenter.default
center.addObserver(self,
selector: #selector(enterForeground),
@@ -119,12 +123,12 @@ final class FacebookBanner: FBNativeAd, Banner {
extension FacebookBanner: FBNativeAdDelegate {
func nativeAdDidLoad(_ nativeAd: FBNativeAd) {
- guard nativeAd === self else { return }
+ guard nativeAd === self.nativeAd else { return }
success(self)
}
func nativeAd(_ nativeAd: FBNativeAd, didFailWithError error: Error) {
- guard nativeAd === self else { return }
+ guard nativeAd === self.nativeAd else { return }
// https://developers.facebook.com/docs/audience-network/testing
var params: [String: Any] = [kStatBanner : nativeAd.placementID, kStatProvider : kStatFacebook]
@@ -142,7 +146,7 @@ extension FacebookBanner: FBNativeAdDelegate {
}
func nativeAdDidClick(_ nativeAd: FBNativeAd) {
- guard nativeAd === self else { return }
+ guard nativeAd === self.nativeAd else { return }
click(self)
}
}
diff --git a/iphone/Maps/UI/Ads/AdBanner.swift b/iphone/Maps/UI/Ads/AdBanner.swift
index 4f730da2be..48da058531 100644
--- a/iphone/Maps/UI/Ads/AdBanner.swift
+++ b/iphone/Maps/UI/Ads/AdBanner.swift
@@ -57,9 +57,6 @@ final class AdBanner: UITableViewCell {
adTitleLabel.numberOfLines = config.numberOfTitleLines
adBodyLabel.numberOfLines = config.numberOfBodyLines
detailedModeConstraints.forEach { $0.priority = config.priority }
- if state == .search {
- adCallToActionButtonCompactLeading.priority = UILayoutPriorityDefaultHigh
- }
setNeedsLayout()
UIView.animate(withDuration: kDefaultAnimationDuration) { self.layoutIfNeeded() }
refreshBannerIfNeeded()
@@ -103,7 +100,7 @@ final class AdBanner: UITableViewCell {
case .none:
assert(false)
case .facebook:
- configFBBanner(ad: ad as! FBNativeAd)
+ configFBBanner(ad: (ad as! FacebookBanner).nativeAd)
case .rb:
configRBBanner(ad: ad as! MTRGNativeAd)
case .mopub:
@@ -136,7 +133,7 @@ final class AdBanner: UITableViewCell {
private func configFBBanner(ad: FBNativeAd) {
let adCallToActionButtons: [UIView]
if (state == .search) {
- adCallToActionButtons = [self]
+ adCallToActionButtons = [self, adCallToActionButtonCompact]
} else {
adCallToActionButtons = [adCallToActionButtonCompact, adCallToActionButtonDetailed]
}
@@ -189,7 +186,7 @@ final class AdBanner: UITableViewCell {
let adCallToActionButtons: [UIButton]
if state == .search {
adCallToActionButtonCustom.isHidden = false
- adCallToActionButtons = [adCallToActionButtonCustom]
+ adCallToActionButtons = [adCallToActionButtonCustom, adCallToActionButtonCompact]
} else {
adCallToActionButtons = [adCallToActionButtonCompact, adCallToActionButtonDetailed]
adCallToActionButtons.forEach { $0.setTitle(ad.ctaText, for: .normal) }