adsYoumi

来自于:有米立即使用

init initWall release showWall queryPoints awardPoints spendPoints setListener removeListener setWallBrowserConfig setGlobalConfig

概述

有米广告是中国首家移动广告平台,致力于为广告主提供精准的产品推广和品牌营销服务,为应用开发者创造公正和优质的广告收益。本模块只需简单调用几个接口即可实现对广告平台的集成。

init

初始化模块

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

params

appId:

  • 类型:字符串
  • 描述:APP的ID,在有米平台上申请

appSecret:

  • 类型:字符串
  • 描述:APP的密钥,在有米平台上生成

isTestModel:

  • 类型:bool
  • 描述:(可选项)是否为测试模式
  • 默认值:false
    • 对于 积分广告 :测试模式下,广告只能结算积分,不结算收入
    • 以下情况下属于测试模式:
      1. 没有imei唯一设备号的设备(如:部分Android平板)
      2. 应用未上传、待审核的情况
      3. 已上传并通过审核,但是后续版本应用 ID 和密钥与应用的包名不对应
    • 嵌入好的app需要上传到有米审核才算通过,才可以不用测试模式

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: //操作成功状态值 int 1 - 成功 0 - 失败
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:

    1. {
    2. code: //错误编码 int
    3. msg: //返回操作信息/错误信息 string
    4. }

示例代码

  1. var adsYoumi = api.require('adsYoumi');
  2. adsYoumi.init({
  3. appId: "7f9cda62c051e0a2",
  4. appSecret: "8b82c13f3330417c",
  5. isTestModel: true
  6. }, function(ret, err) {
  7. //成功返回
  8. if (ret.status == 1) {
  9. //
  10. } else {
  11. //输出错误信息
  12. api.alert({ msg: err.msg });
  13. }
  14. });

补充说明

可以在config.xml里面写feature,基本的三个参数将参数写在里面,然后直接调用init()也可以。

config.xml中配置如下

  1. <feature name="adsYoumi">
  2. <param name="appId" value="7f9cda62c051e0a2"/>
  3. <param name="appSecret" value="8b82c13f3330417c"/>
  4. <param name="isTestModel" value="true"/>
  5. </feature>

可用性

Android系统

可提供的1.0.0及更高版本

initWall

初始化积分墙

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

params

isUsingServerCallBack:

  • 类型:bool
  • 默认值:false
  • 描述:设置是否采用服务器托管积分,默认使用客户端托管积分
    • 客户端托管积分 :
      • 用户完成任务 -> 有米服务器生成积分订单 -> 有米sdk通过轮询请求服务器获取订单 -> 本地存储并管理积分
    • 服务器托管积分
      • 用户完成任务 -> 有米服务器生成积分订单 -> 有米推送积分订单到开发者服务器 -> 开发者服务器告知开发者App -> 开发者App告知用户已获取积分
    • 强烈建议开发者采用自己的服务器进行托管积分,提高积分安全性。

userId:

  • 类型:字符串
  • 描述:如果使用了服务器回调,建议传入APP系统中的用户id,为空或长度超过50则无效

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: //操作成功状态值 int 1 - 成功 0 - 失败
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:

    1. {
    2. code: //错误编码 int
    3. msg: //返回操作信息/错误信息 string
    4. }

示例代码

  1. var adsYoumi = api.require('adsYoumi');
  2. adsYoumi.init();
  3. adsYoumi.initWall({
  4. isUsingServerCallBack: true,
  5. userId: '123456789'
  6. }, function(ret, err) {
  7. //成功返回
  8. if (ret.status == 1) {
  9. //
  10. } else {
  11. //输出错误信息
  12. api.alert({ msg: err.msg });
  13. }
  14. });

补充说明

在模块初始化之后使用,初始化积分墙之后才可以使用积分墙

可用性

Android系统

可提供的1.0.0及更高版本

release

释放模块

release()

示例代码

  1. var adsYoumi = api.require('adsYoumi');
  2. adsYoumi.init();
  3. adsYoumi.initWall();
  4. api.addEventListener({
  5. name: 'keyback'
  6. }, function() {
  7. adsYoumi.release();
  8. api.closeWidget({ silent: true });
  9. });

补充说明

释放模块,请在应用退出的时候调用

可用性

Android系统

可提供的1.0.0及更高版本

showWall

显示积分墙

showWall({params}, callBack(ret, err))

params

type:

  • 类型:数字
  • 描述:使用广告类型中的积分墙类型常量设置即可,例如adsYoumi.OfferWallDialog

w:

  • 类型:数字
  • 描述:当类型为对话框积分墙的时候生效,为对话框积分墙的宽度

h:

  • 类型:数字
  • 默认值:无
  • 描述:当类型为对话框积分墙的时候生效,为对话框积分墙的高度

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: //操作成功状态值 int 1 - 成功 0 - 失败
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: //错误编码 int
  3. msg: //返回操作信息/错误信息 string
  4. }

