Google广告转换代码段:Obj-C到Swift

时间:2016-05-09 15:10:52

标签: objective-c swift sdk google-adwords

我正在关注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的指南让我用这段代码创建一个头文件:

#ifndef Bridging_Header_h
#define Bridging_Header_h 

#import <FBSDKCoreKit/FBSDKCoreKit.h>

#endif /* Bridging_Header_h */

导入Project Navigator的Google SDK图片。

enter image description here

所以我的两个问题是:

  1. 有谁知道如何将上述代码段翻译成Swift?
  2. 我是否需要在我的网桥标题中添加代码,如果是,那该怎么办?

1 个答案:

答案 0 :(得分:2)

  

我是否需要将代码添加到我的网桥标题中,如果是,那该怎么办?

绝对。要在Swift中访问Objective-C代码,您需要在名为“MyProjectHere-Bridging-Header.h”的头文件中定义导入。接下来,确保在构建设置中,在Swift Compiler - Code Generation下,将“Objective-C Generated Interface Header Name”设置为新的头文件。

标题代码如下所示:

#ifndef AppName_Bridging_Header_h
#define AppName_Bridging_Header_h

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

#endif /* AppName_Bridging_Header_h */

完成后,只需进入新的头文件并为Google框架中的头文件执行#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)