ios - 将 Google 移动分析与 MVVMCross 集成

标签 ios google-analytics mvvmcross

新的 Google Analytics SDK 为 UIViewController 引入了一个新的子类,您必须从中继承:GAITrackedViewController

更多信息请点击:https://developers.google.com/analytics/devguides/collection/ios/v2/screens

这显然与 MvxBindingTouchViewController 冲突,因为您只能从 C# 中的一个类继承。

建议使用什么方法来实现此功能?

最佳答案

MvvmCross 的 MvxTouchViewController 很特别...

MvvmCross 的 MvxBindingTouchViewController 更加特别......

但这些的特殊之处在于它们继承自标准 UIViewController(UIVIewController、UITableViewController、UITabBarController 等),然后添加以下功能:

  • Cirrious.MvvmCross 层的 ViewModel 构造和 ViewModel 属性
  • Cirrious.MvvmCross.Binding 层绑定(bind)的构建和存储
<小时/>

看一些例子:

在这些中,您有望看到这涉及大量的代码剪切和粘贴 - 尽管我们确实尝试使用扩展方法来最小化它。 (如果 C# 有多重继承或 mixins,我们就不需要这样做 - 我很想有 Mixins...但永远不想要多重继承!)

所以......如果你想添加自己的MvxXXXXXBindingViewController,那么:

  1. 参加基础 XXXXX 类(class),
  2. 继承它并添加“the stuff”以创建 MvxXXXXViewController,
  3. 然后获取您的 MvxXXXXXViewController 并再次继承它以制作您的 MvxBindingXXXXXViewController
  4. 发布到您的博客和新的 GitHub 存储库,以便其他人可以利用您的辛勤工作
  5. 工作完成
<小时/>

高级注释:

  • 如果您想在 Droid 中看到相同的内容,请参阅 Insert a Monogame view inside MvvmCross monodroid Activity

  • TabBarController 也很有趣 - 它有一些额外的方法

  • 在“很快”的某个时刻(今年上半年)我们将创建 VeeThree,这会将 MvxViewController 切换为非通用格式 - 这是因为 MonoTouch 现在建议不要在 iOS 基类上使用泛型 - Rolf说它在大多数情况下是安全的,但当它导致错误时,它们就是“heisenbugs”。

  • 当前类中还有一些失效的旧 iOS 代码 (ViewDidUnload) - 这些代码也将在 VeeThree 中被剔除。

关于ios - 将 Google 移动分析与 MVVMCross 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14518876/

相关文章:

ios - 左镜像照片的缩略图方向错误

ios - 从 PHP 解密 Objective-C 中的 AES128/CBC

statistics - 使用 Google Analytics 跟踪两种不同的用户类型?

c# - 找不到 fragment.inflate 的类

xamarin - MVVMCross 这个 View 如何链接到 ViewModel?

ios - 罗盘和陀螺仪传感器融合 : between 0 and 360 degrees

ios - 突出显示或放大选定的单元格?

javascript - Google Analytics hitCallback 超时

google-analytics - 如何设置网址友好的Google Analytics(分析)跟踪广告系列

c# - MvvmCross - MvxListView绑定(bind)多次点击