示例代码

  1. var adsYoumi = api.require('adsYoumi');
  2. adsYoumi.init();
  3. adsYoumi.initWall();
  4. adsYoumi.showWall({
  5. type: adsYoumi.OfferWallDialog,
  6. w: 300,
  7. h: 600
  8. }, function(ret, err) {
  9. //成功返回
  10. if (ret.status == 1) {
  11. //
  12. } else {
  13. //输出错误信息
  14. api.alert({ msg: err.msg });
  15. }
  16. });

可用性

Android系统

可提供的1.0.0及更高版本

queryPoints

查询积分

queryPoints(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: //操作成功状态值 int 1 - 成功 0 - 失败
  3. points: //返回查询的积分值 int
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: //错误编码 int
  3. msg: //返回操作信息/错误信息 string
  4. }

示例代码

  1. var adsYoumi = api.require('adsYoumi');
  2. adsYoumi.init();
  3. adsYoumi.initWall();
  4. adsYoumi.queryPoints(function(ret, err) {
  5. //成功返回
  6. if (ret.status == 1) {
  7. //输出查询的积分值
  8. api.alert({ msg: ret.points });
  9. } else {
  10. //输出错误信息
  11. api.alert({ msg: err.msg });
  12. }
  13. });

可用性

Android系统

可提供的1.0.0及更高版本

awardPoints

获取积分

awardPoints({params}, callBack(ret, err))

params

points:

  • 类型:数字
  • 描述:增加的积分值

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: //操作成功状态值 int 1 - 成功 0 - 失败
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: //错误编码 int
  3. msg: //返回操作信息/错误信息 string
  4. }

示例代码

  1. var adsYoumi = api.require('adsYoumi');
  2. adsYoumi.init();
  3. adsYoumi.initWall();
  4. adsYoumi.awardPoints({ points: 10.5 }, function(ret, err) {
  5. //成功返回
  6. if (ret.status == 1) {
  7. //
  8. } else {
  9. //输出错误信息
  10. api.alert({ msg: err.msg });
  11. }
  12. });

可用性

Android系统

可提供的1.0.0及更高版本

spendPoints

消费积分

spendPoints({params}, callBack(ret, err))

params

points:

  • 类型:数字
  • 描述:消费的积分值

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: //操作成功状态值 int 1 - 成功 0 - 失败
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: //错误编码 int
  3. msg: //返回操作信息/错误信息 string
  4. }

示例代码

  1. var adsYoumi = api.require('adsYoumi');
  2. adsYoumi.init();
  3. adsYoumi.initWall();
  4. adsYoumi.spendPoints({ points: 10.5 }, function(ret, err) {
  5. //成功返回
  6. if (ret.status == 1) {
  7. //
  8. } else {
  9. //输出错误信息
  10. api.alert({ msg: err.msg });
  11. }
  12. });

可用性

Android系统

可提供的1.0.0及更高版本

setListener

添加监听器

setListener({params}, callBack(ret, err))

params

listenerId:

  • 类型:字符串
  • 描述:为监听器设置一个唯一的id作为识别标识

listenerType:

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:

当监听器类型为全屏积分墙关闭监听器/对话框积分墙关闭监听器时:

  1. {
  2. status: //操作成功状态值 int 1 - 成功 0 - 失败
  3. listenerId: //监听器的唯一标识id int
  4. listenerType: //监听器的类型 int
  5. type: //添加监听器/触发监听器 执行的回调 int 0 - 添加监听器 1 - 触发监听器
  6. }

当监听器为积分监听器时:

  1. {
  2. status: //操作成功状态值 int 1 - 成功 0 - 失败
  3. listenerId: //监听器的唯一标识id int
  4. listenerType: //监听器的类型 int
  5. type: //添加监听器/触发监听器 执行的回调 int 0 - 添加监听器 1 - 触发监听器
  6. points: //触发监听器返回时传回的,当前的积分值 int
  7. }

当监听器为订单监听器时:

  1. {
  2. status: //操作成功状态值 int 1 - 成功 0 - 失败
  3. listenerId: //监听器的唯一标识id int
  4. listenerType: //监听器的类型 int
  5. type: //添加监听器/触发监听器 执行的回调 int 0 - 添加监听器 1 - 触发监听器
  6. orderList:[ //触发监听器返回时传回的,获取的积分订单json数组 Array
  7. {
  8. orderId: //积分订单唯一标识id int
  9. appName: //广告名字 string
  10. userId: //用户id int
  11. status: //订单状态 int
  12. //1.表示开发者获得了收入并且用户获得了积分
  13. //2.表示没有获得收入但用户获得了积分
  14. //(未通过审核以及测试模式下结算无效等情况)
  15. msg: //完成任务获取100积分 string
  16. points: //本次赚取的积分 int
  17. settlingTime: //订单结算时间戳 timestamp
  18. },
  19. ……
  20. ]
  21. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: //错误编码 int
  3. msg: //返回操作信息/错误信息 string
  4. }

