集成Cocos Plugin
开始之前
- 我们支持 Cocos 2.4.3 版本。
- 我们支持Android操作系统版本4.1(API级别16)及更高版本。
- 我们支持XCode 9.0及更高版本以及CocoaPods。
总览
本指南适用于需要通过Cocos应用获利的发布商。
OpenMediation SaaS 聚合平台提供多样化且有效的货币化服务,并支持多种广告格式,包括原生广告,非页内广告,横幅广告和激励性视频广告。 OpenMediation平台可聚合AdTiming,AdMob,Facebook,UnityAds,Vungle,Tapjoy,AppLovin,AdColony,Chartboost,Pangle,Mintegral 和IronSource等。
步骤 1. 将 OpenMediation Cocos Package 添加到您的项目中
请按照以下步骤将OpenMediation Cocos软件包添加到您的项目中:
- 下载OpenMediation Cocos Package
- 打开Cocos项目
- OpenMediation SDK设计用于Android和iOS平台。Cocos编辑器包含一个与Cocos代码一起使用的模拟器。为了使用我们的插件,您必须以Android或iOS版本为目标来测试集成。
- 导入Cocos Package
- 找到项目与Assets同级目录的packages目录,将下载的package/OpenMediation放入该目录下。
- 打开项目查看扩展菜单,可以看到OpenMediation子菜单。
步骤 2.Cocos 集成管理工具
OpenMediation Cocos集成管理工具可以通过扩展下载或更新最新版本的OpenMediation SDK和聚合适配器进行相应SDK的更新。
注意:Cocos 集成管理工具中显示的Adapter版本号不是iOS/安卓OpenMediation及Adapter的原生版本号。
管理SDK版本
导入Cocos package之后,您将可以在扩展菜单栏中查看OpenMediation子菜单更新OpenMediation SDK或聚合适配器
- 打开集成管理工具:OpenMediation > Integration Manager(针对中国地区流量应用请选择Integration Manager(CN))
- 选择 “Install” or “Update“
如果您已经是最新版本的OpenMediation SDK或聚合适配器,则按钮将更改为 “Updated”,并且将被禁用。
步骤 3. 注册事件
OpenMediation Cocos 插件会触发一系列广告相关的事件回调,以通知您广告SDK的状态及信息。
添加以下代码以注册到事件:
cc.Class({
extends: cc.Component,
onLoad: function () {
this.initPlugin();
},
initPlugin: function () {
const self = this;
OpenMediation.Ads.setListener({
onInitSuccess: function () {
//initialization success
},
onInitFailed: function (msg) {
// initialization failed
},
onRewardedVideoAvailabilityChanged: function (available) {
// Invoked when the ad availability status is changed
},
onRewardedVideoShow: function (scene) {
// Invoked when the RewardedVideo ad view has opened
},
onRewardedVideoShowFailed: function (scene) {
// Invoked when the call to show a rewarded video has failed
},
onRewardedVideoClosed: function (scene) {
// Invoked when the RewardedVideo ad is closed
},
onRewardedVideoStarted: function (scene) {
// Invoked when the RewardedVideo ad start to play
},
onRewardedVideoEnded: function (scene) {
// Invoked when the RewardedVideo ad play end
},
onRewardedVideoReceiveRewarded: function (scene) {
// Invoked when the video is completed and the user should be rewarded
},
onRewardedVideoClicked: function (scene) {
// Invoked when the user clicked on the RewardedVideo ad
},
onInterstitialAvailabilityChanged: function (available) {
// Invoked when the interstitial ad availability status is changed
},
onInterstitialShow: function (scene) {
// Invoked when the Interstitial ad has opened
},
onInterstitialShowFailed: function (scene) {
// Invoked when the Interstitial ad has showed failed
},
onInterstitialClosed: function (scene) {
// Invoked when the Interstitial ad is closed
},
onInterstitialClicked: function (scene) {
// Invoked when the user clicked on the Interstitial ad
},
onPromotionAdAvailabilityChanged: function (available) {
// Invoked when PromotionAd availability changed
},
onPromotionAdShow: function (scene) {
// Invoked when the PromotionAd has opened
},
onPromotionAdViewWillDisappear: function (scene) {
// Invoked when the PromotionAd is closed
},
onPromotionAdClicked: function (scene) {
// Invoked when the user clicked on the PromotionAd
},
onBannerLoadSuccess: function (placementId) {
// Invoked when Banner Ad load success
},
onBannerLoadFailed: function (placementId, msg) {
// Invoked when Banner Ad load failed
},
onBannerClicked: function (placementId) {
// Invoked when the user clicked on the Banner Ad
},
onSplashLoadSuccess: function (placementId) {
// Invoked when Splash Ad load success
},
onSplashLoadFailed: function (placementId, msg) {
// Invoked when Splash Ad load failed
},
onSplashShow: function (placementId) {
// Invoked when Splash Ad has opened
},
onSplashShowFailed: function (placementId, msg) {
// Invoked when Splash Ad has showed failed
},
onSplashClicked: function (placementId) {
// Invoked when the user clicked on the Splash Ad
},
onSplashClosed: function (placementId) {
// Invoked when the Splash Ad is closed
},
onImpressionDataError: function (msg) {
// If ILRD function is not enabled. It is called when ad is displayed
},
onImpressionData: function (msg) {
// If ILRD function is enabled. It is called when ad is displayed
},
});
OpenMediation.Ads.init(appKey);
},
showRewardedVideo: function () {
OpenMediation.Ads.showRewardedVideo();
},
showInterstitial: function () {
OpenMediation.Ads.showInterstitial();
},
LoadBanner: function () {
OpenMediation.Ads.loadBanner(bannerPlacementID, 0, 0);
},
showBanner: function () {
OpenMediation.Ads.showBanner(bannerPlacementID);
},
hideBanner: function () {
OpenMediation.Ads.hideBanner(bannerPlacementID);
},
showPromotionAd: function () {
OpenMediation.Ads.showPromotionAd('scene', 132, 153, 0, 0.3, 20);
},
hidePromotionAd: function () {
OpenMediation.Ads.hidePromotionAd();
},
loadSplash: function () {
OpenMediation.Ads.loadSplash(splashPlacementID);
},
showSplash: function () {
OpenMediation.Ads.showSplash(splashPlacementID);
},
});
步骤 4. 初始化广告单元
在加载广告之前,通过使用您的AppKey调用 OpenMediation.Ads.init('appKey') 来初始化 OpenMediation SDK。 最好在应用程序启动时完成此操作,只需执行一次即可。 这是一个示例,说明如何在附加到Node的脚本的 onLoad( ) 方法内调用 init( ) 及设置监听回调方法。
OpenMediation.Ads.init('appKey');
OpenMediation Cocos 插件会触发初始化事件,以通知您SDK初始化的结果。
添加以下代码以注册到事件:
onInitSuccess: function () {
//initialization success
},
onInitFailed: function (msg) {
// initialization failed
},
是否初始化
调用init( ) 方法后,您还可以使用以下代码来确定SDK是否已成功初始化。
// To determine the result of init()
OpenMediation.Ads.initialized()
移除 Listener
OpenMediation.Ads.removeListener();
获取 Plugin 版本号
OpenMediation.Ads.getVersion();
设置 GDPR Consent,建议在 init 前调用
OpenMediation.Ads.setGDPRConsent(consent);
获取GDPR Consent
OpenMediation.Ads.getGDPRConsent();
根据《加州消费者隐私法案》(CCPA)设置限制使用个人信息。
OpenMediation.Ads.setUSPrivacyLimit(true);
设置用户年龄
OpenMediation.Ads.setUserAge(25);
设置用户性别
- gender int, 0:Unknown; 1:Male; 2:Female
OpenMediation.Ads.setUserGender(1);
上报IAP数据(可选)
IAP是 in-App Purchase的缩写,中文称为“应用内购买”,表示该设备的用户在应用内购买虚拟商品的花费。您可以通过SDK的setIAP接口上报用户购买虚拟商品的金额数据,这些IAP数据可以帮助我们为您的用户更加精准的投放广告,从而获得更好的广告收益。
- count float
- currency string 货币单位, 如 CNY, USD 等
OpenMediation.Ads.setIAP(10, 'USD');
currency 是一个代表货币代码的字符串类型参数,按ISO国际标准组织的 ISO 4217:2008 标准定义。
您可以在 SDK 初始化后的任何时候上报 IAP 数据,比如在初始化回调 onInitSuccess 之后处理,在用户发生 IAP 购买行为的时候,您可以调用该方法及时更新 IAP 数据。
提示:
启用本地日志记录:(仅用于本地调试,在上线之前将其删除。)
OpenMediation.Ads.debug(true);
评论
请登录写评论。