在 PhoneGap 1.2.0 中使用 Google Analytics 时 Android 和 iOS 之间的差异

2023-12-25

我一直在尝试让 Google Analytics 在 Android 和 iOS 上的 PhoneGap 1.2.0 中工作。

在 PhoneGap 1.2.0 中使用 Google Analytics 时,Android 和 iOS 之间的主要区别是什么?


Android 和 iOS 所需的三个主要组件以及不同部分。

  1. GAP分析 from PhoneGap 插件 https://github.com/phonegap/phonegap-plugins%5D

    • Android
      • GoogleAnalyticsTracker.java
      • 分析.js
    • iOS
      • GoogleAnalyticsPlugin.h / GoogleAnalyticsPlugin.m
      • GoogleAnalyticsPlugin.js
  2. 谷歌分析 from Google http://code.google.com/mobile/analytics/docs/

    • Android
      • libGoogleAnalytics.jar(无可用来源)
    • iOS - these are included with the phonegap plugin for convenience
      • libGoogleAnalytics.a(无可用来源)
      • GANTracker.h
  3. PhoneGap from PhoneGap http://phonegap.com/

    • Android
      • add <plugin name="GoogleAnalyticsTracker" value="com.package.path.to.class.GoogleAnalyticsTracker"/>到 res/xml/plugins.xml 文件
    • iOS
      • 在“Supporting Files/PhoneGap.plist”文件中添加:
      • Plugins:
        • key = googleAnalytics(javascript 中使用的名称) Value = GoogleAnalytics(Obj-C 对象的名称)
      • External Hosts
        • ‘*’(不带引号)作为项目 0

注意:请记住,尽管 iOS 和 Android 版本有phonegap-1.2.0.js文件他们是NOT相同的文件。代码不同,您不能在平台之间复制它。确保您的应用程序使用适当的版本。


安卓 JavaScript

window.plugins.googleAnalytics.start ("your UA code",       //UA-account ID
         function() { console.log("started") },             //successCallBack
         function() { console.log("didn't start") }         //failureCallBack
);



window.plugins.googleAnalytics.trackPageView (          //**NB**: NOTE CAPITAL 'V'
               "/Main Page",                                    //Page  (include /)
               function() {console.log("tracked page view")},           //successCallBack   
               function() {console.log("didn't track page view")}       //failureCallBack
);


window.plugins.googleAnalytics.trackEvent (
            "Contact",                                          //Category
            "Email",                                            //Action
            “John Smith”,                                       //Label
            0,                                                  //Value
            function() { console.log("tracked event") },        //successCallBack
            function() { console.log("didn't track event") }    //failureCallBack
);

iOS JavaScript

window.plugins.googleAnalyticsPlugin.startTrackerWithAccountID(“your UA code”); 

window.plugins.googleAnalyticsPlugin.trackPageview(whichPage); //Note lowercase v in trackPageview.    

window.plugins.googleAnalyticsPlugin. googleAnalytics.trackEvent(
    "Contact",
    "Email",
    “John Smith”
    0, 
    function() { console.log("tracked event") },            //successCallBack
    function() { console.log("didn't track event") }        //failureCallBack
);

