作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在将 GTM v5 (GTM + Firebase) 集成到 Swift 项目中,我希望能够在触发标签时调用一些方法。然而,它似乎不适用于 Swift,尽管 Objective C 和 Android 项目中的类似实现确实有效。
这是符合 TAGCustomFunction
协议(protocol)的类:
import Foundation
import GoogleTagManager
final class Tags: NSObject, TAGCustomFunction {
func execute(withParameters parameters: [AnyHashable : Any]!) -> NSObject! {
print("YEAH ! IT WORKS !")
return nil
}
}
一切都运行良好,即使我看到了这些类型的日志:
GoogleTagManager info: Processing logged event: applicationStart with parameters: (null)
但是我正在打印的日志没有显示......
我确定容器的配置,因为这个容器已正确加载,而且我为我的 Objective C 项目使用了完全相同的容器,它在其中完美运行。
最佳答案
我认为 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
}
}
关于ios - 在 Swift 中使用 GTM v5 TAGCustomFunction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41938637/
我正在将 GTM v5 (GTM + Firebase) 集成到 Swift 项目中,我希望能够在触发标签时调用一些方法。然而,它似乎不适用于 Swift,尽管 Objective C 和 Andro
我是一名优秀的程序员,十分优秀!