404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx

1、概述

1.1 面向读者

本产品主要面向需要在iOS产品中接入玉米移动广告Unity3D SDK的开发人员。

1.2 开发环境

Xcode 7.0 或更高版本

部署目标为 iOS 8.0 或更高版本

2、SDK下载

2.1三方SDK 选择

2.2玉米SDK下载

请下载玉米SDK并将其添加到您的工程中。

DownLoad SDK v2.0.5

2.3三方SDK下载

请下载三方SDK,并根据各三方平台说明将其添加到您的工程中。

3、导入YumiMediationPlugins.unitypackage

1.双击 YumiMediationPlugins.unitypackage 将所有文件导入 Unity 工程

2.Add Component

关联 YumiMediationSDKEventListener.cs 及 YumiMediationSDKManager.cs 到您需要使用的scene中。

3.导出Xcode工程

4、开发环境配置

4.1 App Transport Security

WWDC 15 提出的 ATS (App Transport Security) 是 Apple 在推进网络通讯安全的一个重要方式。在 iOS 9 及以上版本中,默认非 HTTPS 的网络访问是被禁止的。

因为大部分广告物料以 HTTP 形式提供,为提高广告填充率,请进行以下设置:

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

当 NSAllowsArbitraryLoads 和 NSAllowsArbitraryLoadsInWebContent 或 NSAllowsArbitraryLoadsForMedia 同时存在时,根据系统不同,表现的行为也会不一样。简单说,iOS 9 只看 NSAllowsArbitraryLoads,而 iOS 10 会优先看 InWebContent 和 ForMedia 的部分。在 iOS 10 中,要是后两者存在的话,在相关部分就会忽略掉 NSAllowsArbitraryLoads;如果不存在,则遵循 NSAllowsArbitraryLoads 的设定。

4.2 iOS 9 及以上系统相关权限

应用程序上传 App Store, 请在 info.plist 文件中添加以下权限。

 <-- 日历 -->
<key>NSCalendarsUsageDescription</key>
<string>App需要您的同意,才能访问日历</string>
<!-- 相册 -->
<key>NSPhotoLibraryUsageDescription</key>
<string>App需要您的同意,才能访问相册</string>

5、接入方式

1. CocoaPods (推荐)

CocoaPods 是 iOS 的依赖管理工具,使用它可以轻松管理 YumiMediationSDK。

打开您工程的 Podfile,选择下面其中一种方式添加到您应用的 target。

如果您是初次使用 CocoaPods,请查阅 CocoaPods Guides

1、如果您只需要 YumiMediationSDK

pod "YumiMediationSDK"

2、如果您需要聚合其他平台

pod "YumiMediationAdapters", :subspecs =>
['AdColony','AdMob','AppLovin','Baidu','Chartboost','Domob','Facebook','GDT','InMobi','IronSource','StartApp','Unity','Vungle','PlayableAds','Centrixlink','Mobvista']

接下来再命令行界面中运行:

$ pod install --repo-update

最终通过 workspace 打开工程。

2.手动集成三方SDK

1.三方 SDK 选择

2.三方 SDK 下载

3.添加 三方SDK 到您的工程

6、代码集成示例

6.1、广告形式

Banner

初始化

//banner展示位置
public enum YumiMediationBannerPosition{
        YumiMediationBannerPositionTop,
        YumiMediationBannerPositionBottom
    }
YumiMediationSDK_Unity.initYumiMediationBanner("Your PlacementID","Your channelID",
                                               "Your versionID",                                             YumiMediationSDK_Unity.YumiMediationBannerPosition.YumiMediationBannerPositionBottom);

请求横幅

YumiMediationSDK_Unity.loadAd(false);

设置 Banner尺寸

//目前我们支持三种尺寸
//在iPhone上默认为320*50,如无调整不需设置下列代码。
//在ipad上默认为728*90,如无调整不需设置下列代码。
//如果您有特殊需求,320*250为可选项,请在loadAd之前,执行下列代码。
self.yumiBanner.bannerSize = kYumiMediationAdViewBanner300x250;

移除Banner

YumiMediationSDK_Unity.removeBanner();

实现代理方法

void yumiMediationBannerViewDidLoadEvent()
{
    Debug.Log("YumiMediationSDKBanner,didLoaded");
}
void yumiMediationSDKDidFailToReceiveAdEvent(string error)
{
    Debug.Log("YumiMediationSDKBanner,didFailToReceiveAd");
}
void yumiMediationBannerViewDidClickEvent()
{
    Debug.Log("YumiMediationSDKBanner,didClickedAd");
}

自适应功能

 YumiMediationSDK_Unity.loadAd(false);

您在请求 banner 广告的同时可以设置是否开启自适应功能。

如果设置 isSmartBanner 为 YES ,YumiMediationBannerView 将会自动根据设备的尺寸进行适配。

  • 非自适应
  • 自适应

Interstitial

初始化及请求插屏

YumiMediationSDK_Unity.initYumiMediationInterstitial("Your PlacementID",
                                                     "Your channelID",
                                                     "Your versionID");

展示插屏

YumiMediationSDK_Unity.present();

实现代理方法

 void yumiMediationInterstitialDidReceiveAdEvent(){
    Debug.Log ("YumiMediationInterstital, DidReceiveAd");
}
void yumiMediationInterstitialDidFailToReceiveAdEvent(string error){
    Debug.Log ("YumiMediationInterstital, DidFailToReceiveAd");
}
void yumiMediationInterstitialWillDismissScreenEvent(){
    Debug.Log ("YumiMediationInterstital, WillDismissScreen");
}
void yumiMediationInterstitialDidClickEvent() {
    Debug.Log ("YumiMediationInterstital, DidClicked");
}

Rewarded Video

初始化及请求视频

YumiMediationSDK_Unity.loadYumiMediationVideo("Your PlacementID",
                                              "Your channelID",
                                              "Your versionID");

判断视频是否准备好

bool isplay = YumiMediationSDK_Unity.isVideoReady();

展示视频

YumiMediationSDK_Unity.playVideo();

实现代理方法

 void yumiMediationVideoDidOpenEvent(){
    Debug.Log ("YumiMediationVideo, DidOpen");
}
void yumiMediationVideoDidStartPlayingEvent(){
    Debug.Log ("YumiMediationVideo, DidStartPlaying");
}
void yumiMediationVideoDidCloseEvent(){
    Debug.Log ("YumiMediationVideo, DidClosed");
}
void yumiMediationVideoDidRewardEvent(){
    Debug.Log ("YumiMediationVideo, DidRewarded");
}

7、调试模式

如果您想调试平台key是否有广告返回,可选择调试模式。

7.1、调用调试模式

YumiMediationSDK_Unity.presentYumiMediationDebugCenter (" your banner placementID"," your interstitial placementID","your video placementID","your native placementID","your channelID","your versionID");

7.2、设置调试模式的banner尺寸

//目前我们支持三种尺寸
//在 iPhone 上默认为 320 * 50,如无调整不需设置下列代码。
//在 iPad 上默认为 728 * 90,如无调整不需设置下列代码。
//如果您有特殊需求,300 * 250 为可选项。请在 presentYumiMediationDebugCenter 之前,执行下列代码。
YumiMediationSDK_Unity.setBannerSizeInDebugCenter (YumiMediationSDK_Unity.YumiMediationAdViewBannerSize.kYumiMediationAdViewBanner300x250);

7.3、图示

选择平台类型

选择单一平台,灰色平台为已添加未配置

选择广告类型,调试单一平台

404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx