adsDomob

presentBanner presentInterstitial initDBox sendDBoxEntryImpression

概述

多盟(简称DOMOB),中国第一智能手机广告DSP+移动广告网络,本模块封装了多盟多个 SDK 产品,只需简单调用几个接口即可实现对广告平台的集成。目前包括:横幅(Banner)、插屏(Interstitial)、开屏(Splash)展示型广告,以及多宝屋(DBox)综合型广告等。

开发者需要注意在多盟后台为自己的 App 申请独立的 Publisher ID 和 Placement ID参见基本概念。另外,发布 App 的时候也请参见审核注意事项”。

注意:本模块暂时仅支持iOS平台

presentFlexibleBanner

展示自适应横幅广告(banner)

presentFlexibleBanner({params}, callback(ret, err))

publisherId:

  • 类型:字符串
  • 描述:应用 ID(详见基本概念常量),不能为空,且必须为在多盟广告平台后台中申请的正确应用 ID

placementId:

  • 类型:字符串
  • 描述:广告位 ID(详见常量),不能为空,且必须为您在多盟广告平台后台申请的对应横幅广告位 ID

x:

  • 类型:浮点数
  • 描述:横幅广告显示位置的 X 坐标

y:

  • 类型:浮点数
  • 描述:横幅广告显示位置的 Y 坐标

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

err:

  • 类型:JSON 对象

内部字段:

  1. code: 0, //错误码
  2. msg: '' //错误描述
  3. }

示例代码

  1. var adsDomob = api.require('adsDomob');
  2. adsDomob.presentBanner({
  3. publiserId: '56OJyM1ouMGoULfJaL',
  4. placementId: '16TLwebvAchkANUH_krQ7vOz',
  5. x: '0',
  6. y: '20'
  7. }, function(ret, err) {
  8. if (ret.type == 0) {
  9. switch (ret.status) {
  10. case -1:
  11. api.alert({ msg: 'Banner 广告加载失败:' + err });
  12. break;
  13. case 0:
  14. api.alert({ msg: 'Banner 广告加载完成' });
  15. break;
  16. case 1:
  17. api.alert({ msg: 'Banner 广告准备展现' });
  18. break;
  19. case 2:
  20. api.alert({ msg: 'Banner 广告被关闭' });
  21. break;
  22. case 3:
  23. api.alert({ msg: 'Banner 广告被切到后台' });
  24. break;
  25. }
  26. }
  27. });

补充说明

此接口向广告平台请求自适应横幅(banner)广告并自动显示

可用性

iOS系统

可提供的1.0.0及更高版本

presentBanner

展示横幅广告(banner)

presentBanner({params}, callback(ret, err))

params

publisherId:

  • 类型:字符串
  • 描述:应用 ID(详见基本概念常量),不能为空,且必须为在多盟广告平台后台中申请的正确应用 ID

placementId:

  • 类型:字符串
  • 描述:广告位 ID(详见常量),不能为空,且必须为您在多盟广告平台后台申请的对应横幅广告位 ID

x:

  • 类型:浮点数
  • 描述:横幅广告显示位置的 X 坐标

y:

  • 类型:浮点数
  • 描述:横幅广告显示位置的 Y 坐标

x:

  • 类型:浮点数
  • 描述:横幅广告显示位置的 X 坐标

width:

  • 类型:浮点数
  • 描述:横幅广告的宽度

height:

  • 类型:浮点数
  • 描述:横幅广告的高度

autorefresh:

  • 类型:整数,0 (false) 或者 1(true)
  • 描述:是否自动刷新广告

目前我们所支持的横幅广告尺寸包括

**我们强烈建议您使用Flexible Banner**,它可以适应各种类型的设备,以及进行横竖屏的自适应(Flexible Banner的高度在iPhone/iPod Touch上为50,在iPad上为90,宽度自适应)。

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

  1. {
  2. type:0 // banner 广告 详见[广告类型](!Constant)常量)
  3. status:-1~3 // banner 广告状态码 详见[广告请求状态码](!Constant)常量)
  4. }

err:

内部字段:

  1. {
  2. code:0 //错误码
  3. msg:'' //错误描述
  4. }

示例代码

  1. var adsDomob = api.require('adsDomob');
  2. adsDomob.presentBanner({
  3. publiserId: '56OJyM1ouMGoULfJaL',
  4. placementId: '16TLwebvAchkANUH_krQ7vOz',
  5. x: '0',
  6. y: '20',
  7. width: '375',
  8. height: '325',
  9. autorefresh: '1'
  10. }, function(ret, err) {
  11. if (ret.type == 0) {
  12. switch (ret.status) {
  13. case -1:
  14. api.alert({ msg: 'Banner 广告加载失败:' + err });
  15. break;
  16. case 0:
  17. api.alert({ msg: 'Banner 广告加载完成' });
  18. break;
  19. case 1:
  20. api.alert({ msg: 'Banner 广告准备展现' });
  21. break;
  22. case 2:
  23. api.alert({ msg: 'Banner 广告被关闭' });
  24. break;
  25. case 3:
  26. api.alert({ msg: 'Banner 广告被切到后台' });
  27. break;
  28. }
  29. }
  30. });

补充说明

此接口向广告平台请求横幅(banner)广告并自动显示

可用性

iOS系统

可提供的1.0.0及更高版本

initInterstitial

初始化插屏广告(interstitial)

presentBanner({params}, callback(ret, err))

params

publisherId:

  • 类型:字符串
  • 描述:应用 ID(详见基本概念常量),不能为空,且必须为在多盟广告平台后台中申请的正确应用 ID

placementId:

  • 类型:字符串
  • 描述:广告位 ID(详见常量),不能为空,且必须为您在多盟广告平台后台申请的对应插屏广告位 ID

callback(ret, err)

ret:

  • 类型:JSON 对象
  1. {
  2. type:1 // interstitial 广告 详见[广告类型](!Constant)常量)
  3. status:-1~3 // interstitial 广告状态码 详见[广告请求状态码](!Constant)常量)
  4. }

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. code:0 //错误码
  3. msg:'' //错误描述
  4. }

示例代码

  1. var adsDomob = api.require('adsDomob');
  2. adsDomob.initInterstitial({
  3. publiserId: '56OJyM1ouMGoULfJaL',
  4. }, function(ret, err) {
  5. if (ret.type == 1) {
  6. switch (ret.status) {
  7. case -1:
  8. api.alert({ msg: '插屏广告加载失败:' + err });
  9. break;
  10. case 0:
  11. api.alert({ msg: '插屏广告加载完成' });
  12. break;
  13. case 1:
  14. api.alert({ msg: '插屏广告准备展现' });
  15. break;
  16. case 2:
  17. api.alert({ msg: '插屏广告被关闭' });
  18. break;
  19. case 3:
  20. api.alert({ msg: '插屏广告被切到后台' });
  21. break;
  22. }
  23. }
  24. });

补充说明

此接口初始化插屏环境

可用性

iOS系统

可提供的1.0.0及更高版本

presentInterstitial

展示插屏广告(banner)

presentInterstitial({params}, callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. code:0 //错误码
  3. msg:'' //错误描述
  4. }

示例代码

  1. var adsDomob = api.require('adsDomob');
  2. adsDomob.presentInterstitial({}, function(ret, err) {
  3. if (ret.type == 1) {
  4. switch (ret.status) {
  5. case -1:
  6. api.alert({ msg: '插屏广告加载失败:' + err });
  7. break;
  8. case 0:
  9. api.alert({ msg: '插屏广告加载完成' });
  10. break;
  11. case 1:
  12. api.alert({ msg: '插屏广告准备展现' });
  13. break;
  14. case 2:
  15. api.alert({ msg: '插屏广告被关闭' });
  16. break;
  17. case 3:
  18. api.alert({ msg: '插屏广告被切到后台' });
  19. break;
  20. }
  21. }
  22. });

补充说明

此接口展示插屏(interstitial)广告

可用性

iOS系统

可提供的1.0.0及更高版本

presentSplash

展示开屏广告(splash)

presentSplash({params}, callback(ret, err))

params

publisherId:

  • 类型:字符串
  • 描述:应用 ID(详见基本概念常量),不能为空,且必须为在多盟广告平台后台中申请的正确应用 ID

placementId:

  • 类型:字符串
  • 描述:广告位 ID(详见常量),不能为空,且必须为您在多盟广告平台后台申请的对应开屏广告位 ID

