YoloMao

Results 10 comments of YoloMao

### PR 改动 * 添加事件动态通用属性注册接口 `setDynamicGeneralProps`(SPM)、`setDynamicGeneralPropsGenerator`(Cocoapods) * 将之前的通用属性相关接口标记为废弃,建议使用新接口调用 * 通用属性和动态通用属性作用于所有事件类型 * 动态通用属性和通用属性现在可以在 SDK 初始化之前配置 (作用于第一个 VISIT 事件) * 所有属性相关的接口类型限定从 `[String: String]` 改为 `[String: Any]`,现在支持 String、Number、Date、Set、Array * 移除了转化变量事件 (`CONVERSION_VARIABLES`) 和访问用户变量事件 (`VISITOR_ATTRIBUTES`)...

@dreampiggy maybe `resource_bundles` is useful in static framework case ```ruby s.subspec 'core' do |core| core.source_files = 'Sources/Core/**/*{.h,.m,.c,.cpp,.mm}' core.public_header_files = 'Sources/Core/include/*.h' core.resource_bundles = {'Your Framework Name' => ['Sources/Core/Resources/**/*']} end ``` ---...

## PR 内容 * 适配 Flutter 无埋点 SDK 事件上报,适配 WebCircle(圈选)、MobileDebugger、Protobuf、Advert 模块 ## 测试步骤 * 该原生 module 需配合 Flutter 无埋点 SDK 运行中测试 * 依照 Flutter 无埋点 SDK 测试步骤 ## 影响范围 *...

相对于对 Cocoa Touch 视图基类的埋点,用常见的 JRSwizzle 来 Hook 用户事件即可; 但 Delegate.class 的埋点有不确定性,在继承链中,当对父类和子类(未重写父类方法)先后 Hook,会触发 2 次 trackEvent,我想这也是采用 GrowingSwizzler 的一个原因; GrowingSwizzler 正如 @shiflymoon 所说的情况下,会由于 super 的特性发生无限递归,这里基于 RSSwizzle 实现,添加了 mode RSSwizzleModeOnceInTheInheritanceChain,对象继承链中只 Hook 一次同一方法,保证 trackEvent...

预计在 SDK 4.x 上修复该场景下的问题,感谢您的意见

附性能测试: 加密: ![image](https://github.com/user-attachments/assets/6eebf5fe-614d-4441-b65a-027267c91bae) 解密: ![image](https://github.com/user-attachments/assets/c2682b11-873c-4461-b96b-f55107d613f6) 可以看出,解密耗时影响较大

此 PR 为达成本地事件数据加密的目的: 1. 为什么不集成 SQLCipher 进行数据库加密:SQLCipher 开源版本暂不支持 SwiftPM 集成 2. 为什么由 SDK 自管理并存储 Secret Key,而不提供一个 Secret Key 的配置项:(1) 降低用户的集成成本;(2) 降低因用户对 Secret Key 未妥善管理造成的维护成本 3. 为什么 `localEventEncryptEnabled` 默认为 `false`:(1) 事件数据存储在用户设备本地,泄漏风险较低;(2)...

snapshot: ![image](https://github.com/user-attachments/assets/4140199c-68a8-49c0-af47-f3ddba8d7385)

> @YoloMao thanks !did you encounter the issue while using the Mac system? This bug occurs on my macbook pro's Built-in Display, and on my Extended Display everything is fine.