adPOPcorn DA
adPOPcorn DA (图片广告,展示广告) 是为开发者带来收益的工具。广告形式包括广告条,弹窗,全屏广告,结束画面广告和原生广告。
Mediation 功能无中间手续费,为开发者提供最大的收益。
请通过以下链接了解服务详情。
注意事项
- 集成 adPOPcorn add-on 之前,必须先完成 IGAW 共同集成。[IGAW 共同集成 : Unity iOS]
- 为了集成 adPOPcorn,须将 IgaworksUnityPlugin_iOS~*.unitypackage 文件包含在 Xcode Project 内。[SDK 安装 : Unity]
广告条
广告条是 DA 广告最基本的广告形式,在应用的下端或上端显示条形的广告。
Instance 生成
为了曝光广告条需调用 DAInitWithBannerViewSize API,生成 Instance。各个 Parameter 说明和示例如下。
- size : 广告条视图尺寸
- origin : 广告条视图位置
- appKey : 发放的 IGAW AppKey
- spotKey : adPOPcorn DA 管理页面中生成的广告条 SpotKey
public class IgawDASampleScene : MonoBehaviour{
private string BANNER_SPOTKEY = "bannerspotkey";
void Start(){
AdPopcornDAPluginIOS.DAInitWithBannerViewSize(AdPopcornDAPluginIOS.DABannerViewSize320x50, 0.0f, 568.0f - 50.0f, “发放的 AppKey”, "BANNER_SPOTKEY");
}
}
广告条尺寸
adPOPcorn DA 广告条只提供 iPhone, iPod Touch 的尺寸 (W:320, H:50),使用 DABannerViewSize320x50 定义的常数即可。
控制广告
控制广告条时点上,调用 API,可以控制广告。
// 终止广告条
AdPopcornDAPluginIOS.DACloseBannerView();
Mediation 转换周期
通过 DABannerViewSetAdRefreshRate API,使用 Mediation 功能时,请设置从各个 Network 接收广告的转换周期。设置在 30秒~120秒之间。
如未设置时,维持基本值 (30秒)。
AdPopcornDAPluginIOS.DABannerViewSetAdRefreshRate(37);
Delegate
对广告条中发送的 Event 提供 Delegate。提供的 Delegate 实现和示例如下。
- daBannerViewDidLoadAd : 广告条下载成功
- daBannerViewdidFailToReceiveAdWithError : 广告条下载失败 (传达的错误代码请参考文件最后部分)
- daBannerViewWillLeaveApplication : 点击广告条
public class MySampleScene : MonoBehaviour {
// Use this for initialization
void Start () {
AdPopcornDAPluginIOS.AdPopcornDASetCallbackHandler("MySampleScene");
// 登录 Delegate Handler
AdPopcornDAPluginIOS.DABannerViewSetDelegate();
// 登录 Delegate
AdPopcornDAPluginIOS.daBannerViewDidLoadAd += HandleDABannerViewDidLoadAd;
AdPopcornDAPluginIOS.daBannerViewDidFailToReceiveAdWithError += HandleDABannerViewDidFailToReceiveAdWithError;
AdPopcornDAPluginIOS.daBannerViewWillLeaveApplication += HandleDABannerViewWillLeaveApplication;
}
// 实现 Delegate
public void HandleDABannerViewDidLoadAd()
{
Debug.Log ("IgaworksADSample HandleDABannerViewDidLoadAd");
}
public void HandleDABannerViewDidFailToReceiveAdWithError(string error)
{
Debug.Log ("IgaworksADSample HandleDABannerViewDidFailToReceiveAdWithError : " + error);
}
public void HandleDABannerViewWillLeaveApplication()
{
Debug.Log ("IgaworksADSample HandleDABannerViewWillLeaveApplication");
}
}
全屏广告
全屏广告是显示在整个画面的广告形式。请参考以下内容集成全屏广告。
Instance 生成
为了曝光全屏广告,生成 Instance。
public class IgawDASampleScene : MonoBehaviour{
private string INTERSTITIAL_SPOTKEY = "interstitialspotkey";
void Start(){
AdPopcornDAPluginIOS.DAInterstitialAdInitWithKey(“发放的 AppKey”, "INTERSTITIAL_SPOTKEY");
}
}
+ 全屏广告 SpotKey : adPOPcorn DA 管理页面中生成的全屏广告 SpotKey
显示广告
调用 DAInterstitialAdPresentFromViewController API,曝光全屏广告。
AdPopcornDAPluginIOS.DAInterstitialAdPresentFromViewController();
Delegate
对全屏广告中发生的 Event 提供 Delegate。提供的 Delegate 实现及示例如下。
- daInterstitialAdDidLoad : 全屏广告加载成功
- daInterstitialAdDidFailToReceiveAdWithError : 全屏广告加载失败 (传达的错误代码请参考文件最后部分)
- daInterstitialAdWillLeaveApplication : 点击全屏广告
- daInterstitialAdWillOpen : 在打开全屏广告之前调用
- daInterstitialAdDidOpen : 在打开全屏广告之后调用
- daInterstitialAdWillClose : 在关闭全屏广告之前调用
- daInterstitialAdDidClose : 在关闭全屏广告之后调用
public class MySampleScene : MonoBehaviour {
// Use this for initialization
void Start () {
AdPopcornDAPluginIOS.AdPopcornDASetCallbackHandler("MySampleScene");
// 登录 Delegate Handler
AdPopcornDAPluginIOS.DAInterstitialAdSetDelegate();
// 登录 Delegate
AdPopcornDAPluginIOS.daInterstitialAdDidLoad += HandleDAInterstitialAdDidLoad;
AdPopcornDAPluginIOS.daInterstitialAdDidFailToReceiveAdWithError += HandleDAInterstitialAdDidFailToReceiveAdWithError;
AdPopcornDAPluginIOS.daInterstitialAdWillLeaveApplication += HandleDAInterstitialAdWillLeaveApplication;
AdPopcornDAPluginIOS.daInterstitialAdWillOpen += HandleDAInterstitialAdWillOpen;
AdPopcornDAPluginIOS.daInterstitialAdDidOpen += HandleDAInterstitialAdDidOpen;
AdPopcornDAPluginIOS.daInterstitialAdWillClose += HandleDAInterstitialAdWillClose;
AdPopcornDAPluginIOS.daInterstitialAdDidClose += HandleDAInterstitialAdDidClose;
}
// 实现 Delegate
public void HandleDAInterstitialAdDidLoad()
{
Debug.Log ("IgaworksADSample HandleDAInterstitialAdDidLoad");
}
public void HandleDAInterstitialAdDidFailToReceiveAdWithError(string error)
{
Debug.Log ("IgaworksADSample HandleDAInterstitialAdDidFailToReceiveAdWithError : " + error);
}
public void HandleDAInterstitialAdWillLeaveApplication()
{
Debug.Log ("IgaworksADSample HandleDAInterstitialAdWillLeaveApplication");
}
public void HandleDAInterstitialAdWillOpen()
{
Debug.Log ("IgaworksADSample HandleDAInterstitialAdWillOpen");
}
public void HandleDAInterstitialAdDidOpen()
{
Debug.Log ("IgaworksADSample HandleDAInterstitialAdDidOpen");
}
public void HandleDAInterstitialAdWillClose()
{
Debug.Log ("IgaworksADSample HandleDAInterstitialAdWillClose");
}
public void HandleDAInterstitialAdDidClose()
{
Debug.Log ("IgaworksADSample HandleDAInterstitialAdDidClose");
}
}
+ 弹窗广告 SpotKey : adPOPcorn DA 管理页面中生成的全屏广告 SpotKey
显示广告
调用 DAPopupAdPresentFromViewController API,显示弹窗广告。
AdPopcornDAPluginIOS.DAPopupAdPresentFromViewController();
弹窗尺寸
adPOPcorn DA 弹窗广告支持 iPhone, iPod Touch 的尺寸。
- Portrait : 240*360 (w*h)
- Landscape : 320*213 (w*h)
Delegate
对弹窗广告中发生的 Event 提供 Delegate。提供 Delegate 实现及示例如下。
- daPopupAdDidLoad : 弹窗广告下载成功
- daPopupAdDidFailToReceiveAdWithError : 弹窗广告下载失败 (传达的错误代码请参考文件最后部分)
- daPopupAdWillLeaveApplication : 点击弹窗广告
- daPopupAdWillOpen : 打开弹窗广告之前调用
- daPopupAdDidOpen : 打开弹窗广告之后调用
- daPopupAdWillClose : 关闭弹窗广告之前调用
- daPopupAdDidClose : 关闭弹窗广告之后调用
public class MySampleScene : MonoBehaviour {
// Use this for initialization
void Start () {
AdPopcornDAPluginIOS.AdPopcornDASetCallbackHandler("MySampleScene");
// 登录 Delegate Handler
AdPopcornDAPluginIOS.DAPopupAdSetDelegate();
// 登录 Delegate
AdPopcornDAPluginIOS.daPopupAdDidLoad += HandleDAPopupAdDidLoad;
AdPopcornDAPluginIOS.daPopupAdDidFailToReceiveAdWithError += HandleDAPopupAdDidFailToReceiveAdWithError;
AdPopcornDAPluginIOS.daPopupAdWillLeaveApplication += HandleDAPopupAdWillLeaveApplication;
AdPopcornDAPluginIOS.daPopupAdWillOpen += HandleDAPopupAdWillOpen;
AdPopcornDAPluginIOS.daPopupAdDidOpen += HandleDAPopupAdDidOpen;
AdPopcornDAPluginIOS.daPopupAdWillClose += HandleDAPopupAdWillClose;
AdPopcornDAPluginIOS.daPopupAdDidClose += HandleDAPopupAdDidClose;
}
// 实现 Delegate
public void HandleDAPopupAdDidLoad()
{
Debug.Log ("IgaworksADSample HandleDAPopupAdDidLoad");
}
public void HandleDAPopupAdDidFailToReceiveAdWithError(string error)
{
Debug.Log ("IgaworksADSample HandleDAPopupAdDidFailToReceiveAdWithError : " + error);
}
public void HandleDAPopupAdWillLeaveApplication()
{
Debug.Log ("IgaworksADSample HandleDAPopupAdWillLeaveApplication");
}
public void HandleDAPopupAdWillOpen()
{
Debug.Log ("IgaworksADSample HandleDAPopupAdWillOpen");
}
public void HandleDAPopupAdDidOpen()
{
Debug.Log ("IgaworksADSample HandleDAPopupAdDidOpen");
}
public void HandleDAPopupAdWillClose()
{
Debug.Log ("IgaworksADSample HandleDAPopupAdWillClose");
}
public void HandleDAPopupAdDidClose()
{
Debug.Log ("IgaworksADSample HandleDAPopupAdDidClose");
}
}
原生广告
原生广告使用从 adPOPcorn DA 服务器接收的 Json 字符串形式的广告信息,加工成需要的形态后显示广告。
Instance 生成
为了曝光原生广告,生成 Instance。
public class IgawDASampleScene : MonoBehaviour{
private string NATIVE_SPOTKEY = "nativespotkey";
void Start(){
AdPopcornDAPluginIOS.DANativeAdInitWithKey("发放的 AppKey", "NATIVE_SPOTKEY");
}
}
+ 原生广告 SpotKey : adPOPcorn DA 管理页面中生成的原生广告 SpotKey
广告加载
调用 DANativeAdLoadAd API,加载原生广告信息。加载的信息通过前面生成的 DANativeAdDelegate 传达。
AdPopcornDAPluginIOS.DANativeAdLoadAd ();
Delegate (确认广告信息)
对调用 DANativeAdLoadAd API 提供 Delegate。为了使用 Delegate 请添加 DANativeAdDelegate。
提供广告信息和申请失败的 Event 的 Delegate。
- daNativeAdDidFinishLoading : 原生广告下载成功,返回原生广告信息。
- daNativeAdDidFailWithError : 原生广告加载失败 (传达的错误代码请参考文件最后部分)
public class MySampleScene : MonoBehaviour {
// Use this for initialization
void Start () {
AdPopcornDAPluginIOS.AdPopcornDASetCallbackHandler("MySampleScene");
// 登录 Delegate Handler
AdPopcornDAPluginIOS.DANativeAdSetDelegate();
// 登录 Delegate
AdPopcornDAPluginIOS.daNativeAdDidFailWithError += HandleDANativeAdDidFailWithError;
AdPopcornDAPluginIOS.daNativeAdDidFinishLoading += HandleDANativeAdDidFinishLoading;
}
// 实现 Delegate
public void HandleDANativeAdDidFailWithError(string error)
{
Debug.Log ("IgaworksADSample HandleDANativeAdDidFailWithError : " + error);
}
public void HandleDANativeAdDidFinishLoading(string nativeAdvertisingResultJson)
{
Debug.Log ("IgaworksADSample HandleDANativeAdDidFinishLoading : " + nativeAdvertisingResultJson);
}
}
广告曝光跟踪
调用 DANativeAdCallImpression API,跟踪原生广告的曝光情况。需一起传达 API 和 impressionURL Parameter。
// private string IMPRESSION_URL = “impressionurl”;
AdPopcornDAPluginIOS.DANativeAdCallImpression(IMPRESSION_URL);
+ IMPRESSION_URL : 在原生广告信息里包含 Campaign 的 Impression 测试 URL。
广告点击跟踪
调用 DANativeAdClick API,跟踪原生广告的点击并 Landing 用户。需一起传达 API 和 redirectURL Parameter。
// private string REDIRECT_URL = "redirecturl”;
AdPopcornDAPluginIOS.DANativeAdClick(REDIRECT_URL);
+ REDIRECT_URL : 在原生广告中包含的 Campaign 用户的 Landing URL。
DA 答应错误代码定义
各个广告 Event Listener 传达的错误代码的定义。
代码 | 信息 | 说明 |
200 | Exception | 一般错误 |
1000 | Invalid Parameter | Parameter 错误 |
9999 | Unknown Server Error | 未知的服务器错误 |
2000 | Invalid Media Key | AppKey 错误 |
2030 | Invalid Spot Key | SpotKey 错误 |
2100 | Empty Campaign | 无广告 |
2200 | Invalid Third Party Name | 外部 Network 的广告信息加载失败 |
3200 | Native Spot Does Not Initialized | 原生广告设置初始化出错 |
5000 | Server Timeout | 服务器超时 |
5001 | Load Ad Failed | 无法加载特定 Network 的广告 |
5002 | No Ad | 无法加载所有 Network 的广告 |
DA Mediation
使用 Mediation 时,请参考以下链接进行。
[adPOPcorn DA : iOS (Mediation)]