开屏广告

开屏广告

此章节将演示如何请求在APICloud环境下请求与展示开屏广告

开屏广告分为原生开屏广告插入到 frame 中两种类型:

  • 原生开屏广告是拉起一个新的AndroidActivity,接入相对简单,效率更高;

  • 插入到 frame 中可以集成在当前的页面中,使用更加灵活。

原生开屏广告

pages/ad/splash.stml
loadSplashAd() {
	var zjSdk = api.require("zjSdk")
	// String posId -> 广告位ID
	// boolean enableBG -> 是否使用启动图作为背景,false时为白色
	var params = { posId: ZJSdkPosId.splash, enableBG: true }
	zjSdk.loadSplashAd(params, function (ret) {
		if (ret.event == ZJSdkEvent.EVENT_AD_ERROR) {
			api.toast({
				msg: "开屏广告出错:" + ret.msg,
			})
			console.log(ZJSdkEvent.EVENT_AD_ERROR + ": " + ret.code + " | " + ret.msg)
		} else if (ret.event == ZJSdkEvent.EVENT_CLOSE) {
			console.log("开屏广告关闭")
		}
	})
}

插入到 frame 中

pages/ad/splash.stml
loadSplashView() {
	let zjSdk = api.require("zjSdk")
	// String posId -> 广告位ID | String uid -> 用户ID
	// String fixedOn -> fixedOn 的对象名
	api.showProgress({
		modal: true
	})
	let params = { posId: ZJSdkPosId.splash, fixedOn: "container" }
	zjSdk.loadSplashView(params, function (ret) {
		api.hideProgress()
		switch (ret.event) {
			case ZJSdkEvent.EVENT_AD_ERROR: {
				api.toast({
					msg: "开屏广告出错" + ret.msg,
				})
				console.log(ZJSdkEvent.EVENT_AD_ERROR + ": " + ret.code + " | " + ret.msg)
				break
			}
			case ZJSdkEvent.EVENT_SHOW: {
				console.log("开屏广告展示成功")
				break
			}
			case ZJSdkEvent.EVENT_CLICK: {
				console.log("开屏广告点击")
				break
			}
			case ZJSdkEvent.EVENT_CLOSE: {
				console.log("开屏广告关闭")
			}
		}
	})
}