需要应用程序索引启用示例代码部分

时间:2014-08-05 12:59:29

标签: android deep-linking android-app-indexing google-search-platform

我正在开发应用程序中的应用程序索引功能并遵循Google Developers指南。 从guide我坚持下面的内容。

// Create App Indexing Link objects
AppIndexingLink item1 = new AppIndexingLink(appUri1, webUrl1, this.findViewById(R.id.btn1));
AppIndexingLink item2 = new AppIndexingLink(appUri2, webUrl2, this.findViewById(R.id.btn2)); 

从上述陈述中我们可以注意到参数。

我对此的质疑:

  1. 在该文件中,他们提到网址是可选的。但是当我删除时会出现编译错误并且如果我将其设为空("")会给出NullPointerException(不确定空是否会导致NullPointerException)
  2. 2.btn1和btn2,我们应该从哪里获得?为什么我们把它们送到那里? 。如果我从我的项目中给出任何视图,则会产生NullPointerException(这种情况让我不确定第一个)。

    如果任何人有教程和示例代码来启用应用程序索引,请提供它。它可以帮助我们。

2 个答案:

答案 0 :(得分:0)

1-webUrl1是Uri类型的对象,你需要解析一些网址,使用你的google play url

2-btn1和btn2可以是用户正在查看的任何视图示例图像视图或文本视图包含一些文本

答案 1 :(得分:-1)

尝试这种集成appindex的简单方法。

将intentFilter添加到要处理Appindex的任何活动

  <intent-filter >
                     <action android:name="android.intent.action.VIEW" />
                     <category android:name="android.intent.category.DEFAULT" />
                     <category android:name="android.intent.category.BROWSABLE" />

                     <data android:scheme="http"
                           android:host="www.yoursite.com"
                           android:pathPrefix="/"
                           />
      </intent-filter>

之后,在该活动的创建中,您可以使用

    Uri data = getIntent().getData();

此数据会显示落入您应用的完整网址。

   System.out.println("Data URL: "+data);  

此外,您可以使用此uri数据获取主机名。

    if(data!=null)
    {
        String tmpData = data.toString();
        String hostName = data.getHost();
    }

在您开始使用应用之前,请确保您已通过网站管理员工具进行了网站验证。