|
|
# 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获取更详细数据
|