adzerk_decision_sdk 1.0.0.pre.beta.3 → 1.0.0.pre.beta.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +8 -10
- data/README.md +58 -4
- data/adzerk_decision_sdk.gemspec +3 -4
- data/docs/ConsentRequest.md +10 -9
- data/docs/Content.md +16 -15
- data/docs/Decision.md +28 -25
- data/docs/DecisionApi.md +30 -13
- data/docs/DecisionRequest.md +44 -33
- data/docs/DecisionResponse.md +12 -11
- data/docs/Event.md +10 -9
- data/docs/MatchedPoint.md +20 -0
- data/docs/Placement.md +46 -37
- data/docs/PricingData.md +16 -15
- data/docs/RequestLocation.md +19 -0
- data/docs/User.md +8 -7
- data/docs/UserdbApi.md +252 -140
- data/lib/adzerk_decision_sdk.rb +1 -1
- data/lib/adzerk_decision_sdk/api/decision_api.rb +5 -4
- data/lib/adzerk_decision_sdk/api/userdb_api.rb +37 -95
- data/lib/adzerk_decision_sdk/api_client.rb +50 -48
- data/lib/adzerk_decision_sdk/api_error.rb +1 -1
- data/lib/adzerk_decision_sdk/client.rb +4 -3
- data/lib/adzerk_decision_sdk/configuration.rb +39 -10
- data/lib/adzerk_decision_sdk/decision_client.rb +18 -7
- data/lib/adzerk_decision_sdk/models/consent_request.rb +19 -7
- data/lib/adzerk_decision_sdk/models/content.rb +20 -8
- data/lib/adzerk_decision_sdk/models/decision.rb +31 -8
- data/lib/adzerk_decision_sdk/models/decision_request.rb +74 -12
- data/lib/adzerk_decision_sdk/models/decision_response.rb +19 -7
- data/lib/adzerk_decision_sdk/models/event.rb +19 -7
- data/lib/adzerk_decision_sdk/models/matched_point.rb +227 -0
- data/lib/adzerk_decision_sdk/models/placement.rb +91 -12
- data/lib/adzerk_decision_sdk/models/pricing_data.rb +19 -7
- data/lib/adzerk_decision_sdk/models/{decision_data.rb → request_location.rb} +16 -52
- data/lib/adzerk_decision_sdk/models/user.rb +19 -7
- data/lib/adzerk_decision_sdk/pixel_client.rb +8 -2
- data/lib/adzerk_decision_sdk/user_db_client.rb +18 -4
- data/lib/adzerk_decision_sdk/version.rb +1 -1
- data/spec/spec_helper.rb +91 -0
- metadata +15 -34
- data/docs/DecisionData.md +0 -27
- data/pkg/adzerk_decision_sdk-1.0.0.gem +0 -0
- data/pkg/adzerk_decision_sdk-1.0.0.pre.beta.1.gem +0 -0
- data/pkg/adzerk_decision_sdk-1.0.0.pre.beta.2.gem +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d3c1fa1975fc4fcfd55306fd13622738720961b229b85f309fea506f0f1d450f
|
4
|
+
data.tar.gz: 53914caaa486d34f102326193f719d0a29e819f6b3917d0fbf7e0917eee6d4c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6fc835f013c0781ed26da9f40e4f95d6d594d8d1cea3528d0d61643b6e8925581526ef3cc1c8670f3992d50f70b2aecf51cb4475779fa078115fe19779974d05
|
7
|
+
data.tar.gz: 1a2523d2a2499da3a4aff92b1dd9492d2587a775b7dfe90ca82be33c08bbb650c32d91731a2003bd2fc70d015931dfb6a7ce3b21f5022183944377cce05ea947
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
adzerk_decision_sdk (1.0.0)
|
5
|
-
json (~> 2.1, >= 2.1.0)
|
4
|
+
adzerk_decision_sdk (1.0.0.pre.beta.8)
|
6
5
|
typhoeus (~> 1.0, >= 1.0.1)
|
7
6
|
|
8
7
|
GEM
|
@@ -12,11 +11,10 @@ GEM
|
|
12
11
|
byebug (11.1.1)
|
13
12
|
coderay (1.1.2)
|
14
13
|
diff-lcs (1.3)
|
15
|
-
ethon (0.
|
16
|
-
ffi (>= 1.
|
17
|
-
ffi (1.
|
14
|
+
ethon (0.14.0)
|
15
|
+
ffi (>= 1.15.0)
|
16
|
+
ffi (1.15.3)
|
18
17
|
jaro_winkler (1.5.4)
|
19
|
-
json (2.3.0)
|
20
18
|
method_source (0.9.2)
|
21
19
|
parallel (1.19.1)
|
22
20
|
parser (2.7.0.2)
|
@@ -29,7 +27,7 @@ GEM
|
|
29
27
|
pry (~> 0.10)
|
30
28
|
psych (3.1.0)
|
31
29
|
rainbow (3.0.0)
|
32
|
-
rake (
|
30
|
+
rake (13.0.1)
|
33
31
|
rspec (3.9.0)
|
34
32
|
rspec-core (~> 3.9.0)
|
35
33
|
rspec-expectations (~> 3.9.0)
|
@@ -52,7 +50,7 @@ GEM
|
|
52
50
|
ruby-progressbar (~> 1.7)
|
53
51
|
unicode-display_width (>= 1.4.0, < 1.6)
|
54
52
|
ruby-progressbar (1.10.1)
|
55
|
-
typhoeus (1.
|
53
|
+
typhoeus (1.4.0)
|
56
54
|
ethon (>= 0.9.0)
|
57
55
|
unicode-display_width (1.5.0)
|
58
56
|
|
@@ -62,9 +60,9 @@ PLATFORMS
|
|
62
60
|
DEPENDENCIES
|
63
61
|
adzerk_decision_sdk!
|
64
62
|
pry-byebug
|
65
|
-
rake (~>
|
63
|
+
rake (~> 13.0.1)
|
66
64
|
rspec (~> 3.6, >= 3.6.0)
|
67
65
|
rubocop (~> 0.66.0)
|
68
66
|
|
69
67
|
BUNDLED WITH
|
70
|
-
2.
|
68
|
+
2.2.21
|
data/README.md
CHANGED
@@ -9,7 +9,7 @@ Requires [Ruby 2.5](https://en.wikipedia.org/wiki/Ruby_(programming_language)#Ta
|
|
9
9
|
[RubyGem Package](https://rubygems.org/gems/adzerk_decision_sdk)
|
10
10
|
|
11
11
|
```shell
|
12
|
-
gem install adzerk_decision_sdk
|
12
|
+
gem install adzerk_decision_sdk --pre
|
13
13
|
```
|
14
14
|
|
15
15
|
Or add to your `Gemfile`:
|
@@ -92,13 +92,67 @@ client.user_db.set_custom_properties("abc", props)
|
|
92
92
|
require "adzerk_decision_sdk"
|
93
93
|
|
94
94
|
# Demo network ID and API key; find your own via the Adzerk UI!
|
95
|
-
client = AdzerkDecisionSdk::Client.new(network_id: 23, api_key: "
|
95
|
+
client = AdzerkDecisionSdk::Client.new(network_id: 23, api_key: ENV["ADZERK_API_KEY"])
|
96
96
|
client.user_db.forget("abc")
|
97
97
|
```
|
98
98
|
|
99
|
-
|
99
|
+
### Decision Explainer
|
100
100
|
|
101
|
-
|
101
|
+
The Decision Explainer returns information on a Decision API request explaining why each candidate ad was or was not chosen.
|
102
|
+
|
103
|
+
```ruby
|
104
|
+
require "adzerk_decision_sdk"
|
105
|
+
|
106
|
+
# Demo network, site, and ad type IDs; find your own via the Adzerk UI!
|
107
|
+
client = AdzerkDecisionSdk::Client.new(network_id: 23, site_id: 667480)
|
108
|
+
|
109
|
+
request = {
|
110
|
+
placements: [{ adTypes: [5] }],
|
111
|
+
user: { key: "abc" },
|
112
|
+
keywords: ["keyword1", "keyword2"],
|
113
|
+
}
|
114
|
+
|
115
|
+
options = {
|
116
|
+
include_explanation: true,
|
117
|
+
api_key: ENV["ADZERK_API_KEY"]
|
118
|
+
}
|
119
|
+
|
120
|
+
pp client.decisions.get(request, options)
|
121
|
+
```
|
122
|
+
|
123
|
+
The response returns a decision object with placement, buckets, rtb logs, and result information.
|
124
|
+
``` json
|
125
|
+
{
|
126
|
+
"div0": {
|
127
|
+
"placement": {},
|
128
|
+
"buckets": [],
|
129
|
+
"rtb_log": [],
|
130
|
+
"results": []
|
131
|
+
}
|
132
|
+
}
|
133
|
+
```
|
134
|
+
The "placement" object represents a decision in which an ad may be served. A Explainer Request can have multiple placements in the request.
|
135
|
+
The "buckets" array contains channel and priority information.
|
136
|
+
The "rtb_logs" array contains information about Real Time Bidding.
|
137
|
+
The "results" array contains the list of candidate ads that did and did not serve, along with a brief explanation.
|
138
|
+
|
139
|
+
### Logging
|
140
|
+
|
141
|
+
Our logging implementation is meant to be flexible enough to fit into any common Ruby logging framework.
|
142
|
+
|
143
|
+
You can use the [logger](https://ruby-doc.org/stdlib-2.4.0/libdoc/logger/rdoc/Logger.html) utility to output messages.
|
144
|
+
|
145
|
+
The messages have associated levels: unknown, fatal, error, warn, info, and debug.
|
146
|
+
|
147
|
+
The easiest way to integrate is to write a function that handles translating the data from the Adzerk SDK Logger into whatever logging framework you're using in the rest of your application:
|
148
|
+
|
149
|
+
```ruby
|
150
|
+
require "adzerk_decision_sdk"
|
151
|
+
|
152
|
+
logger.level("Message")
|
153
|
+
|
154
|
+
client = AdzerkDecisionSdk::Client.new(logger)
|
155
|
+
```
|
102
156
|
|
103
157
|
## Documentation
|
104
158
|
|
data/adzerk_decision_sdk.gemspec
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
The version of the OpenAPI document: 1.0
|
9
9
|
|
10
10
|
Generated by: https://openapi-generator.tech
|
11
|
-
OpenAPI Generator version:
|
11
|
+
OpenAPI Generator version: 5.0.1
|
12
12
|
|
13
13
|
=end
|
14
14
|
|
@@ -24,11 +24,10 @@ Gem::Specification.new do |s|
|
|
24
24
|
s.homepage = "http://adzerk.com"
|
25
25
|
s.summary = "Adzerk Decision API"
|
26
26
|
s.description = "Ruby library for the Adzerk Decision API"
|
27
|
-
s.license =
|
28
|
-
s.required_ruby_version = ">=
|
27
|
+
s.license = "Apache-2.0"
|
28
|
+
s.required_ruby_version = ">= 2.4"
|
29
29
|
|
30
30
|
s.add_runtime_dependency 'typhoeus', '~> 1.0', '>= 1.0.1'
|
31
|
-
s.add_runtime_dependency 'json', '~> 2.1', '>= 2.1.0'
|
32
31
|
|
33
32
|
s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0'
|
34
33
|
|
data/docs/ConsentRequest.md
CHANGED
@@ -2,18 +2,19 @@
|
|
2
2
|
|
3
3
|
## Properties
|
4
4
|
|
5
|
-
Name | Type | Description | Notes
|
6
|
-
|
7
|
-
**user_key** | **String** | | [optional]
|
8
|
-
**consent** |
|
5
|
+
| Name | Type | Description | Notes |
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
7
|
+
| **user_key** | **String** | | [optional] |
|
8
|
+
| **consent** | **Object** | | [optional] |
|
9
9
|
|
10
|
-
##
|
10
|
+
## Example
|
11
11
|
|
12
12
|
```ruby
|
13
|
-
require '
|
13
|
+
require 'adzerk_decision_sdk'
|
14
14
|
|
15
|
-
instance = AdzerkDecisionSdk::ConsentRequest.new(
|
16
|
-
|
15
|
+
instance = AdzerkDecisionSdk::ConsentRequest.new(
|
16
|
+
user_key: null,
|
17
|
+
consent: null
|
18
|
+
)
|
17
19
|
```
|
18
20
|
|
19
|
-
|
data/docs/Content.md
CHANGED
@@ -2,24 +2,25 @@
|
|
2
2
|
|
3
3
|
## Properties
|
4
4
|
|
5
|
-
Name | Type | Description | Notes
|
6
|
-
|
7
|
-
**type** | **String** | | [optional]
|
8
|
-
**template** | **String** | | [optional]
|
9
|
-
**custom_template** | **String** | | [optional]
|
10
|
-
**data** |
|
11
|
-
**body** | **String** | | [optional]
|
5
|
+
| Name | Type | Description | Notes |
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
7
|
+
| **type** | **String** | | [optional] |
|
8
|
+
| **template** | **String** | | [optional] |
|
9
|
+
| **custom_template** | **String** | | [optional] |
|
10
|
+
| **data** | **Object** | | [optional] |
|
11
|
+
| **body** | **String** | | [optional] |
|
12
12
|
|
13
|
-
##
|
13
|
+
## Example
|
14
14
|
|
15
15
|
```ruby
|
16
|
-
require '
|
16
|
+
require 'adzerk_decision_sdk'
|
17
17
|
|
18
|
-
instance = AdzerkDecisionSdk::Content.new(
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
18
|
+
instance = AdzerkDecisionSdk::Content.new(
|
19
|
+
type: null,
|
20
|
+
template: null,
|
21
|
+
custom_template: null,
|
22
|
+
data: null,
|
23
|
+
body: null
|
24
|
+
)
|
23
25
|
```
|
24
26
|
|
25
|
-
|
data/docs/Decision.md
CHANGED
@@ -2,34 +2,37 @@
|
|
2
2
|
|
3
3
|
## Properties
|
4
4
|
|
5
|
-
Name | Type | Description | Notes
|
6
|
-
|
7
|
-
**ad_id** | **Integer** | | [optional]
|
8
|
-
**creative_id** | **Integer** | | [optional]
|
9
|
-
**flight_id** | **Integer** | | [optional]
|
10
|
-
**campaign_id** | **Integer** | | [optional]
|
11
|
-
**priority_id** | **Integer** | | [optional]
|
12
|
-
**click_url** | **String** | | [optional]
|
13
|
-
**contents** | [**Array<Content>**](Content.md) | | [optional]
|
14
|
-
**impression_url** | **String** | | [optional]
|
15
|
-
**events** | [**Array<Event>**](Event.md) | | [optional]
|
16
|
-
**
|
5
|
+
| Name | Type | Description | Notes |
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
7
|
+
| **ad_id** | **Integer** | | [optional] |
|
8
|
+
| **creative_id** | **Integer** | | [optional] |
|
9
|
+
| **flight_id** | **Integer** | | [optional] |
|
10
|
+
| **campaign_id** | **Integer** | | [optional] |
|
11
|
+
| **priority_id** | **Integer** | | [optional] |
|
12
|
+
| **click_url** | **String** | | [optional] |
|
13
|
+
| **contents** | [**Array<Content>**](Content.md) | | [optional] |
|
14
|
+
| **impression_url** | **String** | | [optional] |
|
15
|
+
| **events** | [**Array<Event>**](Event.md) | | [optional] |
|
16
|
+
| **matched_points** | [**Array<MatchedPoint>**](MatchedPoint.md) | | [optional] |
|
17
|
+
| **pricing** | [**PricingData**](PricingData.md) | | [optional] |
|
17
18
|
|
18
|
-
##
|
19
|
+
## Example
|
19
20
|
|
20
21
|
```ruby
|
21
|
-
require '
|
22
|
+
require 'adzerk_decision_sdk'
|
22
23
|
|
23
|
-
instance = AdzerkDecisionSdk::Decision.new(
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
24
|
+
instance = AdzerkDecisionSdk::Decision.new(
|
25
|
+
ad_id: null,
|
26
|
+
creative_id: null,
|
27
|
+
flight_id: null,
|
28
|
+
campaign_id: null,
|
29
|
+
priority_id: null,
|
30
|
+
click_url: null,
|
31
|
+
contents: null,
|
32
|
+
impression_url: null,
|
33
|
+
events: null,
|
34
|
+
matched_points: null,
|
35
|
+
pricing: null
|
36
|
+
)
|
33
37
|
```
|
34
38
|
|
35
|
-
|
data/docs/DecisionApi.md
CHANGED
@@ -2,45 +2,62 @@
|
|
2
2
|
|
3
3
|
All URIs are relative to *https://e-23.adzerk.net*
|
4
4
|
|
5
|
-
Method | HTTP request | Description
|
6
|
-
|
7
|
-
[**get_decisions**](DecisionApi.md#get_decisions) | **POST** /api/v2 |
|
8
|
-
|
5
|
+
| Method | HTTP request | Description |
|
6
|
+
| ------ | ------------ | ----------- |
|
7
|
+
| [**get_decisions**](DecisionApi.md#get_decisions) | **POST** /api/v2 | |
|
9
8
|
|
10
9
|
|
11
10
|
## get_decisions
|
12
11
|
|
13
|
-
> DecisionResponse get_decisions(opts)
|
12
|
+
> <DecisionResponse> get_decisions(opts)
|
14
13
|
|
15
14
|
|
16
15
|
|
17
16
|
Request Decision(s)
|
18
17
|
|
19
|
-
###
|
18
|
+
### Examples
|
20
19
|
|
21
20
|
```ruby
|
22
|
-
|
21
|
+
require 'time'
|
23
22
|
require 'adzerk_decision_sdk'
|
24
23
|
|
25
24
|
api_instance = AdzerkDecisionSdk::DecisionApi.new
|
26
25
|
opts = {
|
27
|
-
decision_request: {
|
26
|
+
decision_request: AdzerkDecisionSdk::DecisionRequest.new({placements: [AdzerkDecisionSdk::Placement.new]}) # DecisionRequest |
|
28
27
|
}
|
29
28
|
|
30
29
|
begin
|
30
|
+
|
31
31
|
result = api_instance.get_decisions(opts)
|
32
32
|
p result
|
33
33
|
rescue AdzerkDecisionSdk::ApiError => e
|
34
|
-
puts "
|
34
|
+
puts "Error when calling DecisionApi->get_decisions: #{e}"
|
35
35
|
end
|
36
36
|
```
|
37
37
|
|
38
|
-
|
38
|
+
#### Using the get_decisions_with_http_info variant
|
39
|
+
|
40
|
+
This returns an Array which contains the response data, status code and headers.
|
39
41
|
|
42
|
+
> <Array(<DecisionResponse>, Integer, Hash)> get_decisions_with_http_info(opts)
|
43
|
+
|
44
|
+
```ruby
|
45
|
+
begin
|
46
|
+
|
47
|
+
data, status_code, headers = api_instance.get_decisions_with_http_info(opts)
|
48
|
+
p status_code # => 2xx
|
49
|
+
p headers # => { ... }
|
50
|
+
p data # => <DecisionResponse>
|
51
|
+
rescue AdzerkDecisionSdk::ApiError => e
|
52
|
+
puts "Error when calling DecisionApi->get_decisions_with_http_info: #{e}"
|
53
|
+
end
|
54
|
+
```
|
55
|
+
|
56
|
+
### Parameters
|
40
57
|
|
41
|
-
Name | Type | Description
|
42
|
-
|
43
|
-
**decision_request** | [**DecisionRequest**](DecisionRequest.md)| | [optional]
|
58
|
+
| Name | Type | Description | Notes |
|
59
|
+
| ---- | ---- | ----------- | ----- |
|
60
|
+
| **decision_request** | [**DecisionRequest**](DecisionRequest.md) | | [optional] |
|
44
61
|
|
45
62
|
### Return type
|
46
63
|
|
data/docs/DecisionRequest.md
CHANGED
@@ -2,42 +2,53 @@
|
|
2
2
|
|
3
3
|
## Properties
|
4
4
|
|
5
|
-
Name | Type | Description | Notes
|
6
|
-
|
7
|
-
**placements** | [**Array<Placement>**](Placement.md) | One or more Placement objects |
|
8
|
-
**user** | [**User**](User.md) | | [optional]
|
9
|
-
**keywords** | **Array<String>** | Keywords for keyword Targeting. Such as `\"keywords\": [\"foo\", \"bar\", \"baz\"]`. | [optional]
|
10
|
-
**url** | **String** | The current page URL | [optional]
|
11
|
-
**referrer** | **String** | The referrer URL | [optional]
|
12
|
-
**ip** | **String** | The IP address. Required for [Geo-Targeting](https://dev.adzerk.com/docs/geo-location) | [optional]
|
13
|
-
**blocked_creatives** | **Array<Integer>** | Numeric creative ids to disregard for ad selection | [optional]
|
14
|
-
**is_mobile** | **Boolean** | If true, only ads containing a single image will be returned | [optional]
|
15
|
-
**include_pricing_data** | **Boolean** | If true, return pricing data for the decision in the response | [optional]
|
16
|
-
**notrack** | **Boolean** | If true, only return ads that are set to honor Do Not Track | [optional]
|
17
|
-
**enable_bot_filtering** | **Boolean** | If making a client-side request, set to true. Defaults to false to ensure a server isn't seen as a bot. See [here](https://dev.adzerk.com/docs/tracking-overview#section-bot-filtering) for more info | [optional]
|
18
|
-
**enable_user_dbip** | **Boolean** | If true, override the IP address of the request with the IP address supplied on the UserKey. If no IP address is found on the UserKey, this will fall back to the IP address on the request. Requires UserDB | [optional]
|
19
|
-
**consent** |
|
20
|
-
**device_id** | **String** | RTB requests only - sets an Identifier for Advertisers (IFA or IDFA) | [optional]
|
5
|
+
| Name | Type | Description | Notes |
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
7
|
+
| **placements** | [**Array<Placement>**](Placement.md) | One or more Placement objects | |
|
8
|
+
| **user** | [**User**](User.md) | | [optional] |
|
9
|
+
| **keywords** | **Array<String>** | Keywords for keyword Targeting. Such as `\"keywords\": [\"foo\", \"bar\", \"baz\"]`. | [optional] |
|
10
|
+
| **url** | **String** | The current page URL | [optional] |
|
11
|
+
| **referrer** | **String** | The referrer URL | [optional] |
|
12
|
+
| **ip** | **String** | The IP address. Required for [Geo-Targeting](https://dev.adzerk.com/docs/geo-location) | [optional] |
|
13
|
+
| **blocked_creatives** | **Array<Integer>** | Numeric creative ids to disregard for ad selection | [optional] |
|
14
|
+
| **is_mobile** | **Boolean** | If true, only ads containing a single image will be returned | [optional] |
|
15
|
+
| **include_pricing_data** | **Boolean** | If true, return pricing data for the decision in the response | [optional] |
|
16
|
+
| **notrack** | **Boolean** | If true, only return ads that are set to honor Do Not Track | [optional] |
|
17
|
+
| **enable_bot_filtering** | **Boolean** | If making a client-side request, set to true. Defaults to false to ensure a server isn't seen as a bot. See [here](https://dev.adzerk.com/docs/tracking-overview#section-bot-filtering) for more info | [optional] |
|
18
|
+
| **enable_user_dbip** | **Boolean** | If true, override the IP address of the request with the IP address supplied on the UserKey. If no IP address is found on the UserKey, this will fall back to the IP address on the request. Requires UserDB | [optional] |
|
19
|
+
| **consent** | **Object** | Object that sets the data consent preferences. Other consent settings are available in the GDPR settings documentation. | [optional] |
|
20
|
+
| **device_id** | **String** | RTB requests only - sets an Identifier for Advertisers (IFA or IDFA) | [optional] |
|
21
|
+
| **parallel** | **Boolean** | | [optional] |
|
22
|
+
| **intended_latitude** | **Float** | | [optional] |
|
23
|
+
| **intended_longitude** | **Float** | | [optional] |
|
24
|
+
| **radius** | **Float** | | [optional] |
|
25
|
+
| **include_matched_points** | **Boolean** | | [optional] |
|
21
26
|
|
22
|
-
##
|
27
|
+
## Example
|
23
28
|
|
24
29
|
```ruby
|
25
|
-
require '
|
30
|
+
require 'adzerk_decision_sdk'
|
26
31
|
|
27
|
-
instance = AdzerkDecisionSdk::DecisionRequest.new(
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
32
|
+
instance = AdzerkDecisionSdk::DecisionRequest.new(
|
33
|
+
placements: null,
|
34
|
+
user: null,
|
35
|
+
keywords: null,
|
36
|
+
url: null,
|
37
|
+
referrer: null,
|
38
|
+
ip: null,
|
39
|
+
blocked_creatives: null,
|
40
|
+
is_mobile: null,
|
41
|
+
include_pricing_data: null,
|
42
|
+
notrack: null,
|
43
|
+
enable_bot_filtering: null,
|
44
|
+
enable_user_dbip: null,
|
45
|
+
consent: null,
|
46
|
+
device_id: null,
|
47
|
+
parallel: null,
|
48
|
+
intended_latitude: null,
|
49
|
+
intended_longitude: null,
|
50
|
+
radius: null,
|
51
|
+
include_matched_points: null
|
52
|
+
)
|
41
53
|
```
|
42
54
|
|
43
|
-
|