如何设置应用程序以从URL iOS接收utm参数?

时间:2018-10-06 11:13:58

标签: ios swift google-analytics google-analytics-api

我想要帮助从应用程序安装的URL中检索utm参数,但是url中没有接收到utm参数。你们能帮忙设置如何从应用程序接收utm参数的应用程序。

这是我用来设置跟踪器和参数的代码

@NgModule({
  imports: [IonicModule],
  exports: [IonicModule]
})
export class IonicPageModule {

  static forChild(page: any): ModuleWithProviders {
    return {
      ngModule: IonicPageModule,
      providers: [
        { provide: <any>LAZY_LOADED_TOKEN, useValue: page },
        { provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: page, multi: true },
      ]
    };
  }

}

从URL安装应用程序时将调用此方法:-

 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]?) -> Bool
{
    if let gai = GAI.sharedInstance(){
        gai.tracker(withTrackingId: AppConfiguration.GOOGLE_ANALYTICS_ID)
        gai.defaultTracker.allowIDFACollection = true
    }
}

}

,但应用未收到utm参数。你们能帮忙吗...提前谢谢

1 个答案:

答案 0 :(得分:3)

看看下面的代码。基本上,您创建具有hastable的params,在其中编写五个(或更少)参数,并使用它调用 tracker.send 。您正在发送元数据,但未发送实际匹配(屏幕浏览或事件或..)。

// A screen name is required for a screen view.
tracker?.set(kGAIScreenName, value: "Sign up")
var params = [AnyHashable : Any]()
params[kGAICampaignMedium] = hitParams.get(kGAICampaignMedium)
params[kGAICampaignSource] = hitParams.get(kGAICampaignSource)
params[kGAICampaignContent] = hitParams.get(kGAICampaignContent)
params[kGAICampaignName] = hitParams.get(kGAICampaignName)
params[kGAICampaignKeyword] = hitParams.get(kGAICampaignKeyword)

tracker?.send(params)

文档here建议如下。请注意 [GAIDictionaryBuilder createScreenView] 调用。我相信这就是为什么无法发送广告系列数据的原因

[tracker send:[[[GAIDictionaryBuilder createScreenView] setAll:campaignData] build]];