My favorites | 中文(简体) | Sign in

opensocial.Activity (v0.7)

 概述     详述

类 opensocial.Activity

活动的表示。

活动通过一个标题和一个可选活动实体呈现。

调用 opensocial.createActivity 时,可以直接将此标题和实体设置为字符串。

但是,使用标题和实体的活动模板来创建活动通常有很多好处。活动模板支持:

  • 国际化
  • 消息中的替换变量
  • 活动总结,它是其他形式的消息,用于总结共享某些通用信息的重复活动。

在小工具规范中活动模板被定义为消息。要定义消息,需要为您支持的每个区域设置创建和引用消息包 XML 文件。

小工具 XML 中的模块规范实例:

<ModulePrefs title="ListenToThis">
  <Locale messages="http://www.listentostuff.com/messages.xml"/>
  <Locale lang="de" messages="http://www.listentostuff.com/messages-DE.xml"/>
</ModulePrefs>

消息包实例:

<messagebundle>
 <msg name="LISTEN_TO_THIS_SONG">
    ${Subject.DisplayName} told ${Owner.DisplayName} to
    listen to a song!
 </msg>
</messagebundle>

发布活动时,可以设置自定义的键/值对。这些值将用于替换模板中的变量。

JS 调用实例:

  var owner = ...;
  var viewer = ...;
  var activity = opensocial.newActivity('LISTEN_TO_THIS_SONG',
   {Song: 'Do That There - (Young Einstein hoo-hoo mix)',
    Artist: 'Lyrics Born', Subject: viewer, Owner: owner})

关联的消息:

<msg name="LISTEN_TO_THIS_SONG">
    ${Subject.DisplayName} told ${Owner.DisplayName} to listen
    to ${Song} by ${Artist}
</msg>

发布活动时,也可以将用户设置为键/值对中的值。然后,可以引用用户的以下域:

  • ${Person.DisplayName} 用户的姓名
  • ${Person.Id} 用户的用户 ID
  • ${Person.ProfileUrl} 用户的个人资料网址
  • ${Person} 将显示用户的显示名称,但是容器可以随意提供特殊格式,例如将名称显示为链接

用户的活动流中具有许多活动,但是容器不会显示用户可以看到的每个活动。为帮助显示大量活动,容器将会总结一个活动列表,包括从指定来源到单个条目的活动。

您可以提供活动总结,以自定义在总结多个活动时显示的文本。如果未提供自定义文本,容器可能会忽略您的所有活动或提供默认文本(例如“鲍勃更改了他的状态消息 + 20 个其他与此类似的事件”)。

  • 活动总结始终围绕键/值对中的特定键进行总结。因此,总结可以显示一些具体的信息(这在下面的实例中可以更清楚地看到)。
  • 其他变量将会有合成的“Count”变量,这些变量是通过已总结的总项目数创建的。
  • 总结的消息 ID 为主模板的消息 ID + “:”+ 数据键

总结实例:

<messagebundle>
  <msg name="LISTEN_TO_THIS_SONG:Artist">
    ${Subject.Count} of your friends have suggested listening to songs
    by ${Artist}!
  </msg>
  <msg name="LISTEN_TO_THIS_SONG:Song">
    ${Subject.Count} of your friends have suggested listening to ${Song}
  !</msg>
  <msg name="LISTEN_TO_THIS_SONG:Subject">
   ${Subject.DisplayName} has recommended ${Song.Count} songs to you.
  </msg>
</messagebundle>

活动模板仅可能包含以下 HTML 标签:<b>、<i>、<a> 和 <span>。容器在呈现活动时还可以选择删除这些标签。

另请参阅:opensocial.newActivity()opensocial.requestCreateActivity()

方法概述

 String getField(key)
获取与指定键关联的活动数据。
 String getId()
获取可以与此活动永久关联的 ID。
setField(key, data)
为这个与指定键关联的活动设置数据。
 

方法详述

getField

String getField(key)
    获取与指定键关联的活动数据。
    参数:
      String key - 要获取其数据的键;请参阅 Field 类以了解可能的值
    返回:
      String 数据

getId

String getId()
    获取可以与此活动永久关联的 ID。
    返回:
      String ID

setField

setField(key, data)
    为这个与指定键关联的活动设置数据。
    参数:
      String key - 要为其设置数据的键
      String data - 要设置的数据

文档由 JsDoc Toolkit 1.3.3 生成