MadsSDKiOS-ObjectiveC 4.5.10

MadsSDKiOS-ObjectiveC 4.5.10

许可 自定义
发布最新发布2016年3月

MadsSDKiOS维护。



  • 作者:
  • MADS

使用方法

要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 pod install

需求

安装

MADSSDKiOS-ObjectiveC 通过 CocoaPods 提供。要安装它,只需在 Podfile 中添加以下行

pod "MADSSDKiOS-ObjectiveC"

重要提示:iOS 9 中的应用传输安全

请注意,应用传输安全已经阻止了明文 HTTP 资源加载数据,因为它不安全。向您的 Info.plist 中添加以下内容将禁用 ATS

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

设置 MADS 广告服务器

为了创建和显示横幅广告,您需要一次初始化 MADS 广告服务器。

作为一个实用的技巧,每次您在源文件中添加 Mads SDK 调用时,通过添加以下代码行将该源代码中的 MadsSDK 主头文件导入进去:

#import <MadsSDK/MadsSDK.h>

添加到 didFinishLaunchingWithOptions 和 applicationWillEnterForeGround 方法代码中

[MadsAdServer startWithLocationEnabled:YES withLocationPurpose:@”Your location purpose”];

或者

[MadsAdServer startWithLocationEnabled:YES withLocationPurpose:@”Your location purpose” withLocationUpdateTimeInterval:YOUR_PREFERRED_TIME_INTERVAL];

或者添加到 applicationWillTerminate 和 applicationWillEnterBackground 方法中

[MadsAdServer stop];

设置广告视图

现在 MADS SDK 已集成,我们将继续设置广告视图的过程。

创建 MadsAdView

MadsAdView *adView = [[MadsAdView alloc] initWithFrame:adFrame
zone:placementId
delegate:self];

文档

MADS Wiki

更改日志

v.4.5.8 2015年12月24日

  • 修复了浏览器没有从window.location.href打开时的问题
  • 增加了可见性跟踪
  • 性能更新

v.4.5.7 2015年11月13日

  • 修复了 mraid.getCurrentPosition() 方法返回不正确值的问题

v.4.5.6 2015年10月16日

  • 从 JS 代码中增加了打开内部浏览器中的 URL
  • 在不将其添加到superview的情况下加载 adView 的机会

v.4.5.5 2015年10月7日

  • 已修复:设备旋转或调用willEnterForeground:方法后,广告视图的frame.origin未设置为(0, 0)

v.4.5.4 2015年9月28日

  • 支持iOS 9。
  • 安全改进(不要忘记在应用的Info.plist中添加NSAppTransportSecurity键)
  • 已修复显示错误的尺寸的轮播图展开状态。

v.4.5.3 2015年9月8日

  • 优化了海报关闭后打开URL免自带区域时的自动关闭功能。
  • 当广告视图以CGRectZero为frame初始化时,已更新为弹性大小。

v.4.5.2 2015年8月26日

  • 在应用程序全面和具体广告视图中,为MadsAdWebView请求添加了忽略请求的机会。

v.4.5.1 2015年8月20日

  • 已修复ad消失后的updateTimeInterval方法。

v.4.5.0 2015年8月18日

  • 删除了请求中广告视图大小的可选参数。
  • SDK已针对与第三方网络进行介调进行修改。
  • 性能更新。
  • 当IDFA未发送时,更新请求构建器。
  • 更改方向后,已修复广告视图的大小。
  • 使用NSURLSession代替NSURLConnection。

v.4.4.12 2015年7月9日

  • 已修复在插屏模式下更新后广告消失时的更新函数。
  • 已修复在错误地删除frame观察者后未删除广告视图。
  • 当在advertisingTrackingEnabled属性为YES时,未发送idfa更新请求构建器。

