HarmonyOS 鸿蒙Next中,如何实现应用的广告屏蔽和过滤功能,提升用户体验?

发布于 1周前 作者 zlyuanteng 来自 鸿蒙OS

HarmonyOS 鸿蒙Next中,如何实现应用的广告屏蔽和过滤功能,提升用户体验?

HarmonyOS中,如何实现应用的广告屏蔽和过滤功能,提升用户体验?

2 回复

您好!不知道您是在用户角度还是开发者角度 实现广告屏蔽功能?

  1. 系统设置层面
    • 关闭个性化广告推荐:进入手机的 “设置”,在不同的应用设置选项中关闭个性化广告。例如,在 “文件管理” 的 “我的 - 设置 - 个性化” 中关闭个性化广告;在 “智慧助手” 的相关设置中关闭个性化推荐和广告;在 “应用市场” 的 “我的 - 设置” 中关闭个性化推荐和消息通知等。这样可以减少系统自带应用的广告推送。
    • 限制广告跟踪:在 “设置 - hmscore - 广告” 中打开 “限制广告跟踪” 功能,同时关闭 “智能推荐服务” 等相关选项。此操作可以限制应用对用户行为的跟踪,从而减少针对性的广告推送。
    • 关闭基于位置的广告:在 “设置 - 隐私 - 定位服务 - 系统服务” 中关闭 “基于位置的广告”。这样可以避免因位置信息而收到相关的广告推送。
  2. 应用内设置(针对浏览器应用)
    • 如果使用华为浏览器,在浏览器的 “设置 - 网站设置” 中选择 “广告过滤”。开启该功能后,浏览器能够自动屏蔽网页中的广告,减少广告对用户浏览体验的干扰。
  3. 应用开发层面(针对开发者)
    • 利用 ArkWeb 的智能防跟踪功能:在应用的入口文件(如 EntryAbility.ets)中调用相关 API 开启智能防跟踪功能。智能防跟踪功能可以阻止跟踪型网站携带 cookie 进行追踪,防止用户信息被泄露。示例代码如下:
      import { webview } from '@ohos.web.webview';
      // 开启智能防跟踪功能
      webview.WebviewController.enableIntelligentTrackingPrevention({
          enable: true // 开启智能防跟踪功能
      });
      // 设置绕过智能防跟踪功能的域名列表
      webview.WebviewController.addIntelligentTrackingPreventionBypassingList(("trusteddomain.com", "anothertrusteddomain.com"));<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>


  • 使用 ArkWeb 的广告过滤功能:可以使用自定义 easylist 规则文件或内置的规则文件进行广告拦截。
    • 使用自定义规则文件:将自定义的 easylist 规则文件(包含要拦截的 URL 模式或 CSS 选择器)保存到应用的资源目录下,然后使用相关 API 将其设置到 Web 组件中。示例代码如下:
 
import { webview } from '@ohos.web.webview';
import { picker } from '@ohos.core.file';
// 选择自定义 easylist 规则文件
const documentSelectOptions = new picker.DocumentSelectOptions();
const documentPicker = new picker.DocumentViewPicker();
documentPicker.select(documentSelectOptions).then((documentSelectResult) => {
    if (documentSelectResult && documentSelectResult.length > 0) {
        const fileRealPath = new fileUri.FileUri(documentSelectResult(0));
        webview.AdsBlockManager.setAdsBlockRules(fileRealPath.path, true);
    }
});<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>
 
  • 使用内置规则文件:直接调用相关 API 使用 ArkWeb 框架内置的广告过滤规则文件,开启广告过滤功能。示例代码如下:
    import { webview } from '@ohos.web.webview';
    // 使用内置的规则文件开启广告过滤功能
    webview.AdsBlockManager.setAdsBlockRules(null, false);
    // 设置允许或禁止广告过滤的域名列表
    webview.AdsBlockManager.addAdsBlockAllowedList(("example.com", "anotherexample.com"));
    webview.AdsBlockManager.addAdsBlockDisallowedList(("adexample.com", "anotheradexample.com"));<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>


  1. 应用管理层面
    • 开启纯净模式:纯净模式可以提供更安全的应用服务。开启后,安装应用程序时将优先选择华为应用市场经过安全检测的应用,防止恶意应用入侵,从而减少因恶意应用带来的广告骚扰。在 “设置 - 系统和更新” 中可以开启纯净模式。
    • 卸载可疑应用:广告多的根本来源是手机上已安装的各类应用,尤其是一些第三方的清理、杀毒、管家类应用。如果发现某个应用频繁推送弹窗广告,可以打开 “设置”,搜索进入 “应用管理”,找到近期安装的可疑应用并卸载。
    • 定期查杀病毒:恶意的弹窗广告背后可能隐藏着病毒,通过手机管家的病毒查杀功能全盘扫描手机,可以找出并清除潜在的风险应用,维护手机的安全和正常使用。在手机管家的设置项中,还可以开启 “自动清理垃圾文件” 与 “防病毒软件更新和联网查杀”,进一步提升系统安全保障。

在HarmonyOS 鸿蒙Next中,实现应用的广告屏蔽和过滤功能,可以通过以下方式:

首先,鸿蒙系统提供了Web组件的广告过滤特性,包括URL拦截与元素隐藏能力。开发者可利用AdsBlockManager提供的setAdsBlockRules()接口,设置自定义的easylist过滤规则,并通过enableAdsBlock()接口启用广告过滤。自定义规则文件将在应用进程内对所有Web组件生效,持久化存储,应用重启后继续工作。

其次,对于系统级别的广告,鸿蒙Next支持一键关闭广告功能,用户可在设置中直接关闭所有广告,包括开屏广告、摇一摇广告等,提升用户体验。

此外,开发者还可以通过优化应用内广告展示策略,如减少广告数量、提高广告质量、精准投放等方式,从源头上减少广告对用户体验的影响。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部