Skip to content

Commit

Permalink
Upgraded to Vungle SDK 6.11.0
Browse files Browse the repository at this point in the history
  • Loading branch information
johnmaivungle committed May 2, 2022
1 parent 8b5a393 commit 42f53a3
Show file tree
Hide file tree
Showing 38 changed files with 901 additions and 217 deletions.
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
### Changelog

## VERSION 6.11.0 (May 2, 2022)
* Added support for Native Ads format for non-HB placements (closed beta)
* Support for custom App Store product pages
* COPPA API support (advanced setting)
* Support of deep-linking URLs into other apps
* In-app bidding enhancements
* Caching improvements for HB placements
* Fixed an issue to prevent HB banners from auto refreshing in mediated scenarios
* Removed the unused VungleSDKNativeAds public header

## VERSION 6.10.6 (January 31, 2022)
* Addressed a race condition that prevented SDK from bidding with valid tokens for banner ads.
* Updated SDK prevents playability callbacks from firing with nil admarkups.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ https://support.vungle.com/hc/en-us/articles/360002925791
Vungle SDK for iOS
=======================

**Version 6.10.6**
**Version 6.11.0**

Welcome to the Vungle SDK which has been battle-tested to unlock amazing monetization opportunities for you. The Vungle SDK enables the very best creatives in mobile advertising.