示例代码

  1. var adsYoumi = api.require('adsYoumi');
  2. adsYoumi.init();
  3. adsYoumi.initWall();
  4. adsYoumi.setListener({ listenerId: "4_1234", listenerType: adsYoumi.PointsChangeListener }, function(ret, err) {
  5. //成功返回
  6. if (ret.status == 1) {
  7. //添加监听器成功
  8. if (ret.type == 0) {
  9. //
  10. }
  11. //触发监听器回调
  12. else if (ret.type == 1) {
  13. //
  14. }
  15. } else {
  16. //输出错误信息
  17. api.alert({ msg: err.msg });
  18. }
  19. });

补充说明

每一次触发监听器都会执行回调中的函数

可用性

Android系统

可提供的1.0.0及更高版本

removeListener

移除监听器

removeListener({params}, callBack(ret, err))

params

listenerId:

  • 类型:字符串
  • 描述:为监听器设置一个唯一的id作为识别标识

listenerType:

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: //操作成功状态值 int 1 - 成功 0 - 失败
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: //错误编码 int
  3. msg: //返回操作信息/错误信息 string
  4. }

示例代码

  1. var adsYoumi = api.require('adsYoumi');
  2. adsYoumi.init();
  3. adsYoumi.initWall();
  4. adsYoumi.removeListener({
  5. listenerId: "4_12345",
  6. listenerType: adsYoumi.PointsEarnListener
  7. }, function(ret, err) {
  8. //成功返回
  9. if (ret.status == 1) {
  10. //
  11. } else {
  12. //输出错误信息
  13. api.alert({ msg: err.msg });
  14. }
  15. });

可用性

Android系统

可提供的1.0.0及更高版本

setWallBrowserConfig

设置积分墙的配置

setWallBrowserConfig({params}, callBack(ret, err))

params

title:

  • 类型:字符串
  • 默认值:免费获取积分
  • 描述:积分墙标题,非测试模式有效

bg:

  • 类型:字符串
  • 默认值:#FFBB34
  • 描述:标题栏背景颜色,只支持六位数的颜色编码

isShowPointsBalance:

  • 类型:bool
  • 默认值:true
  • 描述:是否显示标题栏右上角的积分余额

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: //操作成功状态值 int 1 - 成功 0 - 失败
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:

    1. {
    2. code: //错误编码 int
    3. msg: //返回操作信息/错误信息 string
    4. }

示例代码

  1. var adsYoumi = api.require('adsYoumi');
  2. adsYoumi.init();
  3. adsYoumi.initWall();
  4. adsYoumi.setWallBrowserConfig({
  5. title: '有米积分墙',
  6. bg: '#000000',
  7. isShowPointsBalance: true
  8. }, function(ret, err) {
  9. //成功返回
  10. if (ret.status == 1) {
  11. //
  12. } else {
  13. //输出错误信息
  14. api.alert({ msg: err.msg });
  15. }
  16. })

可用性

Android系统

可提供的1.0.0及更高版本

setGlobalConfig

有米广告全局设置

setGlobalConfig({params}, callBack(ret, err))

params

enableDebugLog:

  • 类型:布尔
  • 默认值:true
  • 描述:设置是否允许输出有米的debuglog

enableDownloadTips:

  • 类型:布尔
  • 默认值:true
  • 描述:设置是否允许有米显示广告下载过程中的提示语

enableInstalledTips:

  • 类型:布尔
  • 默认值:true
  • 描述:设置是否允许有米显示广告安装过程中的提示语

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: //操作成功状态 int 1 - 成功 0 - 失败
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: //错误编码 int
  3. msg: //返回操作信息/错误信息 string
  4. }

示例代码

  1. var adsYoumi = api.require('adsYoumi');
  2. adsYoumi.init();
  3. adsYoumi.initWall();
  4. adsYoumi.setGlobalConfig({
  5. enableDebugLog: true,
  6. enableDownloadTips: true,
  7. enableInstalledTips: true
  8. }, function(ret, err) {
  9. //成功返回
  10. if (ret.status == 1) {
  11. //
  12. } else {
  13. //输出错误信息
  14. api.alert({ msg: err.msg });
  15. }
  16. })

可用性

Android系统

可提供的1.0.0及更高版本

积分墙类型 监听器类型 错误异常类型

积分墙类型

广告类型 - int

取值范围:

常量描述类型
OfferWall1全屏积分墙积分墙类型
OfferWallDialog2对话框积分墙积分墙类型

监听器类型

监听器类型 - int

取值范围:

常量描述
PointsChangeListener1积分监听器
PointsEarnListener2订单监听器
FullScreenOfferWallCloseListener3全屏积分墙关闭监听器
DialogOfferWallCloseListener4对话框积分墙关闭监听器

错误异常类型

错误异常介绍 - int

取值范围:

描述
-1传入参数无效
-2发生未知异常