# Facebook SDK 集成说明 ## 概述 本项目已成功集成Facebook SDK,用于跟踪用户行为和收集应用使用数据。 ## 集成内容 ### 1. 依赖管理 - 使用Swift Package Manager添加Facebook SDK - 包地址:`https://github.com/facebook/facebook-ios-sdk` - 最低版本:16.0.0 ### 2. 核心组件 #### FacebookEventManager 位置:`MyQrCode/Utils/FacebookEventManager.swift` 主要功能: - 初始化Facebook SDK - 记录各种应用事件 - 提供统一的事件跟踪接口 #### 事件类型 - **应用启动**: `logAppLaunch()` - **二维码扫描**: `logQRCodeScan(type:)` - **二维码生成**: `logQRCodeGeneration(type:)` - **功能使用**: `logFeatureUsage(feature:)` - **分享**: `logShare(contentType:)` - **购买**: `logPurchase(amount:currency:)` ### 3. 配置要求 #### Info.plist配置 ```xml FacebookAppID YOUR_FACEBOOK_APP_ID FacebookClientToken YOUR_FACEBOOK_CLIENT_TOKEN FacebookDisplayName MyQrCode FacebookAutoLogAppEventsEnabled FacebookAdvertiserIDCollectionEnabled ``` #### 需要替换的值 - `YOUR_FACEBOOK_APP_ID`: 你的Facebook应用ID - `YOUR_FACEBOOK_CLIENT_TOKEN`: 你的Facebook客户端令牌 ### 4. 使用方法 #### 初始化 在`MyQrCodeApp.swift`中自动初始化: ```swift init() { // 初始化Facebook SDK FacebookEventManager.shared.configure() } ``` #### 记录事件 ```swift // 记录二维码扫描 FacebookEventManager.shared.logQRCodeScan(type: "QR_CODE") // 记录二维码生成 FacebookEventManager.shared.logQRCodeGeneration(type: "EMAIL") // 记录分享 FacebookEventManager.shared.logShare(contentType: "qr_code") ``` ### 5. 事件跟踪点 #### 自动跟踪 - **应用启动**: 启动页面消失后自动记录 - **二维码扫描**: 扫描成功后自动记录 - **二维码生成**: 创建二维码时自动记录 - **分享功能**: 使用分享功能时自动记录 #### 手动跟踪 可以在任何需要的地方手动调用事件记录方法。 ### 6. 隐私设置 #### 已禁用的功能 - `FacebookAutoLogAppEventsEnabled`: false - 禁用自动事件记录 - `FacebookAdvertiserIDCollectionEnabled`: false - 禁用广告ID收集 #### 用户控制 - 所有事件跟踪都通过代码控制 - 不收集个人身份信息 - 只跟踪应用功能使用情况 ### 7. 测试和调试 #### 开发环境 - 使用测试Facebook应用ID - 在Facebook开发者控制台查看事件 #### 生产环境 - 使用正式Facebook应用ID - 确保所有配置正确 ### 8. 注意事项 #### 合规性 - 确保符合GDPR等隐私法规 - 在隐私政策中说明数据收集 - 提供用户选择退出的选项 #### 性能 - 事件记录是异步的,不影响应用性能 - 网络请求在后台进行 #### 错误处理 - SDK初始化失败不会影响应用功能 - 事件记录失败会静默处理 ## 故障排除 ### 常见问题 1. **编译错误**: 检查Facebook SDK是否正确添加 2. **初始化失败**: 验证Info.plist配置 3. **事件不记录**: 检查网络连接和Facebook应用配置 ### 调试步骤 1. 检查控制台日志 2. 验证Facebook应用配置 3. 测试网络连接 4. 查看Facebook开发者控制台 ## 更新和维护 ### 版本更新 - 定期更新Facebook SDK到最新版本 - 关注Facebook开发者博客的更新说明 ### 功能扩展 - 可以添加更多自定义事件 - 支持自定义参数和属性 - 集成Facebook Analytics获取更详细数据