v.4.4.11 2015年5月27日

  • 已修复在HTML内联模式中显示广告时广告显示在窗口外的isViewable函数。
  • 已修复在内联模式中广告横幅显示时的错误高度。
  • 已修复删除视图后未删除观察者的广告视图。
  • 性能更新。

v.4.4.10 2015年5月6日

  • 已修复在叠加区域中,如果用户点击横幅并应该关闭横幅,则隐藏状态栏仍然隐藏的问题。
  • 在叠加区域中添加“closeAfterOpenUrl”属性,用于控制用户点击后横幅的自动关闭。

v4.4.9, 2015年3月30日

  • 已修复在叠加和插屏区域中,如果用户单击音频动作区并关闭横幅,则音频继续播放的问题。
  • 内联模式:如果将广告宽度调整为屏幕宽度,则广告高度也应按比例调整(在MadsAdView中设置UIViewAutoresizingFlexibleWidth标志的情况下)。
  • 内联模式:在向WebView中加载HTML之前设置WebView的大小(修复可能的viewport问题)。

v4.4.8, 2015年2月16日

  • 在广告请求中的“model”键中,现在发送“hw.machine”值(例如iPhone6,1),而不是“hw.model”值(例如N51AP)。请参阅以下完整列表http://en.wikipedia.org/wiki/List_of_iOS_devices(“硬件字符串”行)。

v4.4.7, 2014年11月25日

  • MadsAdView初始化完成后,将adWebView添加到MadsAdView,并将adWebView添加到加载HTML后的完成块中。

v4.4.6, Nov 24 2014

  • 修复了内部浏览器的工具栏宽度问题

v4.4.5, Nov 21 2014

  • 当广告视图展开时,修复了旋转到180度的问题

v4.4.4, Nov 19 2014

  • 当调用MadsAdView时,如果区域ID为空,添加了NSAssert
  • 在iOS 8中修复了内联和覆盖广告未居中的问题
  • 在iOS 8中修复了横幅广告显示不正确的问题
  • 在iOS 8中修复了内部浏览器在横幅模式下显示不正确的问题
  • 移除了旧的lib OpenUDID(自iOS 7以来已弃用)以及所有对其的调用。

v4.4.3, Nov 13 2014

  • 添加了对iPhone 6+的支持(比例3)
  • 修复了屏幕尺寸/方向问题(自iOS 8以来UIScreen是面向接口的)
  • 修复了位置服务
  • 在iOS 8中添加了对地理定位的支持(请别忘了在您的应用Info.plist中添加NSLocationWhenInUseUsageDescription键)

v4.4.2, Sept 4 2014

  • 修复了在同一屏幕上更新多个广告的问题

v4.4.1, Sept 2 2014

  • 添加了广告跟踪限制
  • 修复了冗长的日志记录

v4.4.0, July 30 2014

  • 基本的稳定性提升
  • 切换到ARC、GCD和现代最佳实践
  • 更加轻量:清理并移除不必要的代码
  • 修复了与第三方库的潜在链接问题
  • 最新的iOS支持
  • 示例应用更新

v4.3.10, May 20 2014

IDFA使用优化

v4.3.9, April 29 2014

性能提升

v4.3.8, April 18 2014

  • 增加了64位支持
  • 修复了GPS检测
  • 移除了AdGoji
  • 提高性能

v4.3.7, October 22th 2013

  • 修复了一个使用internalBrowser时阻止所需时打开外部浏览器的问题

v4.3.6, October 16th 2013

  • 修复了iOS7旋转时WebView比例错误的问题

v4.3.5, October 16th 2013

  • 正确处理iOS 6的横幅案例

v4.3.4, October 16th 2013

  • 正确处理横幅案例:iOS7内部的浏览器工具栏现在保持在屏幕底部

v4.3.3, October 15th 2013

  • 修复了几个稳定性问题
  • 内部的浏览器工具栏现在保持在iOS7屏幕底部

v4.3.2, 2013年9月24日

  • 性能改进

