在 iOS 中实现和验证 Google 跟踪代码管理器自定义功能(Swift)

问题描述 投票:0回答:1

我有一个 iOS 应用程序,其中集成了 Firebase SDK,并且我可以看到 Firebase 调试控制台上按预期触发了一些基本事件。

接下来,我想集成 Google 跟踪代码管理器(GTM),我按照这个分步指南将 Google 跟踪代码管理器集成到 iOS 项目中,该项目建议使用 Firebase Analytics 将事件发送到 Google 跟踪代码管理器。

我目前面临的挑战有两个:

  1. 我已遵循文档中的所有步骤,但如何验证 GTM 控制台是否已正确配置以及我是否已正确集成所有内容?移动应用程序的预览版文档非常有限,我在 Xcode 控制台中没有看到任何与 GTM 相关的日志。
  2. 我正在尝试实现称为自定义函数调用的东西,其文档位于此处

这是我在 GTM 控制台上的设置 GTM Custom Function Calls iOS Swift,我从这篇文章

得到的

但同样,我没有看到任何日志,甚至没有看到调用的函数,这是我的代码:

@objc
class AnalyticsVariableProvider: NSObject, TAGCustomFunction {
    @objc
    func execute(withParameters parameters: [AnyHashable: Any]!) -> NSObject! {
        guard let parameters else {
            print("no parameters")
            return nil
        }
        
        print("reached")
        print(parameters)
        
        return nil
    }
    
    required override init() {
        super.init()
    }
}

我尝试查看其他一些 SO 线程:

  1. GTM - iOS 自定义标签未触发
  2. 如何在ios中获取Google Tag Manager的回调?
  3. 在 Swift 中使用 GTM v5 TAGCustomFunction

但到目前为止这些都对我没有帮助。

ios swift google-tag-manager firebase-analytics
1个回答
0
投票

感谢您分享的链接,我已经成功地使用 swift 完成了此操作,这是我的注释供您参考。

import Foundation
import GoogleTagManager

@objc(MyCustomFunction)
final class MyCustomFunction: NSObject, TAGCustomFunction {

    @objc func execute(withParameters parameters: [AnyHashable : Any]!) -> NSObject! {
        print("YEAH ! IT WORKS !", parameters ?? "no data")
        return nil
    }
}

检查要点:

  1. 为了确保您看到 GTM 已加载,要过滤的关键字是“GoogleTagManager”, 如果成功加载,您应该看到 GTM id 然后它就可以工作了;如果您看到此警告,则此修复对我有用

GoogleTagManager 警告:未找到默认容器。需要将容器添加到容器文件夹并添加到目标。

  1. 确保您看到 GTM 进程日志或断点正在工作 应用日志截图

GoogleTagManager 信息:处理记录的事件:[您的分析事件名称],参数:{ 【参数】 }

  1. 如果没有,请确保您看到分析触发器事件触发,要查看日志,您可以将调试标志添加到方案中,doc

我希望这有帮助。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.