用于在Advocate平台上开发交互式小部件等的sdk
advocate-sdk的Python项目详细描述
倡导python sdk
此sdk用于在advocate直播平台上开发工具。目前,它主要用于创建对操作的动态调用(即显示在广播流上的交互式小部件),尽管将来可能会添加更多功能。
用法
要开始使用advocate sdk,请使用以下命令加载客户端:
>>> from adv.client import AdvClient >>> client = AdvClient('my-super-secret-api-key')
注意:如果您没有api密钥,请联系info@adv.gg使用,并告诉我们您的需要。
创建新的动态操作调用
要创建新的DCTA(动态行动要求)--我们的交互式屏幕应用程序--您首先需要获取当前活动的活动:
>>> my_campaigns = client.get_campaigns() >>> my_campaigns [<Campaign: My Hearthstone Campaign>, <Campaign: Going to E3>]
您可以使用create_dcta
方法在活动上创建新的DCTA:
>>> my_campaigns = client.get_campaigns() >>> campaign = my_campaigns[0] >>> campaign.create_dcta(name='Lower Thirds DCTA') <DCTA: Lower Thirds DCTA>
可能的夸克数是:
name(必需):描述DCTA的简短、可读的名称
global{/strong>:字典的python字典,描述将添加到browersource的
<head>
标记中的css样式。例如:{'.my-class':{'position':'absolute','top':'10px'...},'#my-id: {...}...}
这些可以在以后更新,并且在初始创建dcta时不必定义。
要获取所有当前dcta,可以使用get_dctas
方法:
>>> client.get_dctas() [<DCTA: Triva Night App>, <DCTA: Lower Thirds DCTA>]
渲染DCTA
在dcta上调用render
函数将为当前在其流上显示此dcta的所有流式广播电台重新呈现dcta。更新小部件后调用此命令,以确保正确呈现新更新的小部件:
>>> dctas = client.get_dctas() >>> my_dcta = dctas[0] >>> my_dcta.render()
将小部件添加到DCTA
dcta是由对应于某些html元素的Widget
对象组合而成的。它们目前包括:
- text小部件:用于将易于更新的文本插入到DCTA中。创建一个
<p>
标记。 - image小部件:将图像添加到DCTA中。创建一个
<img>
标记。 - group widget:用于将多个元素组合在一起(例如,用于将css动画或位置应用于一组elmenet)。创建一个
<div>
标记。 - video widget:即将推出。
要创建新的文本小部件,请对任何dcta对象使用add_text_widget
方法:
>>> my_dcta.add_text_widget(name='Lower Thirds Headline Text', text='Breaking News!') <Widget (text): Lower Thirds Headline Text>
将小部件添加到dcta后,您将能够使用dcta上的widgets
字段看到它:
>>> my_dcta.widgets [<Widget (text): Lower Thirds Headline Text>]
在所有窗口小部件类型上共享以下kwarg:
- name(必需):描述小部件的简短、可读的名称
- styles:将应用于小部件的内联css样式字典
- attributes:将添加到小部件中的HTML属性字典(例如
class
) - broadcasters:要添加到此小部件的广播者用户名列表。如果小部件有no广播程序,则all广播程序将看到它。如果小部件有广播者,它将只显示给那些广播者。这使得小部件的特定部分可以针对特定广播公司(例如,每个广播公司的唯一广播公司特定文本)。
- parent:当前小部件的父级组小部件的ID。如果小部件没有父元素(即是根元素),则可以为none
以下是特定窗口小部件上的Kwarg:
- text小部件:
- text(必需):要显示的实际文本内容
- image小部件:
- src(必需):要显示的图像的URL。
- 视频小部件:
- 即将推出
更新小部件
使用update
m在任何窗口小部件上的方法更新窗口小部件上的任何上述属性:
>>> my_widget = my_dcta.widgets[0] >>> my_widget <Widget (text): Lower Thirds Headline Text> >>> my_widget.text 'Breaking News!' >>> my_widget.update(text='Old News!') <Widget (text): Lower Thirds Headline Text> >>> my_widget.text 'Old News!'
注意:这将更新服务器上的小部件数据,但不会{str 1}$导致dcta重新呈现和显示新信息。这是因为渲染在计算上很昂贵,而且您可能希望在渲染之前更新多个小部件。要在更新后强制重新呈现DCTA,可以添加force_render
kwarg:
>>> my_widget.update(text='Look Ma, Immediate Update!', force_render=True)
这相当于呼叫:
>>> my_widget.update(text='Look Ma, Manual Render!') >>> my_widget.dcta.render()