Infinario Python开发包

infinario的Python项目详细描述


infinario python sdk
=====


…图片::https://travis ci.org/infinario/python sdk.svg
:target:https://travis ci.org/infinario/python sdk
:alt:travis ci

"infinario.infinario"类提供对infinario python跟踪api的访问,
同时支持同步和异步模式。

例如:

…代码块::python


from infinario import infinario


client=infinario('12345678-90ab-cdef-1234-567890abcdef')\production environment
\client=infinario('12345678-90ab-cdef-1234-567890abcdef',silent=false)开发环境

我们建议在开发环境中将"silent"参数设置为"false",因为它会导致infinario api在出现错误时抛出异常。当保留默认值"true"时,将记录所有错误
(另请参阅"logger"参数)。



您需要使用infinario project secret(在概览屏幕中找到)作为"secret"关键字参数初始化客户机。代码块::python

client=infinario('12345678-90ab-cdef-1234-567890abcdef',
secret='fedcba09-8765-4321-fedc-ba0987654321')



生成
它们。这可以在调用客户机的
构造函数时正确完成。代码块::python

python
client=infinario('12345678-90AB-CDEF-1234-567890ABCDEF',customer='john123')


或者通过调用'identify'。

代码块::python



tracking events
----


要跟踪当前选定客户的事件,只需调用"track"方法即可。代码块::python



您还可以指定一个事件属性字典,将
与事件一起存储。代码块::python



代码块::python

timestamp=time.time()

时间流逝..

client.track('purchase',timestamp=timestamp)


代码块::python

client.update({'first_name':'john','last_name':'smith'})


代码块::python

client.get_html('banner left')


将返回::

<;img src="/my-awesome-banner-1.png"/>;'



analysis export
----

使用"export_analysis"客户机方法。
在客户机初始化期间需要进行身份验证(见上文)。
第一个参数是分析类型(漏斗、报告、保留、分段)。第二个参数是json object
,它至少包含要导出的分析的id。
可选参数包括format`(format`(native-json`(默认值)、`table-json`、`csv`)、
`time zone`(根据iana时区数据库,默认值为'utc`)
`(Unix时间戳指定要包含的事件的上限,默认为现在)。

…代码块::python

client=infinario('12345678-90ab-cdef-1234-567890abcdef',
secret='fedcba09-8765-4321-fedc-ba0987654321')


data=client.export撸analysis('funnel',{
'analysis撸id':'2f86608f-24f5-11e3-9950-c48494cf5',
'format':'native json',
'时区':'utc',
})


代码块::python

{
"success":true,
"name":"转换漏斗",
"steps":["first visit","registration","first log in","purchase","payment"],
"total":{
"counts":[48632,24120,20398,1256,1250],
"times":[-16804502 45 540300],
"metric":1987562
},
"drill-down":{
"type":"none",
"series":[]
},
"metric":{
"step":4,
"property":"price"
}
}



分段结果
---------


您还可以导出特定客户的分段结果
(您需要在初始化时指定该客户,或使用"identify"方法指定该客户)。
在客户端初始化期间进行身份验证所必需的(见上文)。

…代码块::python

client=infinario('12345678-90ab-cdef-1234-567890abcdef',
secret='fedcba09-8765-4321-fedc-ba0987654321',
customer='john123')

segment=client.segment_for('11112222-3333-4444-5555-6677888',
timezone=utc,timeout=0.5)

如果客户不属于任何
定义的段,或者在给定的超时时间内无法确定其段,该方法将返回"none"。
"timezone"和"timeout"参数是可选的,默认值如示例所示。



transport types
----


默认情况下,客户端使用简单的非缓冲同步传输。三种可用的传输类型是:
*`nulltransport`-无请求,对于在infinario构造函数中禁用跟踪很有用。
*`synchronoustransport`(默认值)大多数操作在请求infinario api时都是阻塞的
*`asynchronoustransport`-大多数操作都是非阻塞的(有关详细信息,请参阅代码)、
buffered和使用单个工作线程。当不再跟踪数据时,必须关闭Infinario客户端。
**我们建议不要使用异步传输,因为无法保证数据将被发送。**
例如,在各种系统故障事件中,甚至由于误用,都可能发生数据丢失。
要异步跟踪代码中的数据,请考虑使用库(如芹菜)创建自己的异步工作进程,并使用synchronoustransport从中发送数据。

代码块::python


transport=asynchronoustransport)

代码块:sh

token='12345678-90ab-cdef-1234-567890abcdef'
customer='john123'

"$token""$customer"first_name=john last_name=smith

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javajexcel包装文本问题   EclipseJavaEnum缩进超过左括号。如何让它看起来更正常?   java有办法包含Tomcat 6 catalina。out和localhost。在网络应用的日志文件中记录内容?   java如何永久性地阻止JavaFX代码在eclipse中被突出显示为错误?   如何在java中优化两个for循环(for循环中的for循环)   java如何在我的windows机器上从jar文件创建mac osx的可执行文件   使用记忆化/动态规划的Java组合学   Java中的游荡对象垃圾收集   java为什么我在JSP和JDBC和MySQL中遇到连接失败错误   java轮询Pod的就绪状态   如何创建电子邮件并将其发送到Java中的特定地址?   java如何修复Dagger 2错误“。。。无法提供[…]”?   java Android单选按钮看起来太轻   Android Studio:开发在应用程序之间共享的通用java库