v4.3.1, 2013年9月11日

  • 支持iOS 7,使用iOS 7最终发布版编译

v4.3.0, 2013年9月10日

  • 支持iOS 7

v4.2.9, 2013年8月8日

  • 确保我们在主线程中注册键值观察者,以防止未来移除观察者时可能存在的问题

v4.2.8, 2013年7月1日

  • 确保我们在主线程中注册键值观察者,以防止未来移除观察者时可能存在的问题

v4.2.7, 2013年6月28日

  • 修复了自定义广告请求中设置经纬度无效的问题

v4.2.6, 2013年6月21日

  • 增加对无效广告服务器响应的额外保护措施

v4.2.5, 2013年6月18日

  • 性能提升

v4.2.4, 2013年6月15日

  • 修复了iPad中展开广告有时未占据整个屏幕的问题

v4.2.3, 2013年6月5日

  • 性能提升

v4.2.2, 2013年5月30日

  • 性能提升

v4.2.1, 2013年5月29日

  • 通过添加额外的逻辑提高性能,防止加速度计频繁触发
  • 添加JS追加:windows.open = maid.open,确保两种情况下使用相同的方法

v4.2.0, 2013年5月26日

  • 确保MadsAdView委托调用在主线程中执行,以便及时发出信号
  • 添加代码以确保在广告内容加载失败时SDK仍然可以正常工作

v4.1.9, 2013年5月26日

  • 多项性能改进

v4.1.8, 2013年5月6日

  • 修复了由于忘记调用super导致的点Inside方法而广告浮层上的关闭按钮无法触发的小型回归问题

v4.1.7, 2013年5月3日

  • 多项稳定性改进

v4.1.6, 2013年4月19日

  • 在复杂的广告视图中实现点击检测的大量速度提升

v4.1.5, 2013年4月11日

  • 确保当广告再次更新时,广告视图采用广告服务器返回的大小

v4.1.4, 2013年4月4日

  • 修复了未正确删除的可能导致应用程序崩溃的键值观察者问题

v4.1.3, 2013年3月25日

  • 修复用户代理问题
  • 修复了导致扩展广告无法根据orientationProperties旋转的bug
  • 将广告商ID和供应商ID字段重命名为idea和idfv
  • 将代码中的assert替换为NSAssert,允许开发者确保在SDK中assert失败不会导致发布版本的应用程序崩溃(确保在预编译器标志中设置了NS_BLOCK_ASSERTIONS标志)

v4.1.2, 2013年3月11日

  • 添加了对MRAid 2集和setOrientationProperties的支持,以及现有的来自MRaid 1的lockScreen方法。

v4.1.1, 2013年3月5日

  • 我们在Mads Ad服务器初始化调用中添加了新的withLocationPurpose参数,允许您自定义弹出CLocationManager警报,如果请求访问用户的地理位置

v4.1.0, 2013年2月20日

  • 请注意:MadsSDK要求从本版本开始,MadsAdServer需要通过新的调用进行初始化。[MadsAdServer start]方法已替换为新调用[MadsAdServer startWithLocationEnabled:(BOOL) enableLocation withAppTargetingEnabled:(BOOL) enableApptargeting];
  • 请注意,如果您没有按照文档中解释的调用此初始化,则应用程序将无法运行
  • 修复了Mraid 2兼容性的某些小问题

v4.0.6, 2013年2月11日

  • 添加了新的AdView代理回调方法,以跟踪MRaid调整大小进度
  • 修复了与MRaid调整大小相关的几个旋转问题
  • 修复了调整大小后的广告无法返回其正常大小的问题,因为调整大小按钮区域无响应

v4.0.5, 2013年2月9日

  • 恢复MRAID 1方法用于日历事件和电话。SDK现在与maid 1完全兼容

v4.0.4, 2013年2月8日

  • 恢复外部JSON库作为预iOS 5设备无法使用内置苹果JSON类

