Google App Indexing for Android 的 setId 和 getUrl 方法之间的区别?

Difference between setId and getUrl methods of Google App Indexing for Android?

我正在为我的 android 新闻应用程序集成 google 应用程序索引。我已经阅读了官方文档和代码实验室示例。他们使用以下代码为索引 api 创建了一个对象。

Thing object = new Thing.Builder()
            .setName(mTitle)
            .setUrl(mUrl)
            .build();

在探索过程中,我了解到 Thing.Builder 还有另外三个 setter,即 setId()setType()setDescription()

虽然 setDescription() 是不言自明的,但我无法理解 setId()setUrl() 方法之间的区别,

根据文档,

public Thing.Builder setId (String id)

Sets the optional web URL of the content.`

,

public Thing.Builder setUrl (Uri url)

Sets the URL of the content in the app.

但我无法弄清楚两者之间的区别。这两种方法似乎都在设置内容的 url 。就我而言,每篇新闻文章都有一个唯一的 url。所以我应该将 url 设置为哪种方法?

还有getType方法有什么用?是设置"http"还是"https"

public Thing.Builder setType (String type)

Sets the schema.org type of the content.

基于此文档:https://developers.google.com/android/reference/com/google/android/gms/appindexing/Thing.Builder.html#public-methods

id:内容的等效网络 url。

类型:内容的 schema.org 类型。

Type 是动作类型:https://developers.google.com/android/reference/com/google/android/gms/appindexing/Action#nested-class-summary

url:内容的应用URI,不能为空。 URI 必须是 HTTP(S) URL,或使用 App Indexing 格式。在任何一种情况下,调用此方法的应用程序都需要处理相应的传入 Intent 并将用户带到该内容。

干杯,

MB