《广告系统》

设置监听

广告系统存在回调信息,需要设置监听。

ProtocolAds* _pAds= AgentManager::getInstance()->getAdsPlugin();
if(!_pAds) return;
_pAds->setAdsListener(this);

开发者需要重写 onAdsResult 回调方法

class Ads:public AdsListener
{
public:
    virtual void onAdsResult(AdsResultCode code, const char* msg);
};
void Ads::onAdsResult(AdsResultCode code, const char* msg)
{
    LOGD("adsCallback %d,%s",code, msg);
    switch(code)
    {
    case kAdsReceived://广告接受成功回调

        break;
    case kAdsShown://广告展示回调

        break;
    case kAdsDismissed://广告消失回调

        break;
    case kPointsSpendSucceed://积分设置成功回调

        break;
    case kPointsSpendFailed://积分设置失败回调

        break;
    case kNetworkError://网络错误回调

        break;
    case kUnknownError://未知错误回调

        break;
    case kOfferWallOnPointsChanged://积分改变回调

        break;
    default:
        break;
    }
}

广告类型

Banner 广告使用屏幕的一小部分空间来吸引用户通过点击获得更丰富的全屏体验(例如网站或应用商店页面)。

插屏广告

插屏广告是一些在用户触摸下通常会向用户呈现全屏应用内浏览体验的小型广告。

精品推荐

精品推荐。

积分墙

积分墙是在一个应用内展示各种积分任务(下载安装推荐的优质应用、注册、填表等),以供用户完成任务获得积分的页面。用户在嵌入积分墙的应用内完成任务,该应用的开发者就能得到相应的收入。

相关接口

回调信息

回调信息 code msg
接受到广告 kAdsReceived null或者错误信息的简单描述
广告显示 kInitFail null或者错误信息的简单描述
广告隐藏 kAdsDismissed null或者错误信息的简单描述
积分扣除成功 kPointsSpendSucceed null或者错误信息的简单描述
积分扣除失败 kPointsSpendFailed null或者错误信息的简单描述
网络错误 kNetworkError null或者错误信息的简单描述
未知错误 kUnknownError null或者错误信息的简单描述
积分墙积分改变 kOfferWallOnPointsChanged null或者错误信息的简单描述
激励视频回调 kRewardedVideoWithReward 奖励信息回调 JSON 字符串
应该内购买回调 kInAppPurchaseFinished 应用内购信息回调 JSON 字符串
广告被点击回调 kAdsClicked null 或者错误信息的简单描述
广告扩展回调 kAdsExtension null 或者错误信息的简单描述

广告类型

开发者可以通过 bool isAdTypeSupported(adType) 判断该广告 SDK 是否支持该类型的广告。

广告类型 标识符
Banner AD_TYPE_BANNER
插屏广告 AD_TYPE_FULLSCREEN
精品推荐 AD_TYPE_MOREAPP
积分墙 AD_TYPE_OFFERWALL
激励视频广告 AD_TYPE_REWARDEDVIDEO
原生广告 AD_TYPE_NATIVEEXPRESS
改进版原生广告 AD_TYPE_NATIVEADVANCED
void Ads::hideAds()
{
    AdsPlugin* ads = AgentManager::getInstance()->getAdsPlugin();

    if( ads && ads->isAdTypeSupported(AD_TYPE_FULLSCREEN) )
    {
        ads->hideAds(AD_TYPE_FULLSCREEN);
    }
}

预加载广告

void preloadAds(AdsType adsType, int idx = 1);
功能介绍通过传递要显示的广告类型,显示相应的广告。
参数说明:adsType 为广告类型,idx 为打包工具对应的配套参数 ID。
举例说明

void Ads::preloadAds()
{
    AdsPlugin* ads = AgentManager::getInstance()->getAdsPlugin();

    if( ads && ads->isAdTypeSupported(AD_TYPE_FULLSCREEN) )
    {
        ads->preloadAds(AD_TYPE_FULLSCREEN);
    }
}

显示广告

void showAds(AdsType adsType, int idx = 1);
功能介绍通过传递要显示的广告类型,显示相应的广告。
参数说明:adsType为广告类型,idx为打包工具对应的配套参数 ID。
举例说明

void Ads::showAds()
{
    AdsPlugin* ads = AgentManager::getInstance()->getAdsPlugin();

    if( ads && ads->isAdTypeSupported(AD_TYPE_FULLSCREEN) )
    {
        ads->showAds(AD_TYPE_FULLSCREEN);
    }
}

隐藏广告

void hideAds(AdsType adsType, int idx = 1);
功能介绍通过传递要显示的广告类型,显示相应的广告。
参数说明:adsType 为广告类型,idx 为打包工具对应的配套参数 ID。
举例说明

void Ads::hideAds()
{
    AdsPlugin* ads = AgentManager::getInstance()->getAdsPlugin();

    if( ads && ads->isAdTypeSupported(AD_TYPE_FULLSCREEN) )
    {
        ads->hideAds(AD_TYPE_FULLSCREEN);
    }
}

积分查询

接口名:
float queryPoints();
可通过该接口查询积分。

ads->queryPoints();

扣除积分

接口名:
void spendPoints(int points);
可通过该接口扣除积分。

ads->spendPoints(100);

【评论区】