Class: Spaceship::AnalyticsClient
- Inherits:
-
Client
- Object
- Client
- Spaceship::AnalyticsClient
- Defined in:
- lib/analytics/client.rb
Overview
This class is used to upload Digital files (Images, Videos, JSON files) onto the du-itc service. Its implementation is tied to the tunes module (in particular using AppVersion
instances)
Init and Login collapse
- .hostname ⇒ Object
- #get_data(id, measure, start_time, end_time) ⇒ Object
- #get_iap(id, start_time = Date.today - 30.day, end_time = Date.today) ⇒ Object
- #get_impressions_total(id, start_time = Date.today - 30.day, end_time = Date.today) ⇒ Object
- #get_page_view_count(id, start_time = Date.today - 30.day, end_time = Date.today) ⇒ Object
- #get_paying_users(id, start_time = Date.today - 30.day, end_time = Date.today) ⇒ Object
- #get_sales(id, start_time = Date.today - 30.day, end_time = Date.today) ⇒ Object
- #get_units(id, start_time = Date.today - 30.day, end_time = Date.today) ⇒ Object
- #send_login_request(user, password) ⇒ Object
Class Method Details
.hostname ⇒ Object
9 10 11 |
# File 'lib/analytics/client.rb', line 9 def self.hostname "https://analytics.itunes.apple.com/" end |
Instance Method Details
#get_data(id, measure, start_time, end_time) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/analytics/client.rb', line 43 def get_data(id, measure, start_time, end_time) start_time = start_time.strftime('%Y-%m-%dT%H:%M:%SZ') end_time = end_time.strftime('%Y-%m-%dT%H:%M:%SZ') ids = [id] body = { "adamId": ids, "frequency": "DAY", "measures": [measure], "group": nil, "dimensionFilters": [], "startTime": start_time, "endTime": end_time } response = request(:post) do |req| req.url "analytics/api/v1/data/time-series" req.body = body.to_json req.headers['Content-Type'] = 'application/json' req.headers['Cookie'] = req.headers['Host'] = 'analytics.itunes.apple.com' req.headers['Origin'] = 'https://analytics.itunes.apple.com' req.headers['Referer'] = 'https://analytics.itunes.apple.com/' req.headers['X-Requested-By'] = 'analytics.itunes.apple.com' end response.body end |
#get_iap(id, start_time = Date.today - 30.day, end_time = Date.today) ⇒ Object
23 24 25 26 |
# File 'lib/analytics/client.rb', line 23 def get_iap(id, start_time = Date.today - 30.day, end_time = Date.today) measure = 'iap' get_data(id, measure, start_time, end_time) end |
#get_impressions_total(id, start_time = Date.today - 30.day, end_time = Date.today) ⇒ Object
38 39 40 41 |
# File 'lib/analytics/client.rb', line 38 def get_impressions_total(id, start_time = Date.today - 30.day, end_time = Date.today) measure = 'impressionsTotal' get_data(id, measure, start_time, end_time) end |
#get_page_view_count(id, start_time = Date.today - 30.day, end_time = Date.today) ⇒ Object
18 19 20 21 |
# File 'lib/analytics/client.rb', line 18 def get_page_view_count(id, start_time = Date.today - 30.day, end_time = Date.today) measure = 'pageViewCount' get_data(id, measure, start_time, end_time) end |
#get_paying_users(id, start_time = Date.today - 30.day, end_time = Date.today) ⇒ Object
33 34 35 36 |
# File 'lib/analytics/client.rb', line 33 def (id, start_time = Date.today - 30.day, end_time = Date.today) measure = 'payingUsers' get_data(id, measure, start_time, end_time) end |
#get_sales(id, start_time = Date.today - 30.day, end_time = Date.today) ⇒ Object
28 29 30 31 |
# File 'lib/analytics/client.rb', line 28 def get_sales(id, start_time = Date.today - 30.day, end_time = Date.today) measure = 'sales' get_data(id, measure, start_time, end_time) end |
#get_units(id, start_time = Date.today - 30.day, end_time = Date.today) ⇒ Object
13 14 15 16 |
# File 'lib/analytics/client.rb', line 13 def get_units(id, start_time = Date.today - 30.day, end_time = Date.today) measure = 'units' get_data(id, measure, start_time, end_time) end |
#send_login_request(user, password) ⇒ Object
73 74 75 |
# File 'lib/analytics/client.rb', line 73 def send_login_request(user, password) send_shared_login_request(user, password) end |