splashBackgroundImageUrl:

  • 类型:字符串
  • 描述:当开屏广告是半屏时,最好有一个背景图,会比较美观。如果不指定,那么非广告区域将是透明的。这个参数指定一张可下载的 PNG/JPEG 图片。这张图片的规格是,
    1. iPhone4 1x: 320 x 480
    2. iPhone4s 2x: 640 x 960
    3. iPhone5/5s 2x: 640 x 1136
    4. iPhone6 2x: 750 x 1334
    5. iPhone6plus 3x: 1242 x 2208

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

  1. {
  2. type:2 // splash 广告 详见[广告类型](!Constant)常量)
  3. status:-1~3 // splash 广告状态码 详见[广告请求状态码](!Constant)常量)
  4. }

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. code:0 //错误码
  3. msg:'' //错误描述
  4. }

示例代码

  1. var adsDomob = api.require('adsDomob');
  2. adsDomob.presentSplash({
  3. placementId: '16TLwebvAchkAY6iOVhpfHPs',
  4. splashImageUrl: 'http://static.hothdwallpaper.net/51aac68f51f8599006.jpg'
  5. }, function(ret, err) {
  6. if (ret.type == 2) {
  7. switch (ret.status) {
  8. case -1:
  9. api.alert({ msg: '开屏广告加载失败:' + err });
  10. break;
  11. case 0:
  12. api.alert({ msg: '开屏广告加载完成' });
  13. break;
  14. case 1:
  15. api.alert({ msg: '开屏广告准备展现' });
  16. break;
  17. case 2:
  18. api.alert({ msg: '开屏广告被关闭' });
  19. break;
  20. case 3:
  21. api.alert({ msg: '开屏广告被切到后台' });
  22. break;
  23. }
  24. }
  25. });

补充说明

此接口向广告平台请求开屏(splash)广告并缓存,并在下一次调用的时候显示开屏广告;另外,此次展示完毕后,会准备好下一条广告

可用性

iOS系统

可提供的1.0.0及更高版本

initDBox

初始化多宝屋广告环境

initDBox({params}, callback(ret, err))

params

publisherId:

  • 类型:字符串
  • 描述:应用 ID(详见基本概念常量),不能为空,且必须为在多盟广告平台后台中申请的正确应用 ID

placementId:

  • 类型:字符串
  • 描述:广告位 ID(详见常量),不能为空,且必须为您在多盟广告平台后台申请的对应多宝屋广告位 ID

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

  1. {
  2. status:-1~3 // 多宝屋(dbox)广告状态码 详见[广告请求状态码](!Constant)常量)
  3. }

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. code:0 //错误码
  3. msg:'' //错误描述
  4. }

示例代码

  1. var adsDomob = api.require('adsDomob');
  2. adsDomob.initDBox({
  3. publiserId: '56OJw+rouN8xdhPaW9',
  4. placementId: '16TLuFnvAp2p4NU06al1hNgi'
  5. }, function(ret, err) {
  6. if (ret.type == 3) {
  7. switch (ret.status) {
  8. case -1:
  9. api.alert({ msg: '多宝屋广告加载失败:' + err });
  10. break;
  11. case 0:
  12. api.alert({ msg: '多宝屋广告加载完成' });
  13. break;
  14. case 1:
  15. api.alert({ msg: '多宝屋广告准备展现' });
  16. break;
  17. case 2:
  18. api.alert({ msg: '多宝屋广告被关闭' });
  19. break;
  20. case 3:
  21. api.alert({ msg: '多宝屋广告被切到后台' });
  22. break;
  23. }
  24. }
  25. });

补充说明

此接口初始化多宝屋广告环境

可用性

iOS系统

可提供的1.0.0及更高版本

presentDBoxEntry

展示多宝屋(dbox)广告入口

presentDBoxEntry({params}, callback(ret, err))

publisherId:

  • 类型:字符串
  • 描述:应用 ID(详见基本概念常量),不能为空,且必须为在多盟广告平台后台中申请的正确应用 ID
  • 类型:字符串
  • 描述:广告位 ID(详见常量),不能为空,且必须为您在多盟广告平台后台申请的对应的多宝屋广告位 ID

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. code:0 //错误码
  3. msg:'' //错误描述
  4. }

