Google 广告转化片段:Obj-C 到 Swift

Google Ad Conversion Snippet: Obj-C to Swift

我正在关注 Google 的 steps,将 Google SDK 添加到我的 iOS 应用中,以便我可以跟踪 Google 广告的安装.我已经完成了所有步骤。但是,进入 didFinishLaunchingWithOptions 的 Objective-C 的小片段会收到一条错误消息,因为我的应用程序在 Swift 中。如何将其翻译成 Swift?

[ACTAutomatedUsageTracker enableAutomatedUsageReportingWithConversionID:@"IDString"];

[ACTConversionReporter reportWithConversionID:@"IDString" label:@"String" value:@"0.00" isRepeatable:NO];

[ACTAutomatedUsageTracker disableAutomatedUsageReportingWithConversionID:MY_CONVERSION_ID];

我需要向 Bridge-Header 添加内容吗?我遵循的 Facebook SDK 指南让我使用以下代码创建了一个 header 文件:

#ifndef Bridging_Header_h
#define Bridging_Header_h 

#import <FBSDKCoreKit/FBSDKCoreKit.h>

#endif /* Bridging_Header_h */

导入项目导航器的 Google SDK 的图片。

所以我的两个问题是:

  1. 有谁知道如何将上面的代码片段翻译成 Swift?
  2. 我是否需要向我的网桥添加代码 header,如果需要,怎么办?

Do I need to add code to my bridge header and, if so, what?

当然可以。为了访问 Swift 中的 Objective-C 代码,您需要在名为 "MyProjectHere-Bridging-Header.h" 的 header 文件中定义导入。接下来,确保在构建设置中,在 Swift Compiler - Code Generation 下,您已将 "Objective-C Generated Interface Header Name" 设置为新的 header 文件。

Header 代码看起来像这样:

#ifndef AppName_Bridging_Header_h
#define AppName_Bridging_Header_h

#import "ACTReporter.h"
#import "GoogleConversionPing.h"
#import "DCTReporter.h"

#endif /* AppName_Bridging_Header_h */

完成后,只需进入新的 header 文件并为 Google 框架中的 header 文件执行 #import 语句,您应该可以使用它在您的 App Delegate 中就像 Swift:

let useageTraker: ACTAutomatedUsageTracker?

usageTracker.enableAutomatedUsageReportingWithConversionID("\(ID)")

appDelegate 的完整 Swift 代码:

ACTAutomatedUsageTracker.enableAutomatedUsageReportingWithConversionID("0123456789")

ACTConversionReporter.reportWithConversionID("0123456789", label: "XXXXXX", value: "0.00", isRepeatable: false)