v4.0.3, 2013年2月7日

  • 缩放和扩展在关闭时现在都可以正确恢复到默认状态
  • 如果在扩展期间设置useCustomClose,则SDK将不会显示关闭按钮,而是在创意右上角有一个不可见的、透明的50x50的关闭区域

v4.0.2, 2013年2月5日

  • 允许maid调整大小调用多次
  • 修复getPlacementType bug
  • 允许在maid.resize之后调用mraid.expand
  • 当mraid.resize或maid.expand关闭时返回默认状态
  • 如果maid.storePicture有一个无效的URL,或者URL指向一个非图像,则优雅地退出而不会导致应用程序崩溃或SDK崩溃

v4.0.1, 2013年2月1日

  • 允许maid调整大小调用多次
  • gePlacementType 现在返回内联或覆盖
  • 简化视口参数以符合当前的 MRAID 标准
  • 如果广告已展开,并且在关闭展开之前设备已旋转,广告视图将在展开关闭后根据设备方向正确调整大小
  • 展开 URL 完全移除状态栏
  • 如果开发者设置了自动调整大小,广告视图现在尝试正确地(即使在旋转之后)声明设备宽度

v4.0.0, 2013年1月9日

  • 主要升级,SDK 现在完全兼容 MRaid 2.0!
  • 新功能包括
  • 调整大小,存储图片,日历,视频等等

v3.1.6, 2012年12月5日

  • 将外部 JSON 库替换为内部的 NSJSONSerialization 类
  • 向动画块动画中添加了 UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionAllowAnimatedContent 动画,这将提高性能,这些动画负责在 MadsAdView 中动画显示广告

v3.1.5, 2012年11月28日

  • 将版本号移动到公共头文件 "MadsAdServer.h" 中

v3.1.4, 2012年11月27日

  • 添加了 2 个新的 MadsAdView 代理回调,willExpandAdFullScreen 和 didCloseExpandAdFullscreen
  • 添加了 2 个新的 MadsAdView 代理回调,adWillOpenVideoFullScreen 和 adDidCloseVideoFullScreen
  • 添加了 2 个新的 MadsAdView 代理回调,adWillOpenMessagUIFullScreen 和 adDidCloseMessageUIFullScreen

v3.1.3, 2012年11月22日

  • 添加了对不同语言的日历事件的支持(例如,西里尔文等)
  • 向 MadsAdView 添加了一个新属性,允许开发者在用户点击横幅后选择稍微不同方式打开广告展开和内部浏览器。不再由父视图控制器处理该事件,而 SDK 现在允许您让应用根视图控制器处理该事件。如果您的外观部分阻塞了展开或内部浏览器,则非常有用。如果需要,请使用。

v3.1.2, 2012年11月19日

  • SDK 现在支持 iOS 6 中的日历事件。SDK 将要求 iOS 6 用户权限以访问其日历。
  • 日历事件现在在正确的用户时区内创建
  • 增加了用于覆盖广告的关闭按钮大小,适用于视网膜和非视网膜显示

v3.1.1, 2012年11月15日

  • 在可展开广告中打开 SMS 界面然后关闭时隐藏状态栏

v3.1.0, 2012年11月14日

  • 提高稳定性
  • 修复了在设备旋转后可能导致广告视图更新失败的错误
  • 改进了 iOS 6 支持

v3.0.22, 2012年10月15日

  • 添加新的 Apple 广告商 ID
  • 确保弱连接新的 AdSupport 框架

v3.0.21, 2012年10月9日

  • 将 QSUtilities 类重命名为防止链接冲突

v3.0.20, 2012年9月26日

  • 修复了广告从展开状态返回时有时会定位到错误位置的问题

3.0.19,2012年9月25日

  • 在更新广告时重用原始框架大小,同时自动处理设备方向变化
  • 修复了一个在特定场景下的bug,用户安装一个应用程序,打开它,看到插页式广告并点击时,浏览器会立即关闭。