示例代码

  1. var adsDomob = api.require('adsDomob');
  2. adsDomob.presentDBoxEntry({
  3. publiserId: '56OJw+rouN8xdhPaW9',
  4. placementId: '16TLuFnvAp2p4NU06al1hNgi'
  5. }, function(ret, err) {
  6. if (ret.type == 3) {
  7. switch (ret.status) {
  8. case -1:
  9. api.alert({ msg: '多宝屋广告加载失败:' + err });
  10. break;
  11. case 0:
  12. api.alert({ msg: '多宝屋广告加载完成' });
  13. break;
  14. case 1:
  15. api.alert({ msg: '多宝屋广告准备展现' });
  16. break;
  17. case 2:
  18. api.alert({ msg: '多宝屋广告被关闭' });
  19. break;
  20. case 3:
  21. api.alert({ msg: '多宝屋广告被切到后台' });
  22. break;
  23. }
  24. }
  25. });

补充说明

此接口向广告平台请求多宝屋(dbox)广告并自动显示多宝屋入口

可用性

iOS系统

可提供的1.0.0及更高版本

sendDBoxEntryImpression

发送多宝屋入口展现报告

sendDBoxEntryImpression({params}, callback(ret, err))

params

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

  1. {
  2. }

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. }

示例代码

  1. var domob = api.require('adsDomob');
  2. domob.sendDBoxEntryImpression(function(ret, err) {
  3. });

补充说明

此接口发送多宝屋入口展现报告。详见多宝屋广告注意事项

可用性

iOS系统

可提供的1.0.0及更高版本

sendDBoxEntryClick

发送多宝屋入口点击报告

sendDBoxEntryClick({params}, callback(ret, err))

params

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

  1. {
  2. }

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. }

示例代码

  1. var adsDomob = api.require('adsDomob');
  2. adsDomob.sendDBoxEntryClick(function(ret, err) {
  3. });

补充说明

此接口发送多宝屋入口点击报告。详见。

可用性

iOS系统

可提供的1.0.0及更高版本

基本概念 广告类型 多宝屋广告注意事项

基本概念

  • PID:应用 ID,也叫 Publisher ID。您的 App 在多盟广告平台中的唯一标识。
  • PPID:广告位 ID,也叫 Placement ID。媒体在多盟广告平台中为某类广告申请的广告位标识。

OS 支持

iOS 5.0 及以上

广告类型

类型编号说明
bannder0横幅广告
intersititial1插屏广告
splash2开屏广告
dbox3多宝屋广告

广告请求状态码

为了让开发者更细粒度地控制广告请求流程,我们会将广告请求的重要阶段用状态码的形式回调给调用者。具体的状态码信息描述如下,

1 横幅(banner)广告状态码

2 插屏(interstitial)广告状态码

状态码状态说明
-1failed插屏广告加载失败
0loaded插屏广告加载成功
1will present插屏广告即将展现
2dismissed插屏广告被关闭
3enter background插屏广告被切换到后台

3 开屏(splash)广告状态码

4 多宝屋(dbox)广告状态码

状态码状态说明
-1failed多宝屋加载失败
0loaded多宝屋加载成功
1presented多宝屋界面已展现
2dismissed多宝屋被关闭
3enter background多宝屋被切换到后台

多宝屋广告注意事项

为了更好、更准确的帮助提升广告投放的准确率,请开发者协助我们发送2个相关的报告。具体如下, 1.发送入口展现报告:就是在您嵌入多宝屋的界面出现时发送此报告,表示入口已经展现出来。如,

在“我的12306”界面出现时发送入口展现报告。 2.发送入口点击报告:就是在用户点击你为多宝屋设定的某个按钮或者表格中的某一行时,发送此报告,表示多宝屋入口被点击。 如上图,在用户点击“旅行休闲”时发送入口点击报告。 #AppStore 审核注意事项

1 由于 iOS 广告平台获取了 IDFA,那么在提交 App Store 审核时,请按照下面的截图选择 IDFA 相关的选项。此处以多宝屋为例来说明,当然也可以通过打开横幅(banner)广告来说明获取 IDFA 的目的。

adsDomob - 图1

  • 选择一 在业务管理后台打开横幅广告,并在应用中展示

adsDomob - 图2

  • 在审核界面的“备注”中,务必用英文或者中英文,详细说明找到横幅广告或者多宝屋 banner 广告的步骤。