海纳嗨数-帮助中心
SDK接入
帮助中心 > 技术文档 > 服务端SDK > Java SDK > SDK接入
Python SDK接入流程主要分为两个步骤(两个文档):
1、SDK配置:将对应的SDK集成到您的产品项目中,然后进行初始化代码处理;
2、SDK接入:将需要上报的业务数据,按照SDK中对应的的方法进行数据上送。
1. 发送事件示例
from hina.sdk import HinaCloudSDK
# url配置采集上报地址URL(在线申请)
url = "数据接收地址"
# 1.初始化
hina_sdk = HinaCloudSDK.init(url, 2)
# 2.注册全局属性
hina_sdk.register_super_properties({'H_os': 'macos', 'H_os_version': 'ventura'})
# 3.发送事件,未登录
anonymous_id = '1234567890987'
hina_sdk.send_event(anonymous_id, 'python_test_event', {'cat_name': 'san', 'pay_type': 'online999'}, False,
int(time.time() * 1000))
# 4.登录并绑定用户ID
account_id = '1700114668653'
hina_sdk.bind_id(account_id, anonymous_id)
# 5.登录后发送事件
hina_sdk.send_event(account_id, 'python_test_event', {'cat_name': 'san', 'pay_type': 'online991'}, True,
int(time.time() * 1000))
# 6.程序退出时调用close方法,确保队列中的事件数据已全部发送
hina_sdk.close()
2. 设置用户ID
SDK 实例登录前使用匿名ID发送事件,登录后使用登录后ID发送事件,用户登录后,可以将登录ID和匿名ID绑定
hina_sdk.bind_id('登录ID', '匿名ID')
参数解释:
参数 | 默认值 | 说明 |
---|---|---|
account_id | str | 登录ID |
anonymous_id | str | 匿名ID |
样例:
# 设置用户ID
hina_sdk.bind_id('1700114668653', '1234567890987')
3. 设置用户属性
3.1 设置用户属性
直接设置用户的属性,如果存在则覆盖
hina_sdk.user_set('用户ID', 用户属性)
参数解释:
参数 | 默认值 | 说明 |
---|---|---|
account_id | str | 用户ID |
data | dict | 用户属性 |
样例:
# 设置用户属性
data = {
'name': 'zhangsan',
'age': 33,
'sex': 'male',
'birth': '1991-02-05 11:22:33'
}
hina_sdk.user_set(account_id, data)
3.2 固定初始值的属性
如果不存在则设置,存在就不设置
hina_sdk.user_set_once('用户ID', 用户属性)
参数解释:
参数 | 默认值 | 说明 |
---|---|---|
account_id | str | 用户ID |
data | dict | 用户属性 |
样例:
# 设置固定初始值的属性
data = {
'name': 'zhangsan',
'company_name': 'haina',
}
hina_sdk.user_set(account_id, data)
3.3 数值类型的属性
对当前用户的属性做递增或者递减
hina_sdk.user_add('用户ID', key, value)
参数解释:
参数 | 默认值 | 说明 |
---|---|---|
account_id | str | 用户ID |
key | str | 用户属性KEY |
value | int | 属性值,数值型 |
样例:
# 对当前用户的属性做递增或者递减
hina_sdk.user_add(account_id, 'age', 1)
3.4 列表类型的属性
对于用户的兴趣爱好、喜欢的运动、喜欢的书籍等属性,可以记录为列表类型属性。列表中重复的元素的值会自动去重。
# 对用户集合类型的属性设置
hina_sdk.user_append(account_id, data)
参数解释:
参数 | 默认值 | 说明 |
---|---|---|
account_id | String | 用户ID |
data | dict | 用户列表属性,集合中key为属性名,value为List类型属性值 |
样例:
data = {
'games': ['王者荣耀', '开心消消乐'],
}
hina_sdk.user_append(account_id, data)
3.5 属性取消
删除当前用户的一些属性
hina_sdk.user_unset('用户ID', key)
参数解释:
参数 | 默认值 | 说明 |
---|---|---|
account_id | str | 用户ID |
key | str | 用户属性KEY |
样例:
# 取消用户属性
hina_sdk.user_unset(account_id, 'birth')
4 设置公共事件属性
对于所有事件都需要添加的属性,可在初始化 SDK 后,调用 register_super_properties
将属性注册为公共属性
hina_sdk.register_super_properties(data)
参数解释:
参数 | 默认值 | 说明 |
---|---|---|
data | dict | 属性 |
样例:
# 设置全局属性
hina_sdk.register_super_properties({'H_os': 'macos', 'H_os_version': 'ventura'})
5. 发送事件
在 SDK 初始化完成之后,您就可以进行数据埋点,收集用户的的行为信息
hina_sdk.send_event(user_uid, event_name, data, is_login, event_time)
参数解释:
参数 | 默认值 | 说明 |
---|---|---|
user_uid | str | 您平台用户唯一标识 |
event_name | str | 事件名称 |
data | dict | 事件属性信息 |
is_login | bool | 是否登录 |
event_time | int | 事件的时间,13位,时间戳 |
样例:
# 登录前发送事件
hina_sdk.send_event(anonymous_id, 'python_test_event', {'cat_name': 'san', 'pay_type': 'online991'}, False,
int(time.time() * 1000))
# 登录后发送事件
hina_sdk.send_event(account_id, 'python_test_event', {'cat_name': 'san', 'pay_type': 'online991'}, True,
int(time.time() * 1000))
6. 立即上报
调用flush(),执行一次同步发送,将缓存的数据立即执行上报。
hina_sdk.flush()
7. 程序生命周期结束
在进程结束或者数据发送完成时,调用close(),停止海纳分析SDK所有服务、释放资源
hina_sdk.close()
作者:邓昊 创建时间:2023-02-27 09:10
最后编辑:赵娟 更新时间:2024-11-20 17:38
最后编辑:赵娟 更新时间:2024-11-20 17:38