简介

HUAWEI Search Kit通过端侧SDK和云侧API方式,全面开放Petal Search搜索能力,使能生态合作伙伴快速构建最佳的移动应用搜索体验。

您将会学到什么

硬件要求

软件要求

需要的知识点

具体操作,可以参考《HUAWEI HMS Core集成准备》中的详细说明来完成。
  1. 登录AppGallery Connect网站,点击"我的项目"进入项目列表界面。
  2. 在项目列表中点击您的项目,进入"项目设置 > 常规 > 项目"。
  3. 点击"默认数据处理位置"中的"设置",在"默认数据处理位置"中选择数据处理位置,用于定义应用的站点。
  4. 进入"项目设置 > API管理",找到Search Kit服务并打开。
  5. 进入"项目设置 > 常规 > 应用",点击"agconnect-services.json"下载按钮,下载得到agconnect-services.json文件。
  6. 将下载得到的agconnect-services.json文件放到您的项目中(与src目录同级)。
  1. 打开Android Studio项目级"build.gradle"文件。
  2. 添加HUAWEI agcp插件以及Maven代码库。
    • 在"allprojects > repositories"中配置HMS Core SDK的Maven仓地址。
    • 在"buildscript > repositories"中配置HMS Core SDK的Maven仓地址。
    • 在"buildscript > dependencies"中增加agcp配置。
      buildscript { repositories { google() jcenter() // 配置华为的Maven仓库地址 maven { url 'https://developer.huawei.com/repo/' } } dependencies { ... // 配置agconnect服务依赖 classpath 'com.huawei.agconnect:agcp:1.4.1.300' ... } } allprojects { repositories { google() jcenter() // 配置华为的Maven仓库地址 maven { url 'https://developer.huawei.com/repo/' } } }
  3. 打开应用级的"build.gradle"文件。
  4. 在"dependencies"中添加如下编译依赖。
    dependencies { implementation 'com.huawei.hms:searchkit:5.0.4.303' }
  5. 在文件头apply plugin: ‘com.android.application'下一行添加如下配置。
    apply plugin: 'com.huawei.agconnect'
  6. 点击Sync Now,等待同步完成。

在上一小节中,您已成功集成了Search Kit,本小节您将尝试编写一个Demo,学会如何使用Search Kit的网页搜索接口。

  1. 获取APP ID
    登录AppGallery Connect网站,在"我的项目 > 项目设置 > 常规"页面的"应用"区域获取APP ID。
  2. 您可以参见基于OAuth 2.0开放鉴权客户端模式获取token。
  3. 在Activity的onCreate方法中初始化Search Kit。
    // 初始化Search Kit // appID是在AppGallery Connect网站上创建应用后得到的,为String类型 SearchKitInstance.init(this, appID);
  4. 网页搜索
    1. 进行网页搜索前先使用WebSearchRequest构建请求对象。
      代码示例如下:
      WebSearchRequest webSearchRequest = new WebSearchRequest(); // 设置搜索词(下面设置的"test"为一个示例,您可自行设置其他词汇) webSearchRequest.setQ("test"); // 设置搜索语言 webSearchRequest.setLang(Language.ENGLISH); // 设置搜索地区 webSearchRequest.setSregion(Region.UNITEDKINGDOM); // 设置搜索条数 webSearchRequest.setPs(10); // 设置搜索分页页号 webSearchRequest.setPn(1);
    2. 设置token。
      Search Kit提供setInstanceCredentialsetCredential两种方式设置token。该token在网络请求时会给服务端做校验,校验成功后才会返回搜索结果。
      • setInstanceCredential是设置全局的token,调用后所有方法均可以获取到。
        代码示例如下:
        SearchKitInstance.getInstance().setInstanceCredential(token);
      • setCredential是为网页搜索单独设置token。
        代码示例如下:
        SearchKitInstance.getInstance().getWebSearcher().setCredential(token);
    3. (可选)设置请求超时时间(单位:毫秒)。
      您可以通过setTimeOut方法设置请求的超时时间(值设置区间[1000, 10000])。您也可以不调用该方法,Search Kit则会给予一个初始值5000。
      代码示例如下:

      SearchKitInstance.getInstance().getWebSearcher().setTimeOut(5000);
    4. 进行网页搜索。
      将1生成的webSearchRequest作为参数传入search方法进行搜索。
      代码示例如下:

      BaseSearchResponse<List<WebItem>> response = SearchKitInstance.getInstance().getWebSearcher().search(webSearchRequest);
    1. 启动Demo,进入主界面,在不同的标签页搜索会调用相对应的接口。
    2. 在搜索框输入时,会实时调用搜索补全接口。
    3. 点击搜索后,在对应的tab页中会出现相应的数据,在搜索框下也会出现搜索纠错接口的返回数据。

    4. 点击标题可以根据返回的click_url跳转超链接。
    5. 点击"Detail >>"按钮可以进入详情页面查看接口所有的返回值。

      点击"+"号按钮可以展开,查看Object内部更多返回值信息。

    干得好,您已经成功完成了Search Kit的使用,并学会了:

    • 如何集成Search Kit
    • 如何使用Search Kit的网页搜索

    您可以点击下方链接了解更多相关的信息。

    相关文档
    您可以点击下方链接下载源码。

    下载源码

    已复制代码