NB。变量“whichpage”前面必须有一个正斜杠 (/)。如果没有这个,Android 就会让你离开。 iOS 不会。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 PhoneGap 1.2.0 中使用 Google Analytics 时 Android 和 iOS 之间的差异 的相关文章

  • CollapsingToolBarLayout - 状态栏稀松布颜色不改变

    几天前我更新了我的 android studio 并开始使用 CoordinatorLayout 和 CollapsingToolbarLayout 只是尝试一些东西 工具栏稀松布颜色似乎覆盖了状态栏初始颜色和状态栏稀松布颜色 从 xml
  • Android SIP 来电使用带有广播接收器的服务

    大家好 其实我正在尝试创建一个应用程序 支持基于 SIP 通过互联网进行音频呼叫 这里使用本机 sip 我遇到了来电问题 我已经完成了服务的注册部分 但是在接听电话时我无法接听电话 请帮助我 Service file package exa
  • 尝试将相机切换回前面但出现异常

    尝试将相机切换回前面 但出现异常 找不到 问题请检查并帮助 error 01 27 11 49 00 376 E AndroidRuntime 30767 java lang RuntimeException Unable to start
  • 使用 UITabBarController 时覆盖整个屏幕的视图?

    我想在 UITabBarController 设置中在整个屏幕上覆盖 HUD 样式的透明图形 执行此操作的按钮位于第一个选项卡的屏幕 FirstViewController 中 并且覆盖层也应该覆盖选项卡 这可能吗 您可以将新视图直接附加到
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • 在 SQLite 中搜索时排除 HTML 标签和一些 UNICODE 字符

    更新 4 我已经成功运行了firstchar例如 但现在的问题是使用regex 即使包含头文件 它也无法识别regex操作员 有什么线索可以解决这个问题吗 更新 2 我已经编译了sqlite3我的项目中的库 我现在正在寻找任何人帮助我为我的
  • Google 云端硬盘身份验证异常 - 需要许可吗? (v2)

    我一直在尝试将 Google Drive v2 添加到我的 Android 应用程序中 但无法获得授权 我收到 UserRecoverableAuthIOException 并显示消息 NeedPermission 我感觉 Google A
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 如何使用 IOS 12 在 UITableViewCell 中正确添加 UICollectionView

    由于某些原因 在使用 Xcode 10 beta 时 我无法正确显示 tableview 单元格内集合中的某些项目 在过去的四天里我尝试了我所知道的一切 我做了一个小项目样本来看看我的问题是什么 如果有人想在本地运行完整代码 请参见此处 h
  • 我想实现下面的布局,按钮应该在屏幕底部,当惰性列被填充时,按钮不应该出去

    顶部有惰性列 惰性列下方有输入电话号码布局并从电话簿布局添加联系人 我希望当未添加联系人时此布局位于顶部 当我添加大量联系人时输入电话号码并添加电话簿布局中的联系人会随着惰性列滚动并移出屏幕 我不让他们走出屏幕 当接触较多时 它们必须粘在底
  • 如何发布Android .aar源以使Android Studio自动找到它们?

    我正在将库发布到内部 Sonatype Nexus 存储库 Android Studio 有一个功能 可以自动查找通过 gradle 引用的库的正确源 我将 aar 的源代码作为单独的 jar 发布到 Nexus 但 Android Stu
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • Android向menuItem添加子菜单,addSubMenu()在哪里?

    我想根据我的参数以编程方式将 OptionsMenu 内的子菜单添加到 menuItem 中 我检查了android sdk中的 MenuItem 没有addSubMenu 方法 尽管你可以找到 hasSubMenu 和 getSubMen
  • .isProviderEnabled(LocationManager.NETWORK_PROVIDER) 在 Android 中始终为 true

    我不知道为什么 但我的变量isNetowrkEnabled总是返回 true 我的设备上是否启用互联网并不重要 这是我的GPSTracker class public class GPSTracker extends Service imp
  • 在activity_main.xml中注释

    我是安卓新手 据我所知 XML 中的注释与 HTML 中的注释相同 使用 形式 我想在 Android 项目的 Activity main xml 配置文件中写一些注释 但它给了我错误 值得注意的是 我使用的是 Eclipse 但目前 我直
  • 上传存档错误:“缺少 iOS 发行版签名身份......”

    我正在尝试使用 Xcode 将我的 iOS 应用程序存档上传到 iTunes Connect 但是当我单击 上传到 App Store 时 出现错误 Xcode 尝试查找或生成匹配的签名资产并 由于以下问题未能做到这一点 缺少 iOS 为
  • 如何在 UITableView 的 switch 语句中创建变量?

    我正在构建一个包含三个部分的 tableView 我已经完成了前两个工作 但最后一个有点阻力 我的问题似乎涉及尝试在 switch 语句中声明变量 实际上是嵌套的 switch 语句 据我所知 这不是一个好主意 但在这种情况下 这似乎是唯一
  • Crashlytics 出现 Android Studio 构建错误

    我正在尝试将 CrashLytics 与 Android Studio 和 gradle 一起使用 但出现一个令人困惑的错误 java lang NoSuchMethodError 我的 build gradle 是 buildscript

