找回密码
 立即注册
搜索

H5快应用是否支持接入广告

1
回复
1022
查看
[复制链接]

46

主题

47

帖子

465

积分

 楼主| 2021-3-12 12:10:24 显示全部楼层 |阅读模式

在华为快应用api文档中只能看到原生快应用支持广告接口,请问是否支持在H5快应用中获取广告?如果支持的话,如何实现?

回复

使用道具 举报

11

主题

124

帖子

675

积分

2021-3-15 09:38:20 显示全部楼层

 

H5网页自身是不可以调用快应用标准的API的,只有快应用是可以使用的,能不能把快应用获取到的信息传给网页呢?快应用框架提供了web双向通信的机制,网页可以向快应用发送xx请求,快应用收到xx请求后,处理请求,将处理后的数据发给网页。



使用

快应用侧

     快应用侧可以主动给网页发消息,也可以监听网页发来的消息。

  • postMessage(): 给网页发送消息,示例代码如下:

1this.$element('web').postMessage(senddata);
  • onmessage事件:监听网页发送过来的消息。web组件定义了message事件,需要在web上添加onmessage事件,示例代码如下(见红色部分):

123456789101112<web class="web-page" src="{{webUrl}}" trustedurl="{{list}}" onpagestart="onPageStart"            useragent="default"            onmessage="onMessage"            fullscreendirection="{{fullscreenDirection}}"              jumppolicy="{{linkJumpPolicy}}"              multiwindow="{{openMultiwindow}}"            onpagefinish="onPageFinish"             ontitlereceive="onTitleReceive"             onerror="onError"             id="web"            allowthirdpartycookies="{{allowThirdPartyCookies}}">        </web>

响应事件的句柄onMessage代码如下:

12345678onMessage(e) {          console.info('onmessage e = ' + e.message + ", url = " + e.url);                    var msg=e.message;           if(msg==='xxx'){               //todo           }        },

H5网页侧

  • system.postMessage():网页向快应用发送消息,示例代码如下:

1 system.postMessage("xxx");
  • system.onmessage(): 网页收到快应用发来的消息,示例代码如下:

1234system.onmessage = function(data) {      console.info("onmessage data="+data);        //todo       }

注意:以上代码添加在html文件中的head标签下的script中。


可以参考这个帖子:https://developer.huawei.com/consumer/cn/forum/topic/0204405003333750226?fid=18


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册