智能投放常见问题

本文将用户在使用智能投放过程中经常遇到的问题进行分类整理,以供参考。

通用问题

智能投放如何收费

智能投放的收费标准与展位接口调用次数以及展位资源下载流量相关。

不同的付费模式下,产品价格会有所差异。具体参见 后付费模式资源包模式 中的智能投放产品定价。

控制台操作相关问题

活动上线后,在 App 中没有看到预期的广告

排查是否存在以下问题:

  • 检查控制台上配置的活动所用展位的页面地址(动态展位)或客户端预置 ID(预置展位)是否配置正确。

  • 如果活动使用的是动态展位,需检查该展位所设置的页面地址是否与其他展位冲突。同一个页面地址(展位位置)只能用于一个展位。如果存在多个展位使用同一个页面地址,则这些展位都无法生效。

在控制台上配置了开屏展位的图片,但在 App 中未显示

在客户端启动页配置无误的情况下,开屏(闪屏)图片未展示的原因可能是图片尺寸与机型不适配。

在活动中配置开屏展位的物料时:

  • 针对 Android 设备,要求至少有一张图片的尺寸为 1080 px × 1920 px。

  • 针对 iOS 设备,图片需要严格按照提示的尺寸进行设置,有一张符合尺寸要求的图片即可。

是否支持 H5 离线包跳转

Android 和 iOS 10.1.68 基线版本均支持点击打开离线包。在配置 H5 离线包页面地址时,确保离线包页面的附带参数后置。

  • 协议规范

    mpaas://open?h5AppId=30000000&k1=v1&k2=v2… 协议中,固定判断的 key 为 mpaasopenh5AppId,其中:

    • h5AppId 指离线包 ID。

    • 其他查询参数透传到目标页面。

  • 示例

    • 跳转到 ID 为 30000000 的离线包:mpaas://open?h5AppId=30000000

    • 跳转到 ID 为 30000000 的离线包指定页面 aaa.htmlmpaas://open?h5AppId=30000000&url=/aaa.html

banner 展位的图片尺寸是否支持自适应

创建 banner 展位时,如果将展位高度设置为 0,则展位就会根据图片本身比例自适应。

Android 客户端接入相关问题

配置启动页开屏后,首次不展示

配置启动页的广告投放后,首次启动 App 时没有展示启动页开屏原因一般是客户端没有拉取到数据。

需要调用以下接口,检查本地数据是否存在。只有在本地数据存在的情况下,启动页开屏才会展示。

public static boolean checkIfSplashPrepared() {
    CdpAdvertisementService serviceByInterface = LauncherApplicationAgent.getInstance().getMicroApplicationContext().findServiceByInterface(CdpAdvertisementService.class.getName());
    return serviceByInterface.checkIfSplashPrepared();
}

在动态配置展位(自定义展位)展示列表广告需满足哪些条件

页面必须包含 ListView 这个控件。

配置活动后,客户端未展示展位

通过 logcat 过滤 Advertisement,查看拉取的展位数据进行问题排查。

查看对应展位 ID 的数据,日志示例如下:

getWrapperCallback onSuccess:[SpaceInfo{spaceCode='20201202', iOSViewId='null', androidViewId='null', h5ViewId='null', appId='', spaceObjectList=[SpaceObjectInfo{objectId='15255', contentType='PIC', contentHeight=1080, crontabList=null, behaviors=[SpaceObjectBehavior [behavior=ALWAYS, showTimes=1, closedByUser=false, jumpedByUser=false, behaviorUpdateTime=0, hadShowedTimes=0]], widgetId='', content='null', hrefUrl='https://mcdp-hz.oss-cn-hangzhou.aliyuncs.com/mcdp/ONEXF2EA312171832-default/1606900783534/4b3dcb21535681b162977af38d4e6953.png', shortImgUrl='null', actionUrl='https://www.baidu.com/', gmtStart=1606900730000, gmtEnd=1612084730000, fgColor='null', bgColor='null', textColor='null', widgetColor='null', priority=1, mrpRuleId='', bizExtInfo={picWidth=1080, gmtModified=1606900803000, picHeight=1920, LAYER_TYPE=normal}, timeSensitive=false, clientMinVersion='null', clientMaxVersion='null', logExtInfo={picWidth=1080, gmtModified=1606900803000, picHeight=1920, groupId=13782, LAYER_TYPE=normal}, selfAdapt=false}], location='FULL', height=1080, hasPlaceholder=false, useCacheFirst=false, width=804, reqRpcTime=1606913000272, multiStyle='BANNER', rotationTime=0, close=false, displayMaxCount=1, modifyTime=0, localRuleList=[], extInfo={}}]
  1. 根据展位 ID(spaceCode=20201202)查看拉取的展位数据是否是配置的活动展位。

  2. 查看 spaceObjectList 的数组里是否有数据。

  3. 查看 showTimes 是否大于 hadShowedTimes

  4. 若以上信息都正常,则查看是否有其他 warn 日志,并根据告警信息进行排查。

iOS 客户端接入相关问题

找不到相关头文件

在工程 MPaaS 目录下生成的 xx-mPaaS-Headers.h 文件中手动添加以下内容即可。

#import <MPPromotion/CDPPromotion.h>

动态配置展位不显示

排查步骤如下:

  1. 确认控制台上配置的展位的 iOS 页面地址(即类名)是否正确,若类名有误,则予以修正。

  2. 确认类名无误后,检查该类名是否继承了 DTViewController,如不继承,则展位将无法展示。