在 Swift 中使用 GTM v5 TAGCustomFunction

n3w*_*bie 2 ios firebase google-tag-manager swift

我正在将 GTM v5(GTM + Firebase)集成到 Swift 项目中,并且我希望能够在触发标签时调用一些方法。然而,它似乎不适用于 Swift,尽管 Objective C 和 Android 项目中的类似实现确实有效。

\n

这是符合协议的类TAGCustomFunction

\n
import Foundation\nimport GoogleTagManager\n\nfinal class Tags: NSObject, TAGCustomFunction {\n\n    func execute(withParameters parameters: [AnyHashable : Any]!) -> NSObject! {\n        print("YEAH ! IT WORKS !")\n        return nil\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

一切都运行良好,即使我看到这些日志:

\n
\n

GoogleTagManager 信息:处理记录的事件:applicationStart 参数:(空)

\n
\n

但我正在打印的日志没有显示\xe2\x80\xa6

\n

我确信容器的配置,因为这个容器已正确加载,并且我为我的 Objective C 项目使用了完全相同的容器,它在其中完美运行。

\n

Rog*_*ger 5

我认为TAGCustomFunction需要有类/方法@objc注解,并且类级@objc注解需要指定类名,即

import Foundation
import GoogleTagManager

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

    @objc func execute(withParameters parameters: [AnyHashable : Any]!) -> NSObject! {
        print("YEAH ! IT WORKS !")
        return nil
    }
}
Run Code Online (Sandbox Code Playgroud)