ProMotion com Google Analytics

Hoje eu precisei adicionar o SDK do Google Analytics em um projeto ProMotion e encontrei um problema onde eu precisava estender o View Controller do Google ViewController ao invés da ProMotion Screen. Isso não iria acontecer.

Em vez disso, construí um pequeno auxiliar para adicionar alguns métodos às telas do ProMotions. Isso está longe de ser perfeito, mas é algo que precisamos adicionar rapidamente e faz o trabalho agora.

O ajudante


module ProMotion
module ScreenModule

def tracker
GAI
.sharedInstance.defaultTracker
end

def build_event(category, action, label=nil, value=nil)
event
= GAIDictionaryBuilder.createEventWithCategory category,
action
: action,
label
: label,
value
: value
event
.build
end

def send_ga_event(category, action, label=nil, value=nil)
event
= build_event(category, action, label, value)
tracker
.send event
end

def screenName=(name)
tracker
.set "&cd", value: name
appView
= GAIDictionaryBuilder.createAppView
tracker
.send appView.build
end

end
end

Como usar

Oferece 2 funcionalidades básicas; enviar o nome da tela e eventos.

Para enviar o nome da tela basta definir a screenNamevariável.

class HomeScreen < PM::Screen

...

def on_appear
self.screenName = "Home Screen"
end

...

end

e para enviar um evento de seu controlador de visualização, você pode usar o send_ga_eventmétodo.

send_ga_event  [category], [action], [label], [value]
send_ga_event
"ui_action", "button_click", item.name, item.id

Como mencionei, isso é muito simplista, mas espero que tire alguém de uma encrenca se você tiver o mesmo problema.