Expand Down
8 changes: 4 additions & 4 deletions Sample/Vungle Sample App.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
/* Begin PBXBuildFile section */
90113F122492C80D00805B8C /* BannerTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 90113F112492C80D00805B8C /* BannerTableViewCell.m */; };
90113F152492C81900805B8C /* MRECTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 90113F142492C81900805B8C /* MRECTableViewCell.m */; };
902C0ECA2739E5D600612FD9 /* VungleSDK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 902C0EC92739E5D600612FD9 /* VungleSDK.xcframework */; };
903A22C4243BF10F00365E15 /* MultiAdViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 903A22C3243BF10F00365E15 /* MultiAdViewController.m */; };
9096D5D4282059B500AC6F1E /* VungleSDK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9096D5D3282059B500AC6F1E /* VungleSDK.xcframework */; };
DE8F42381BBB0BC9009EC672 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DE8F42371BBB0BC9009EC672 /* LaunchScreen.storyboard */; };
E319A21B230CE6D200EE8EC8 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E319A219230CE6D200EE8EC8 /* Main.storyboard */; };
F45D5FCF18E0F05300329123 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = F45D5FCD18E0F05300329123 /* InfoPlist.strings */; };
Expand All @@ -37,9 +37,9 @@
90113F112492C80D00805B8C /* BannerTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BannerTableViewCell.m; sourceTree = "<group>"; };
90113F132492C81900805B8C /* MRECTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MRECTableViewCell.h; sourceTree = "<group>"; };
90113F142492C81900805B8C /* MRECTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MRECTableViewCell.m; sourceTree = "<group>"; };
902C0EC92739E5D600612FD9 /* VungleSDK.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = VungleSDK.xcframework; path = ../VungleSDK.xcframework; sourceTree = "<group>"; };
903A22C2243BF10F00365E15 /* MultiAdViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MultiAdViewController.h; sourceTree = "<group>"; };
903A22C3243BF10F00365E15 /* MultiAdViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MultiAdViewController.m; sourceTree = "<group>"; };
9096D5D3282059B500AC6F1E /* VungleSDK.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = VungleSDK.xcframework; sourceTree = "<group>"; };
DE8F42351BBB09C7009EC672 /* LICENSE.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; name = LICENSE.md; path = ../LICENSE.md; sourceTree = "<group>"; };
DE8F42371BBB0BC9009EC672 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
DEFCFF601BA34127006414B2 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = "<group>"; };
Expand All @@ -66,7 +66,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
902C0ECA2739E5D600612FD9 /* VungleSDK.xcframework in Frameworks */,
9096D5D4282059B500AC6F1E /* VungleSDK.xcframework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -104,7 +104,7 @@
F45D5FC318E0F05300329123 /* Frameworks */ = {
isa = PBXGroup;
children = (
902C0EC92739E5D600612FD9 /* VungleSDK.xcframework */,
9096D5D3282059B500AC6F1E /* VungleSDK.xcframework */,
);
name = Frameworks;
sourceTree = "<group>";
Expand Down
15 changes: 8 additions & 7 deletions Sample/VungleSDK.xcframework/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -6,31 +6,32 @@
<array>
<dict>
<key>LibraryIdentifier</key>
<string>ios-i386_x86_64-simulator</string>
<string>ios-arm64_armv7</string>
<key>LibraryPath</key>
<string>VungleSDK.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>i386</string>
<string>x86_64</string>
<string>arm64</string>
<string>armv7</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64_armv7</string>
<string>ios-arm64_i386_x86_64-simulator</string>
<key>LibraryPath</key>
<string>VungleSDK.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>armv7</string>
<string>i386</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
</array>
<key>CFBundlePackageType</key>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
//
// VungleMediaView.h
// Vungle iOS SDK
//
// Copyright © 2021 Vungle Inc. All rights reserved.
//

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

/**
* The VungleMediaView loads media content from a given VNGNativeAd.
* This view takes the place of manually loading a cover image.
*/
@interface VungleMediaView : UIView

/**
* Method that load an image from a local path.
* @param path A local path of the image.
*/
- (BOOL)loadImageFromLocalPath:(NSString *)path;

/**
* Method that load an image from a remote URL.
* @param urlPath A remote path of the image.
*/
- (BOOL)loadImageFromRemoteURL:(NSString *)urlPath;

/**
* Method that cleans up the currently displayed image.
*/
- (void)cleanupImage;

@end

NS_ASSUME_NONNULL_END
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
//
// VungleNativeAd.h
// Vungle iOS SDK
//
// Copyright (c) 2013-Present Vungle Inc. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@protocol VungleNativeAdDelegate;
@class VungleMediaView;

typedef NS_ENUM (NSInteger, NativeAdOptionsPosition) {
NativeAdOptionsPositionTopLeft = 1,
NativeAdOptionsPositionTopRight,
NativeAdOptionsPositionBottomLeft,
NativeAdOptionsPositionBottomRight,
};

@interface VungleNativeAd : NSObject

/**
* The delegate to receive Native Ad callbacks (VungleNativeAdDelegate).
*/
@property (nonatomic, weak, nullable) id<VungleNativeAdDelegate> delegate;

/**
* The application name that the ad advertises.
*/
@property (nonatomic, copy, readonly) NSString *title;

/**
* The description of the application that the ad advertises.
*/
@property (nonatomic, copy, readonly) NSString *bodyText;

/**
* The call to action phrase of the ad.
*/
@property (nonatomic, copy, readonly) NSString *callToAction;

/**
* The rating for the application that the ad advertises.
*/
@property (nonatomic, assign, readonly) double adStarRating;

/**
* The sponsored text, normally "sponsored by".
*/
@property (nonatomic, copy, readonly) NSString *sponsoredText;

/**
* The app icon image of the ad.
*/
@property (nonatomic, strong, readonly, nullable) UIImage *iconImage;

/**
* The position for the ad choices icon. Default is TOP_RIGHT.
*/
@property (nonatomic, assign) NativeAdOptionsPosition adOptionsPosition;

/**
* Initialize a VungleNativeAd with the specified placement id.
* @param placementID the ID of the placement used to present the native ad
*/
- (instancetype)initWithPlacementID:(nonnull NSString *)placementID;

/**
* Prepare a native ad for the specified placement.
*/
- (void)loadAd;

/**
* Pass UIViews and UIViewController to prepare and display a Native ad.
* @param view a container view in which a native ad will be displayed. This view will be clickable.
* @param mediaView a VungleMediaView to display the ad's image or video
* @param iconImageView a UIImageView to display the app icon
* @param viewController a UIViewController to present SKStoreProductViewController
*/
- (void)registerViewForInteraction:(nonnull UIView *)view
mediaView:(nonnull VungleMediaView *)mediaView
iconImageView:(nullable UIImageView *)iconImageView
viewController:(nullable UIViewController *)viewController;

/**
* Pass UIViews and UIViewController to prepare and display a Native ad.
* Also, specify clickable area.
* @param view a container view in which a native ad will be displayed
* @param mediaView a VungleMediaView to display the ad's image or video
* @param iconImageView a UIImageView to display the app icon
* @param viewController a UIViewController to present SKStoreProductViewController
* @param clickableViews an array of UIViews that you would like to set clickable.
* If nil or empty, the view will be clickable.
*/
- (void)registerViewForInteraction:(nonnull UIView *)view
mediaView:(nonnull VungleMediaView *)mediaView
iconImageView:(nullable UIImageView *)iconImageView
viewController:(nullable UIViewController *)viewController
clickableViews:(nullable NSArray<UIView *> *)clickableViews;

/**
* Dismiss the currently displaying Native ad.
*/
- (void)unregisterView;

@end

@protocol VungleNativeAdDelegate <NSObject>
@optional

/**
* If implemented, this method will be called when the SDK loads a native ad successfully.
* @param nativeAd The VungleNativeAd object sending the message.
*/
- (void)nativeAdDidLoad:(VungleNativeAd *)nativeAd;

/**
* If implemented, this method will be called when the SDK fails to load a native ad.
* @param nativeAd The VungleNativeAd object sending the message.
* @param error An NSError object containing details of the error.
*/
- (void)nativeAd:(VungleNativeAd *)nativeAd didFailWithError:(NSError *)error;

/**
* If implemented, this method will be called when the SDK fails to present a native ad.
* @param nativeAd The VungleNativeAd object sending the message.
* @param error An NSError object containing details of the error.
*/
- (void)nativeAd:(VungleNativeAd *)nativeAd didFailToPlayWithError:(NSError *)error;

/**
* If implemented, this method will be called when a native ad is displayed successfully.
* @note Please use this callback to track an impression.
* @param nativeAd The VungleNativeAd object sending the message.
*/
- (void)nativeAdDidTrackImpression:(VungleNativeAd *)nativeAd;

/**
* If implemented, this method will be called when a user clicks the native ad.
* @param nativeAd The VungleNativeAd object sending the message.
*/
- (void)nativeAdDidClick:(VungleNativeAd *)nativeAd;

@end

NS_ASSUME_NONNULL_END
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//
// VungleSDK.h
// Vungle iOS SDK
// SDK Version: 6.10.6
// SDK Version: 6.11.0
//
// Copyright (c) 2013-Present Vungle Inc. All rights reserved.
//
Expand Down Expand Up @@ -80,6 +80,12 @@ typedef enum {
VungleSDKErrorUnknownBannerSize,
VungleSDKResetPlacementForDifferentAdSize,
VungleSDKErrorSDKAlreadyInitializing,
VungleSDKErrorInvalidAdTypeForNativeAdExperience,
VungleSDKErrorMissingAdMarkupForPlacement,
VungleSDKErrorInvalidAdMarkupForPlacement,
VungleSDKErrorIllegalAdRequest,
VungleSDKErrorSetNativeAdLoadCompletionBlock,
VungleSDKErrorNativeAdLoad,
} VungleSDKErrorCode;

typedef NS_ENUM (NSInteger, VungleConsentStatus) {
Expand Down Expand Up @@ -435,6 +441,15 @@ typedef NS_ENUM (NSInteger, VungleAdSize) {
*/
- (void)disableBannerRefresh;

/**
* This method can be used to provide a user's COPPA status to the Vungle SDK.
* This method should be called before initialization.
* @param status the bool flag to be set for the user's COPPA status.
* status: YES if the user should be treated as 'under 13' and under COPPA regulations.
* status: NO if the user is known to be over the age of 13 and does NOT fall under COPPA regulations.
*/
- (void)updateCOPPAStatus:(BOOL)status;

@end

NS_ASSUME_NONNULL_END
Original file line number Diff line number Diff line change
Expand Up @@ -116,14 +116,22 @@ NS_ASSUME_NONNULL_BEGIN
* will return nil if it is unable to find an available token.
*
*/
- (NSString *)currentSuperToken;
- (NSString *)currentSuperToken __attribute__((deprecated("Use currentSuperTokenForPlacementID:placementID:size: instead.")));

/**
* This is a synchronous method to fetch super token. This method
* will return nil if it is unable to find an available token.
* @param size Size limit of the supertoken needs to be returned
*/
- (NSString *)currentSuperTokenForSize:(NSInteger)size;
- (NSString *)currentSuperTokenForSize:(NSInteger)size __attribute__((deprecated("Use currentSuperTokenForPlacementID:placementID:size: instead.")));

/**
* This is a synchronous method to request super token includes bidTokens
* for specified Placement with size limitation.
* @param placementID the specific ID of the placement. Setting `nil` includes all bidTokens for available Placements.
* @param size size limit applied for the supertoken returned. 0 or negative value sets no size limit.
*/
- (NSString *)currentSuperTokenForPlacementID:(nullable NSString *)placementID forSize:(NSInteger)size;

@end

Expand Down

This file was deleted.

Loading

0 comments on commit 42f53a3

Please sign in to comment.