Class: AdzerkDecisionSdk::UserDbClient
- Inherits:
-
Object
- Object
- AdzerkDecisionSdk::UserDbClient
- Defined in:
- lib/adzerk_decision_sdk/user_db_client.rb
Instance Method Summary collapse
- #add_interest(user_key, interest, network_id: nil) ⇒ Object
- #add_retargeting_segment(user_key, advertiser_id, retargeting_segment_id, network_id: nil) ⇒ Object
- #forget(user_key, network_id: nil) ⇒ Object
- #gdpr_consent(gdpr_consent, network_id: nil) ⇒ Object
-
#initialize(network_id, api_client, logger) ⇒ UserDbClient
constructor
A new instance of UserDbClient.
- #ip_override(user_key, ip, network_id: nil) ⇒ Object
- #match_user(user_key, partner_id, user_id, network_id: nil) ⇒ Object
- #opt_out(user_key, network_id: nil) ⇒ Object
- #read(user_key, network_id: nil) ⇒ Object
- #set_custom_properties(user_key, properties, network_id: nil) ⇒ Object
Constructor Details
#initialize(network_id, api_client, logger) ⇒ UserDbClient
Returns a new instance of UserDbClient.
5 6 7 8 9 |
# File 'lib/adzerk_decision_sdk/user_db_client.rb', line 5 def initialize(network_id, api_client, logger) @network_id = network_id @api = UserdbApi.new(api_client) @logger = logger end |
Instance Method Details
#add_interest(user_key, interest, network_id: nil) ⇒ Object
16 17 18 19 |
# File 'lib/adzerk_decision_sdk/user_db_client.rb', line 16 def add_interest(user_key, interest, network_id: nil) @logger.info("Adding interest #{interest} for #{user_key} on #{network_id || @network_id}") @api.add_interests(network_id || @network_id, user_key, interest) end |
#add_retargeting_segment(user_key, advertiser_id, retargeting_segment_id, network_id: nil) ⇒ Object
21 22 23 24 |
# File 'lib/adzerk_decision_sdk/user_db_client.rb', line 21 def add_retargeting_segment(user_key, advertiser_id, retargeting_segment_id, network_id: nil) @logger.info("Adding #{advertiser_id}.#{retargeting_segment_id} rt segment for #{user_key} on #{network_id || @network_id}") @api.add_retargeting_segment(network_id || @network_id, advertiser_id, retargeting_segment_id, user_key) end |
#forget(user_key, network_id: nil) ⇒ Object
26 27 28 29 |
# File 'lib/adzerk_decision_sdk/user_db_client.rb', line 26 def forget(user_key, network_id: nil) @logger.info("Forgetting #{user_key} on #{network_id || @network_id}") @api.forget(network_id || @network_id, user_key) end |
#gdpr_consent(gdpr_consent, network_id: nil) ⇒ Object
31 32 33 34 35 |
# File 'lib/adzerk_decision_sdk/user_db_client.rb', line 31 def (, network_id: nil) body = .respond_to?('to_hash') ? .to_hash() : @logger.info("Setting GDPR consent on #{network_id || @network_id} with: #{body}") @api.(network_id || @network_id, { debug_body: body }) end |
#ip_override(user_key, ip, network_id: nil) ⇒ Object
37 38 39 40 |
# File 'lib/adzerk_decision_sdk/user_db_client.rb', line 37 def ip_override(user_key, ip, network_id: nil) @logger.info("Overriding IP for #{user_key} on #{network_id || @network_id} to #{ip}") @api.ip_override(network_id || @network_id, user_key, ip) end |
#match_user(user_key, partner_id, user_id, network_id: nil) ⇒ Object
42 43 44 45 |
# File 'lib/adzerk_decision_sdk/user_db_client.rb', line 42 def match_user(user_key, partner_id, user_id, network_id: nil) @logger.info("Matching user #{user_key} on #{network_id || @network_id} to #{partner_id}.#{user_id}") @api.match_user(network_id || @network_id, user_key, partner_id, user_id) end |
#opt_out(user_key, network_id: nil) ⇒ Object
47 48 49 50 |
# File 'lib/adzerk_decision_sdk/user_db_client.rb', line 47 def opt_out(user_key, network_id: nil) @logger.info("Opting out for #{user_key} on #{network_id || @network_id}") @api.opt_out(network_id || @network_id, user_key) end |
#read(user_key, network_id: nil) ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/adzerk_decision_sdk/user_db_client.rb', line 52 def read(user_key, network_id: nil) bad_keys = [ :cookieMonster, :dirtyCookies, :isNew, :adViewTimes, :advertiserViewTimes, :flightViewTimes, :siteViewTimes, :campaignViewTimes, :pendingConversions, :campaignConversions ] @logger.info("Requesting record for #{user_key} on #{network_id || @network_id}") user_record = @api.read(network_id || @network_id, user_key) @logger.info("Received unfiltered response of: #{user_record}") clean_record = user_record.delete_if do |key, _| bad_keys.include?(key) end @logger.info("Returning filtered response of: #{clean_record}") clean_record end |
#set_custom_properties(user_key, properties, network_id: nil) ⇒ Object
11 12 13 14 |
# File 'lib/adzerk_decision_sdk/user_db_client.rb', line 11 def set_custom_properties(user_key, properties, network_id: nil) @logger.info("Setting custom properties for #{user_key} on #{network_id || @network_id} to: #{properties}") @api.add_custom_properties(network_id || @network_id, user_key, { debug_body: properties }) end |