GADI(Google Analytics Dependency Injection)的缩写
使您能够在 iOS 中从外部注入 Google Analytics 的跟踪处理
内部处理使用 AOP 库的 MOAspects,通过 AOP 将跟踪处理嵌入
在 Podfile 中输入以下内容,并运行 pod install
pod 'GADI'
此库是使用设置用的 PropertyList 文件(.plist)为基础进行处理的,因此需要将以下 plist 文件导入到项目中的资源文件中
设置名 | 详情 | 必要 |
---|---|---|
Class | GA 跟踪的类 | ○ |
MethodSignature | GA 跟踪的函数 | ○ |
GA:Type | 跟踪种类、“Screen” 或 “Event” 中任选其一进行设置 | ○ |
GA:Screen | GA 页面跟踪所需的 Screen 字符串 | × |
GA:Category | GA 事件跟踪所需的 Category 字符串 | × |
GA:Action | GA 事件跟踪所需的 Action 字符串 | × |
GA:Label | GA 事件跟踪所需的 Label 字符串 | × |
GA:Value | GA 事件跟踪所需的 Value 字符串(目前未实现) | - |
GA 嵌入处的指定全部在设置文件中进行
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>Class</key>
<string>AppleViewController</string>
<key>MethodSignature</key>
<string>viewDidAppear:</string>
<key>GA:Type</key>
<string>Screen</string>
<key>GA:Screen</key>
<string></string>
<key>GA:Category</key>
<string></string>
<key>GA:Action</key>
<string></string>
<key>GA:Label</key>
<string></string>
<key>GA:Value</key>
<string></string>
</dict>
<dict>
<key>Class</key>
<string> AppleViewController </string>
<key>MethodSignature</key>
<string>didTapAppleButton</string>
<key>GA:Type</key>
<string>Event</string>
<key>GA:Screen</key>
<string></string>
<key>GA:Category</key>
<string>Apple</string>
<key>GA:Action</key>
<string>Tap</string>
<key>GA:Label</key>
<string>Button</string>
<key>GA:Value</key>
<string></string>
</dict>
</array>
</plist>
完成上述设置后,执行以下方法以完成 GA 跟踪的实现:
GADInjector.injectWithTrackingID("", /* Please GoogleAnalytics tracking ID */
configPropertyListPath:NSBundle.mainBundle().pathForResource("GoogleAnalyticsConfig.plist", ofType: ""))
该演示应用将显示苹果、香蕉和橙子等不同的界面,通过在应用中嵌入 GA 跟踪 ID 来运行,可以验证可以进行跟踪
https://github.com/MO-AI/GADI/tree/master/GADIDemo/
尚未实现对事件的 Value 跟踪,但计划在未来实现。如有其他建议,欢迎提交 Issue,我们将非常高兴!