You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
MyQRCode/MyQrCode/Docs/FACEBOOK_SDK_INTEGRATION_RE...

148 lines
3.5 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 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
<!-- Facebook SDK Configuration -->
<key>FacebookAppID</key>
<string>YOUR_FACEBOOK_APP_ID</string>
<key>FacebookClientToken</key>
<string>YOUR_FACEBOOK_CLIENT_TOKEN</string>
<key>FacebookDisplayName</key>
<string>MyQrCode</string>
<key>FacebookAutoLogAppEventsEnabled</key>
<false/>
<key>FacebookAdvertiserIDCollectionEnabled</key>
<false/>
```
#### 需要替换的值
- `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获取更详细数据