1

我在我的应用中使用 App Indexing 功能并遵循 Google Developers 指南。从指南中,我坚持以下内容。

// 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. 在该文档中,他们提到 Web URL 是可选的。但是当我删除它时会出现编译错误并且如果我将其设为空(“”)会给出 NullPointerException (不确定为空会导致 NullPointerException )

2.btn1和btn2,我们应该从哪里得到它们?为什么我们在那里给他们?. 如果我从我的项目中给出任何观点会产生 NullPointerException(这是让我不确定第一个的情况)。

如果有人有启用 App Indexing 的教程和示例代码,请提供。它可以帮助我们。

4

2 回答 2

0

1-webUrl1 是 Uri 类型的对象,您需要解析一些网址,例如使用您的谷歌播放网址

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

于 2014-08-05T13:09:36.310 回答
-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>

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

    Uri data = getIntent().getData();

此数据将提供登陆您的应用的完整网址。

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

你也可以通过这个 uri 数据来获取主机名。

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

在使应用上线之前,请确保您已通过网站管理员工具完成网站验证。

于 2014-08-05T13:21:45.637 回答