随机推荐

  • 在 GTK+3 中滚动 WebKit2.Webkit 窗口

    如何滚动webkit2gtk widget In webkitgtk aka webkit1 你包裹你的WebView in a ScrolledWindow 因此可以使用其vadjustment财产 For wekit2gtk 这个调用W
  • 将 CMS 与现有 ASP.NET 网站集成

    我正在尝试将 CMS 集成到使用 ASP NET 构建的现有网站中 aspx文件和 aspx cs文件背后的代码 未编译 我的研究表明 我的最佳候选者是 N2 CMS 我理想的方法是使用各种可编辑内容类型配置编辑器 并让我现有的页面和用户控
  • 如何正确使用 Django 中的“choices”字段选项

    我正在这里阅读教程 https docs djangoproject com en 1 5 ref models fields choices https docs djangoproject com en 1 5 ref models f
  • gpuDevice() 工具包版本始终为 5.5

    无论我如何重新安装CUDA驱动程序和工具包 当输入gpuDevice 时 它总是显示 CUDADevice with properties Name Quadro K2000M Index 1 ComputeCapability 3 0 S
  • 删除/清空的 Graphite Whisper 文件自动重新生成

    我试图删除一些旧的石墨测试耳语指标 但没有成功 我可以通过删除文件来删除指标 看 如何清理石墨耳语的数据 https stackoverflow com questions 9587161 how to cleanup the graphi
  • 如何使用 Gitlab 设置代码审查?

    如何使用 Gitlab 设置代码审查 我看到它在 Gitlab 网站上被列为一项功能 但我似乎找不到有关如何设置该功能的说明 就这一点而言 任何指向 Gitlab 用户手册的链接将不胜感激 我的一些搜索表明 合并请求 是可行的方法 但我发现
  • 从命令行启动 AVD 时卡在“撤销 Google 应用程序的麦克风权限”上

    我正在运行命令来启动 AVD 但是 当设备启动时 卡在这个错误上 撤销 Google 应用的麦克风权限 有什么线索吗 我正在使用 AVD 设备 API 28 运行这些命令时出现同样的错误 Users username Library And
  • 了解 WCF

    谁能给我指出一个用图片和简单代码片段解释 WCF 的资源 我厌倦了在所有搜索结果中进行谷歌搜索并找到相同的 ABC 文章 WCF 是一项非常复杂的技术 在我看来 它的文档记录非常少 它的启动和运行非常容易 但是运行大型应用程序的性能调整可能
  • 如何使用 dalli 和 Rails 将内存缓存板大小增加到 1MB 以上?

    我正在使用 Ruby on Rails 和 dalli gem 通过 memcache 进行缓存 默认值 键值存储中的值 又名slab 最大大小为1MB 我想将其增加到 2MB dalli 的文档 https stackoverflow c
  • 无法找到名为“entityManagerFactory”的 bean

    我的应用程序无法启动 它由 Spring Boot JPA SQLite 组成 但 Spring Boot 和 MySQL 运行良好 我不明白为什么会发生这种情况 错误是 无法找到名为 entityManagerFactory 的 bean
  • Stripe 在 Python 中不会抛出充电错误

    我正在使用 Python 中的 stripe 库进行信用卡收费 我使用 customerID 来收费 而不是使用令牌 因为我想重复使用该卡 而无需每次都询问 成功过程运行得很好 但是 如果我创建错误条件 则永远不会抛出 例外 我正在使用无效
  • Javascript document.cookie 总是返回空字符串

    我在客户端 javascript 设置 cookie 时遇到了这个真正奇怪的问题 我目前正在开发一个小型的 1 页演示 以使用 cookie 来存储一些 首选项 请注意 我无法在此演示中使用服务器端语言或任何第 3 方 jQuery 插件
  • 尝试使用 python 3 加载 JSON 对象时出错

    我有以下 json 对象 我试图用 python 3 解析 customerData Joe visits 1 Carol visits 2 Howard visits 3 Carrie visits 4 我使用以下 python 代码来解
  • 等待任务.Delay(foo);需要几秒而不是毫秒

    使用可变延迟Task Delay当与类似 IO 的操作结合时 随机花费几秒而不是几毫秒 重现代码 using System using System Collections Generic using System Diagnostics
  • React-js 忽略标签的 'for' 属性

    我知道对于 class 我们必须使用 className 但是我如何做出反应以保留 for 属性 下列
  • 在循环中定义匿名函数(包括循环变量)?

    我知道这段代码不起作用 我也知道为什么 但是 我不知道如何解决它 JavaScript var function id return document getElementById id document addEventListener
  • 如何从我的网站邀请 Facebook 的朋友 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • SQL Server 2008 R2(.Net 2.0 应用程序)中的死锁问题

    所讨论的 Sql Server 2008 R2 实例是一个重负载 OLTP 生产服务器 几天前出现了僵局问题 但仍未解决 我们收到了 Xml 死锁报告 其中列出了死锁涉及的存储过程以及其他一些详细信息 我将首先尝试列出此 xml 中的事实
  • iOS 开发者版本与发行版版本

    一段时间以来 我一直有这样的印象 对于 iOS 使用开发人员配置文件签署构建允许应用程序通过 XCode 构建在授权设备 在开发配置文件中列出 上运行 并进行调试 而使用分发配置文件签名允许应用程序在其他 iOS 设备上运行 但不能调试 这
  • 在 PhoneGap 1.2.0 中使用 Google Analytics 时 Android 和 iOS 之间的差异

    我一直在尝试让 Google Analytics 在 Android 和 iOS 上的 PhoneGap 1 2 0 中工作 在 PhoneGap 1 2 0 中使用 Google Analytics 时 Android 和 iOS 之间的