Android版Cocos2d-X应用的AnySDK集成Admob管理库教程

ぃ、小莉子 提交于 2019-12-06 00:25:14

一:要求
1:Cocos2d-X的最新版本
2: AnySDK框架v1.2.3或更高版本
3:AnySDK程序包工具

二:将AnySDK导入到游戏中
AnySDK快速入门指南详细介绍了如何在 C++和Android 级别导入AnySDK,请查看该指南以了解相关信息。

三:AnySDK Ads System API
成功导入AnySDK 后,您可以参阅广告系统指南,编写针对AnySDK广告系统的代码。
AdMob支持AD_TYPE_BANNER和AD_TYPE_FULLSCREEN格式。我们将介绍一些集成 AdMob的常用方法。

1:横幅广告
要请求和展示横幅广告,请使用AD_TYPE_BANNER广告类型的showAds方法。
AdsPlugin * ads = AgentManager::getInstance()->getAdsPlugin();
ads->showAds(AD_TYPE_BANNER);

要停止展示横幅广告,请使用hideAds方法。ads->hideAds(AD_TYPE_BANNER);

2:插页式广告
在您显式展示插页式广告之前,应该使用AD_TYPE_FULLSCREEN广告类型的preloadAds方法预加载相应的广告。
AdsPlugin * ads = AgentManager::getInstance()->getAdsPlugin();
ads->preloadAds(AD_TYPE_FULLSCREEN);

当您稍后要展示插页式广告时,请调用showAds。
ads->showAds(AD_TYPE_FULLSCREEN);

3:使用多个横幅广告或插页式广告
如果您需要使用多个横幅广告尺寸或不同的广告单元 ID,则可以向showAds、hideAds和preloadAds方法传递一个索引。以下是一些示例:
ads->showAds(AD_TYPE_BANNER, 2); // show banner #2
ads->hideAds(AD_TYPE_BANNER, 2); // hide banner #2
ads->showAds(AD_TYPE_FULLSCREEN, 2); // preload interstitial #2
ads->preloadAds(AD_TYPE_FULLSCREEN, 2); // show interstitial #2
如果不指定索引,则默认为1。

当您稍后使用AnySDK程序包工具配置AdMob时,可以设置每个横幅广告的广告单元 ID、广告尺寸以及展示位置,还可以设置每个插页式广告的广告单元ID。

注意:假设您的游戏有4个横幅广告展示位置和2个插页式广告展示位置。您应该将横幅广告从1到4进行编号,将插页式广告从1到2进行编号。AnySDK程序包工具希望您使用这种编号方案。

4:监听广告事件
如果需要获得广告事件的通知(例如成功接收到广告),请指定实现AdsListener的类。它只提供一个方法(即onAdsResult),该方法会通知您所有事件。

AdMob支持以下广告事件:
1:kAdsReceived  2:kAdsShown   3:kAdsDismissed     4:kNetworkError    5:kUnknownError

onAdsResult方法的典型实现框架如下所示:
void onAdsResult(AdsResultCode code, const char * msg) {
switch(code) {
  case kAdsReceived:
   // Ad has been received.
   break;
  case kAdsShown:
   // Ad is presenting a full screen view.
   break;
  case kAdsDismissed:
   // A full screen ad view is being dismissed.
   break;
  case kNetworkError:
   // Ad failed due to network error.
   break;
  case kUnknownError:
   // Ad failed.
   break;
   default:
   break;
}

}

在这里,您可以决定针对各个事件采取的措施。

最后,请注意设置广告插件的广告监听器,以便告知 AnySDK 哪些类应该接收广告事件:
AgentManager::getInstance()->getAdsPlugin()->setAdsListener(this);

四:使用 AnySDK 程序包工具
将您的应用配置为使用AnySDK广告系统后,请使AnySDK程序包工具启用 AdMob 以填充您的广告空间。您必须分别针对 Android 配置 AnySDK,针对这两个平台的配置过程如下所述:
1:Android
在AnySDK应用配置的SDK Management(SDK 管理)部分,指定 AdMob作为广告提供商,并选择您的应用支持哪些格式。

2:在Parameter Config(参数配置)部分,为横幅广告和/或插页式广告输入 Android广告单元ID,还请输入广告尺寸和展示位置(如果您使用的是横幅广告)。

如果您的应用设置为使用多个横幅广告(参见使用多个横幅广告或插页式广告部分),请点击”+”标签为每个横幅广告配置广告单元。另请针对插页式广告执行相同操作。

3:最后,在Publishing(发布)标签中,选择Browse(浏览)并找到应用的.apk文件。然后点击Start(开始)。

就这么简单!此步骤会生成一个包含 AdMob的项目版本!

因为Cocos2d-X的缺点是程序库比较复杂,并且不稳定;虽然说是个引擎,也提供了些辅助工具,但没有系统化,实际只是个程序库;唯独他最大的优点就 在于开发的产品可以跨平台发行。所以利用他的优势可以集成KeyMob平台。该平台将整合国内外主流移动广告平台,并对广告功能进行统一管理、动态配置, 广告主和开发者都可以通过简单的操作轻松实现对多家广告平台的搭配使用。并能辅助开发者过市场审核。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!