3.0.18,2012年9月24日

  • 将SDK升级到支持iOS 6.0和Xcode环境到4.5
  • 请注意1:在Xcode 4.5中,不再支持armv6架构
  • 请注意2:Xcode 4.5和Mads SDK v.3.0.18及以上现在支持的最低iOS版本为iOS 4.3
  • 将开发者指南添加到SDK发行版本中

3.0.17,2012年9月20日

  • 更新版本号
  • 修复了用户点击覆盖层(打开内部浏览器)并立即尝试关闭覆盖式广告时导致的崩溃问题,第2部分
  • 提高稳定性

3.0.16,2012年9月18日

  • 更新版本号
  • 修复了用户点击覆盖层(打开内部浏览器)并立即尝试关闭覆盖式广告时导致的崩溃问题
  • 修复了iPad插页式广告(包括非Retina和Retina屏幕)
  • 提高稳定性

3.0.15,2012年8月15日

  • 更新版本号
  • 修复了iPad和iPhone上Retina横幅的显示问题
  • 覆盖层现在定位正确
  • 提高稳定性

3.0.14,2012年7月12日

  • 更新了MadsAdView文档和头文件,并在其中添加了警告:如果你在创建视图时保留MadsAdView,则在dealloc中释放MadsAdView。

3.0.13,2012年7月12日

  • 修复:在展开状态下旋转设备时,内部浏览器在横屏模式下框架不正确。

3.0.12,2012年7月11日

  • 展开中的自定义关闭按钮有时放置在视线之外

3.0.11,2012年7月10日

  • 修复了几与处理设备旋转不正确的相关的问题

3.0.10,2012年6月15日

  • 当update被调用时,MadsAdView会调整大小到默认框架(它创建时的框架)。

3.0.9,2012年5月31日

  • 设置将广告大小设置为服务器大小的能力为YES。如果你想固定大小,请使用adview的minSize/maxSize属性来改变这种行为

3.0.8,2012年5月31日

  • 在UIScrollView中,有时候AdView的展开会失败。通过选择正确的rootViewController来通过presentModalViewController调用处理展开,修复了这个问题

v3.0.7,2012年5月31日

  • 重命名方法以避免链接时名称空间冲突

v3.0.6,2012年5月25日

  • 针对广告请求参数进行的小范围修复

v3.0.5,2012年5月23日

  • 修复了释放MadsAdView可能导致的崩溃问题,前提是广告更新器没有正确清理

v3.0.2,2012年5月21日

  • 修复了当内部浏览器在点击已展开状态的广告时无法正确打开的问题
  • 修复了由于一些小用户代理问题导致某些广告图片无法正确加载的问题

v3.0.2,2012年5月15日

  • 修复了在重新启动应用(如从iTunes返回)时,内部浏览器和safari会被意外重新打开的并发问题
  • 向MadsAdView添加了stopLoading方法以取消所有广告更新请求
  • 当广告服务器返回MADSNOAD时,SDK会通过didFailToReceiveAd正确通知广告视图的代理人
  • 修复了公共MadsAdView方法中的一个令人烦恼的错误拼写

v3.0.1,2012年5月14日

  • 修复用户代理问题
  • 现在从主线程调用didReceiveAd回调
  • 添加了小的代码示例和关于叠加广告的解释
  • 移除EventKitUI,并使用EventKit结合UIAlertView使用
  • 如果可能,始终首先打开内部浏览器,除非开发人员特别要求打开外部浏览器
  • 将一些内部文件重命名以避免链接冲突
  • 当横幅触发电话调用时,会询问用户是否允许拨打电话

v3.0.0 五月一日 2012

  • 首次发布Mads MRAID SDK

作者

MADS,[email protected]

许可证

MADSSDKiOS-ObjectiveC可在MIT许可证下使用。有关更多信息,请参阅LICENSE文件。