1 / 257
O
v
e
rv
ie
w
A
ppsto
ck
SDK SDK
i
s
a
n
a
t
i
v
e
l
ib
r
a
ry
t
ha
t
mon
e
t
i
z
e
s
i
OS
/
A
n
d
ro
id
a
ppl
ica
t
i
ons
.
"
A
ppsto
ck
SDK
f
or
U
n
i
ty
"
i
s
a
C
#
facade
f
or
us
i
n
g
t
he
n
a
t
i
v
e
l
ib
r
a
ry
w
i
t
hi
n
U
n
i
ty
.
S
upport
ed
f
orm
a
ts
B
a
nn
e
r
I
nt
e
rst
i
t
ia
l
R
e
w
a
r
ded
N
a
t
i
v
e
O
v
e
rl
a
y
ov
e
r
t
he
a
pp
a
n
ch
or
ed
to
s
c
r
ee
n
edge
s
.
F
ulls
c
r
ee
n
ad
s
to
di
str
ac
t
your
us
e
rs
w
i
t
h
.
P
rov
ide
b
onus
e
s
to
us
e
rs
w
i
t
h
out
m
aki
n
g
t
he
m
p
a
y
ac
tu
a
l
mon
e
y
.
L
e
t
you
(
t
he
de
v
e
lop
e
r
)
t
he
f
r
eed
om
to
s
ea
ml
e
ssly
i
nt
eg
r
a
t
e
t
he
m
i
nto
your
a
pp
.
2 / 257
P
ackage
C
ont
e
nts
T
hi
s
c
o
de
i
s
mostly
a
c
o
de
l
ib
r
a
ry
so
you
w
i
ll
r
a
r
e
ly
(
if
e
v
e
r
)
n
eed
to
b
rows
e
t
h
rou
gh
t
he
a
ss
e
ts
.
E
di
tor
/
T
hi
s
f
ol
de
r
c
ont
ai
ns
a
n
X
ML
f
or
E
xt
e
rn
a
l
D
e
p
e
n
de
n
c
y
M
a
n
age
r
f
or
U
n
i
ty
(
EDM
4
U
)
.
S
ee
I
nst
a
ll
a
t
i
on
:
N
a
t
i
v
e
de
p
e
n
de
n
cie
s
f
or
mor
e
de
t
ai
ls
.
P
lu
gi
ns
/
T
hi
s
i
s
w
he
r
e
t
he
c
o
de
e
x
i
sts
a
s
a
s
e
t
o
f
m
a
n
aged
(
DLL
)
a
n
d
n
a
t
i
v
e
(
AAR
/
f
r
a
m
e
wor
k
)
plu
gi
ns
.
T
he
m
e
t
a
fi
l
e
s
ha
v
e
a
lr
ead
y
bee
n
c
on
fig
ur
ed
f
or
most
ca
s
e
s
.
S
ee
i
OS S
i
mul
a
tor
on
a
rm
64
f
or
mor
e
de
t
ai
ls
.
3 / 257
I
nst
a
ll
a
t
i
on
I
nst
a
ll
i
n
g
t
he
p
ackage
U
s
e
t
he
P
ackage
M
a
n
age
r
w
i
n
d
ow
to
A
dd
U
PM
p
ackage
.
N
a
t
i
v
e
de
p
e
n
de
n
cie
s
T
hi
s
p
ackage
i
n
c
lu
de
s
X
ML
(
a
t
Editor/NativeDependencies.xml
)
f
or
E
xt
e
rn
a
l
D
e
p
e
n
de
n
c
y
M
a
n
age
r
f
or
U
n
i
ty
(
EDM
4
U
).
T
he
r
e
a
r
e
dec
l
a
r
ed
t
he
v
e
rs
i
ons
o
f
(
A
ppsto
ck
SDK
)
n
a
t
i
v
e
l
ib
r
a
r
ie
s
to
pull
f
rom
C
o
c
o
a
P
o
d
s
/
M
a
v
e
n
.
I
f
you
a
lr
ead
y
ha
v
e
EDM
4
U
p
ackage
i
nst
a
ll
ed
,
i
t
s
h
oul
d
ha
n
d
l
e
t
he
r
e
st
.
O
t
he
rw
i
s
e
,
you
woul
d
n
eed
to
m
a
nu
a
lly
(
or
v
ia
s
c
r
i
pt
)
add
t
he
s
e
i
OS
/
A
n
d
ro
id
de
p
e
n
de
n
cie
s
to
t
he
pro
jec
t
upon
b
u
i
l
d
/
e
xport
.
I
n
ca
s
e
o
f
a
ny
b
r
eaki
n
g
cha
n
ge
s
w
i
t
hi
n
n
e
w
e
r
v
e
rs
i
ons
o
f
n
a
t
i
v
e
l
ib
r
a
r
ie
s
,
try
up
da
t
i
n
g
t
hi
s
plu
gi
n
p
ackage
,
or
d
own
g
r
ade
t
h
os
e
de
p
e
n
de
n
cie
s
back
,
d
own
to
t
he
e
x
ac
t
m
i
n
i
m
a
l
v
e
rs
i
on
sp
ecified
i
n
X
ML
.
4 / 257
R
e
qu
i
r
e
m
e
nts
T
hi
s
p
ackage
w
a
s
de
v
e
lop
ed
w
i
t
h
:
IDE
v
e
rs
i
on
U
n
i
ty
2021.3.45f1
a
n
d
6000.0.29f1
X
c
o
de
16.1
A
n
d
ro
id
S
tu
di
o
2024.2.1
W
hich
e
nt
ai
ls
t
he
f
ollow
i
n
g
:
B
u
i
l
d
p
a
r
a
m
e
t
e
r v
a
lu
e
N
ot
e
s
M
i
n
i
m
a
l
i
OS
t
a
r
ge
t
12.0
-
A
n
d
ro
id
M
i
n
i
m
a
l
SDK
22
-
A
n
d
ro
id
C
omp
i
l
e
SDK
34
d
o
e
s
not
r
e
str
ic
t
f
rom
t
a
r
ge
t
i
n
g
highe
r
S
w
if
t
6
-
J
a
v
a
17
-
C
#
9.0
-
.
NE
T
S
t
a
n
da
r
d
2.1
s
ee
.
NE
T
pro
fi
l
e
support
5 / 257
U
n
i
ty
2021/2022
A
n
d
ro
id
i
ssu
e
s
W
e
ha
v
e
e
n
c
ount
e
r
ed
a
n
e
rror
c
ont
ai
n
i
n
g
t
he
f
ollow
i
n
g
l
i
n
e
s
:
T
hi
s
i
s
s
i
m
i
l
a
r
to
t
he
i
ssu
e
s
de
s
c
r
ibed
i
n
G
r
ad
l
e
b
u
i
l
d
i
ssu
e
s
f
or
A
n
d
ro
id
API SDK
35
i
n
U
n
i
ty
2022.3
L
T
S
U
n
ab
l
e
to
C
r
ea
t
e
B
u
i
l
d
s
f
or
A
n
d
ro
id
SDK
35
w
i
t
h
U
n
i
ty
2022.3.40
de
sp
i
t
e
not
bei
n
g
di
r
ec
tly
r
e
l
a
t
ed
to
A
n
d
ro
id
35.
T
IP
Y
ou
a
r
e
stron
g
ly
ad
v
i
s
ed
to
us
e
U
n
i
ty
6
f
or
A
n
d
ro
id
b
u
i
l
d
s
a
s
e
v
e
ryt
hi
n
g
wor
k
s
fi
n
e
t
he
r
e
.
Execution failed for task ':launcher:mergeExtDexDebug'.
> Could not resolve all files for configuration ':launcher:debugRuntimeClasspath'.
> Failed to transform (...).aar
6 / 257
i
OS
b
lo
ck
s
i
ns
ec
ur
e
r
e
qu
e
sts
N
a
t
i
v
e
SDK
bi
n
a
r
ie
s
m
igh
t
a
tt
e
mpt
to
acce
ss
ad
e
x
cha
n
ge
s
e
rv
e
rs
v
ia
"
i
ns
ec
ur
e
"
H
TT
P
(
r
a
t
he
r
t
ha
n
H
TT
PS
),
w
hich
ca
n
fai
l
d
u
e
to
i
OS
fea
tur
e
--
s
ee
P
r
e
v
e
nt
i
n
g
I
ns
ec
ur
e
N
e
twor
k
C
onn
ec
t
i
ons
.
T
o
a
llow
su
ch
c
ommun
ica
t
i
on
i
n
your
a
pp
,
Info.plist
s
h
oul
d
be
mo
dified
.
F
or
mor
e
i
n
f
o
s
ee
:
A
pp
T
r
a
nsport
S
ec
ur
i
ty
ha
s
b
lo
cked
a
c
l
ea
rt
e
xt
H
TT
P
(
h
ttp
://)
r
e
sour
ce
lo
ad
s
i
n
ce
i
t
i
s
i
ns
ec
ur
e
.
H
e
r
e
i
s
a
mo
dified
s
c
r
i
pt
t
ha
t
ca
n
be
put
i
ns
ide
Editor
f
ol
de
r
to
a
utom
a
t
e
t
hi
s
t
a
s
k
.
using UnityEditor;
using UnityEditor.Build;
using System.IO;
using UnityEditor.Build.Reporting;
using UnityEditor.iOS.Xcode;
// adds an ATS exception domain to the Info.plist
public class InfoPlistUpdater : IPostprocessBuildWithReport
{
public int callbackOrder { get { return 0; } }
public void OnPostprocessBuild(BuildReport report)
{
BuildTarget buildTarget = report.summary.platform;
string pathToBuiltProject = report.summary.outputPath;
if (buildTarget == BuildTarget.iOS)
{
// Get plist
string plistPath = pathToBuiltProject + "/Info.plist";
PlistDocument plist = new PlistDocument();
plist.ReadFromString(File.ReadAllText(plistPath));
PlistElementDict allowsDict =
plist.root.CreateDict("NSAppTransportSecurity");
allowsDict.SetBoolean("NSAllowsArbitraryLoads", true);
PlistElementDict exceptionsDict =
allowsDict.CreateDict("NSExceptionDomains");
PlistElementDict domainDict = exceptionsDict.CreateDict("mobilesdk.io");
domainDict.SetBoolean("NSExceptionAllowsInsecureHTTPLoads", true);
7 / 257
domainDict.SetBoolean("NSIncludesSubdomains", true);
// Write to file
File.WriteAllText(plistPath, plist.WriteToString());
}
}
}
8 / 257
i
OS S
i
mul
a
tor
on
a
rm
64
T
he
p
ackage
ha
s
two
v
e
rs
i
ons
o
f
n
a
t
i
v
e
plu
gi
n
(
i
n
Plugins/iOS
):
lo
ca
t
i
on
b
u
i
l
d
de
st
i
n
a
t
i
on
a
r
h
s
m
e
t
a
s
e
tt
i
n
g
s
A
ppsto
ck
SDKF
or
U
n
i
ty
.
f
r
a
m
e
wor
k
generic/platform=iOS
a
rm
64
ARM
64
A
ppsto
ck
SDKF
or
U
n
i
ty
_
S
i
m
.
f
r
a
m
e
wor
k
generic/platform=iOS
Simulator
x
64,
a
rm
64
X
64
T
he
s
i
mul
a
tor
v
e
rs
i
on
i
s
only
m
a
r
ked
a
s
x
64
c
omp
a
t
ib
l
e
d
u
e
to
U
n
i
ty
2021.3
L
T
S
not
ha
v
i
n
g
a
rm
64
s
i
mul
a
tor
f
l
ag
i
n
s
e
r
ia
l
i
z
a
t
i
on
v
e
rs
i
on
2
o
f
plu
gi
n
m
e
t
a
fi
l
e
s
t
ha
t
i
t
us
e
s
.
I
f
you
a
r
e
us
i
n
g
U
n
i
ty
6,
X64
tr
a
nsl
a
t
e
s
to
X64 Simulator
.
Y
ou
m
a
y
w
a
nt
to
t
ick
ARM64 Simulator
a
s
w
e
ll
a
n
d
a
pply
t
he
cha
n
ge
s
on
ce
t
he
p
ackage
i
s
i
mport
ed
.
9 / 257
SDK I
n
i
t
ia
l
i
z
a
t
i
on
C
a
ll
I
n
i
t
ia
l
i
z
e
S
dk
a
n
d
p
a
ss
your
p
a
rtn
e
r
ke
y
.
Y
ou
m
igh
t
fi
n
d
i
t
us
ef
ul
to
wr
a
p
t
hi
s
ca
ll
i
n
a
dedica
t
ed
M
ono
B
eha
v
i
our
to
be
i
nvo
ked
f
rom
S
t
a
rt
--
(
s
ee
O
r
de
r
o
f
e
x
ec
ut
i
on
f
or
e
v
e
nt
f
un
c
t
i
ons
)
--
on
ce
a
tt
ached
to
som
e
o
bjec
t
on
t
he
s
ce
n
e
.
"
B
a
nn
e
r
"
s
a
mpl
e
prov
ide
s
su
ch
a
de
mo
:
T
IP
D
o
t
hi
s
on
ce
,
bef
or
e
a
tt
e
mpt
i
n
g
to
lo
ad
a
ny
ad
s
.
using System;
using AppstockSDK.Api;
using UnityEngine;
namespace AppstockSDK.Demo.Banner
{
public class SdkInitializer : MonoBehaviour
{
// Start is called before the first frame update
private void Start()
{
Debug.Log($"[{DateTime.Now:O}] Attempting to init SDK...");
Appstock.InitializeSdk("appstock-demo");
}
}
}
10 / 257
B
a
nn
e
r
A
d
U
s
e
B
a
nn
e
r
A
d
to
lo
ad
a
n
d
di
spl
a
y
a
ba
nn
e
r
.
D
ec
l
a
r
e
v
a
r
iab
l
e
B
a
nn
e
r
A
d
i
mpl
e
m
e
nts
ID
i
spos
ab
l
e
.
C
a
ll
i
n
g
D
i
spos
e
()
i
mm
edia
t
e
ly
de
stroys
t
he
r
e
sp
ec
t
i
v
e
V
ie
w
--
i
.
e
.
r
e
mov
e
s
t
he
ba
nn
e
r
f
rom
t
he
s
c
r
ee
n
.
T
h
us
you
must
kee
p
a
r
efe
r
e
n
ce
i
n
som
e
r
e
l
a
t
i
v
e
ly
p
e
rs
i
st
e
nt
v
a
r
iab
l
e
.
F
or
e
x
a
mpl
e
,
a
n
i
-
v
a
r
on
M
ono
B
eha
v
i
our
.
NO
T
E
M
ake
sur
e
you
'
v
e
d
on
e
SDK I
n
i
t
ia
l
i
z
a
t
i
on
bef
or
e
a
tt
e
mpt
i
n
g
to
lo
ad
a
ny
ad
s
.
T
IP
Y
ou
ca
n
fi
n
d
a
f
un
c
t
i
on
a
l
c
o
de
i
n
"
B
a
nn
e
r
"
s
a
mpl
e
.
W
ARNING
L
os
i
n
g
t
he
r
efe
r
e
n
ce
to
B
a
nn
e
r
A
d
i
nst
a
n
ce
w
i
t
h
out
ca
ll
i
n
g
D
i
spos
e
()
m
a
y
r
e
sult
i
n
a
ba
nn
e
r
bei
n
g
stu
ck
on
s
c
r
ee
n
f
or
t
he
r
e
m
ai
n
de
r
o
f
t
he
a
pp
'
s
l
ifec
y
c
l
e
.
using System;
using System.Collections;
using AppstockSDK.Api;
using UnityEngine;
#nullable enable
namespace AppstockSDK.Demo.Banner
{
[RequireComponent(typeof(SdkInitializer))]
public class BannerDemo : MonoBehaviour
{
[SerializeField] private bool showVideoAd;
public AnchoredAdPosition bannerPosition;
11 / 257
F
or
i
n
f
o
on
S
dk
I
n
i
t
ia
l
i
z
e
r
c
ompon
e
nt
s
ee
SDK I
n
i
t
ia
l
i
z
a
t
i
on
.
T
he
ot
he
r
two
prop
e
rt
ie
s
--
showVideoAd
a
n
d
bannerPosition
l
e
t
us
c
ustom
i
z
e
t
he
pos
i
t
i
on
a
n
d
c
ont
e
nt
o
f
t
he
ba
nn
e
r
i
n
edi
tor
(
on
s
ce
n
e
).
private IBannerAd? _adUnit;
12 / 257
I
nst
a
nt
ia
t
i
on
P
a
ss
de
s
i
r
ed
A
d
S
i
z
e
i
nto
t
he
c
onstru
c
tor
f
ollow
ed
b
y
ot
he
r
p
a
r
a
m
e
t
e
rs
.
_adUnit = showVideoAd
? new BannerAd(new(320, 250))
13 / 257
L
o
adi
n
g
t
he
A
d
O
n
ce
a
ll
prop
e
rt
ie
s
a
r
e
s
e
t
,
ca
ll
L
o
ad
A
d
()
.
L
i
st
e
n
i
n
g
to
e
v
e
nts
B
a
nn
e
r
A
d
e
xpos
e
s
fe
w
e
v
e
nts
t
ha
t
m
a
y
or
m
a
y
not
be
o
f
i
nt
e
r
e
st
to
you
.
R
e
l
a
t
i
v
e
ly
i
mport
a
nt
m
a
y
be
O
n
A
d
F
ai
l
ed
.
I
n
t
he
s
a
mpl
e
t
he
s
c
r
i
pt
su
b
s
c
r
ibe
s
to
a
ll
e
v
e
nts
a
n
d
lo
g
s
w
he
n
e
v
e
r
t
he
y
a
r
e
fi
r
ed
.
{
PlacementID = "8",
AdUnitFormat = AdFormat.Video,
AnchoredPosition = bannerPosition,
AdPosition = bannerPosition.ToAdPosition(),
}
: new BannerAd(new(320, 250))
{
PlacementID = "4",
AnchoredPosition = bannerPosition,
AdPosition = bannerPosition.ToAdPosition(),
};
_adUnit.LoadAd();
SubscribeToEvents(_adUnit);
_adUnit.LoadAd();
private void SubscribeToEvents(IBannerAd adUnit)
{
adUnit.OnAdLoaded += OnAdUnitLoaded;
adUnit.OnAdFailed += OnAdUnitFailed;
adUnit.OnAdClicked += OnAdUnitClicked;
adUnit.OnAdClosed += OnAdUnitClosed;
}
private void OnAdUnitLoaded(AdInfo? adInfo)
{
Debug.Log($"[{DateTime.Now:O}] (video: {showVideoAd}) Ad Loaded. Info:
{adInfo?.ToString() ?? "(null)"}.");
14 / 257
H
idi
n
g
t
he
ba
nn
e
r
U
s
e
H
ide
()
/
S
h
ow
()
to
(
t
e
mpor
a
r
i
ly
?)
cha
n
ge
ba
nn
e
r
'
s
v
i
s
ibi
l
i
ty
w
i
t
h
out
de
stroy
i
n
g
t
he
v
ie
w
c
ompl
e
t
e
ly
.
D
e
stroy
i
n
g
t
he
ba
nn
e
r
U
nsu
b
s
c
r
ibe
f
rom
e
v
e
nts
,
ca
ll
D
i
spos
e
()
a
n
d
c
l
ea
r
t
he
r
efe
r
e
n
ce
i
-
v
a
r
.
}
private void OnAdUnitFailed(AdError? adError)
{
Debug.LogError($"[{DateTime.Now:O}] (video: {showVideoAd}) Ad
Failed: {adError?.Message}.");
}
private void OnAdUnitClicked() => Debug.Log($"[{DateTime.Now:O}] (video:
{showVideoAd}) Ad Clicked.");
private void OnAdUnitClosed()
{
Debug.Log($"[{DateTime.Now:O}] (video: {showVideoAd}) Ad Closed.");
}
public void SetHidden(bool hidden)
{
if (_adUnit is null)
{
return;
}
if (hidden)
{
_adUnit.Hide();
}
else
{
_adUnit.Show();
}
}
private void UnsubscribeFromEvents(IBannerAd adUnit)
{
adUnit.OnAdLoaded -= OnAdUnitLoaded;
15 / 257
adUnit.OnAdFailed -= OnAdUnitFailed;
adUnit.OnAdClicked -= OnAdUnitClicked;
adUnit.OnAdClosed -= OnAdUnitClosed;
}
public void DropAdUnit()
{
if (_adUnit is null)
{
return;
}
UnsubscribeFromEvents(_adUnit);
_adUnit.Dispose();
_adUnit = null;
}
16 / 257
I
nt
e
rst
i
t
ia
l
A
d
U
s
e
I
nt
e
rst
i
t
ia
l
A
d
to
lo
ad
a
n
d
di
spl
a
y
a
n
i
nt
e
rst
i
t
ia
l
.
D
ec
l
a
r
e
v
a
r
iab
l
e
I
nt
e
rst
i
t
ia
l
A
d
i
mpl
e
m
e
nts
ID
i
spos
ab
l
e
.
D
i
spos
e
()
s
e
v
e
rs
t
he
e
v
e
nt
chai
n
(
your
ca
ll
back
s
w
i
ll
no
lon
ge
r
be
ca
ll
ed
)
a
n
d
l
e
ts
t
he
e
n
gi
n
e
f
r
ee
t
he
r
e
sour
ce
s
(
e
.
g
.
he
l
d
b
y
un
de
rly
i
n
g
A
n
d
ro
id
J
a
v
a
O
bjec
t
).
C
a
ll
i
n
g
D
i
spos
e
()
bef
or
e
los
i
n
g
t
he
r
efe
r
e
n
ce
m
igh
t
ha
v
e
p
e
r
f
orm
a
n
ce
be
n
efi
ts
.
T
h
us
w
e
s
ha
ll
kee
p
a
r
efe
r
e
n
ce
i
n
som
e
r
e
l
a
t
i
v
e
ly
p
e
rs
i
st
e
nt
v
a
r
iab
l
e
.
F
or
e
x
a
mpl
e
,
a
n
i
-
v
a
r
on
M
ono
B
eha
v
i
our
.
T
he
ot
he
r
prop
e
rty
--
showVideoAd
l
e
ts
us
c
ustom
i
z
e
t
he
c
ont
e
nt
o
f
t
he
i
nt
e
rst
i
t
ia
l
i
n
edi
tor
(
on
s
ce
n
e
).
NO
T
E
M
ake
sur
e
you
'
v
e
d
on
e
SDK I
n
i
t
ia
l
i
z
a
t
i
on
bef
or
e
a
tt
e
mpt
i
n
g
to
lo
ad
a
ny
ad
s
.
T
IP
Y
ou
ca
n
fi
n
d
a
f
un
c
t
i
on
a
l
c
o
de
i
n
"
I
nt
e
rst
i
t
ia
l
"
s
a
mpl
e
.
using System;
using System.Collections;
using AppstockSDK.Api;
using UnityEngine;
#nullable enable
namespace AppstockSDK.Demo.Interstitial
{
public class InterstitialDemo : MonoBehaviour
{
[SerializeField] private bool showVideoAd;
private IInterstitialAd? _adUnit;
17 / 257
I
nst
a
nt
ia
t
i
on
C
a
ll
t
he
c
onstru
c
tor
a
n
d
s
e
t
ot
he
r
p
a
r
a
m
e
t
e
rs
.
L
o
adi
n
g
t
he
A
d
O
n
ce
a
ll
prop
e
rt
ie
s
a
r
e
s
e
t
,
ca
ll
L
o
ad
A
d
()
.
L
i
st
e
n
i
n
g
to
e
v
e
nts
I
nt
e
rst
i
t
ia
l
A
d
e
xpos
e
s
fe
w
e
v
e
nts
.
_adUnit = showVideoAd
? new InterstitialAd()
{
PlacementID = "7",
AdUnitFormats = new []{ AdFormat.Video },
}
: new InterstitialAd()
{
PlacementID = "5",
};
_adUnit.LoadAd();
18 / 257
O
n
A
d
L
o
aded
i
s
us
ef
ul
to
k
now
you
ca
n
ca
ll
S
h
ow
(
A
c
t
i
on
?)
.
O
n
A
d
F
ai
l
ed
a
n
d
O
n
A
d
C
los
ed
a
r
e
us
ef
ul
to
di
spos
e
o
f
t
he
no
-
lon
ge
r
-
us
ef
ul
ad
un
i
t
.
I
n
t
he
s
a
mpl
e
t
he
s
c
r
i
pt
su
b
s
c
r
ibe
s
to
a
ll
e
v
e
nts
a
n
d
lo
g
s
w
he
n
e
v
e
r
t
he
y
a
r
e
fi
r
ed
.
D
e
stroy
i
n
g
t
he
ad
un
i
t
U
nsu
b
s
c
r
ibe
f
rom
e
v
e
nts
,
ca
ll
D
i
spos
e
()
a
n
d
c
l
ea
r
t
he
r
efe
r
e
n
ce
i
-
v
a
r
.
SubscribeToEvents(_adUnit);
_adUnit.LoadAd();
private void SubscribeToEvents(IInterstitialAd adUnit)
{
adUnit.OnAdLoaded += OnAdUnitLoaded;
adUnit.OnAdDisplayed += OnAdUnitDisplayed;
adUnit.OnAdFailed += OnAdUnitFailed;
adUnit.OnAdClicked += OnAdUnitClicked;
adUnit.OnAdClosed += OnAdUnitClosed;
}
private void OnAdUnitLoaded(AdInfo? adInfo)
{
Debug.Log($"[{DateTime.Now:O}] Ad Loaded. Info: {adInfo?.ToString() ??
"(null)"}.");
_adUnit?.Show();
}
private void OnAdUnitFailed(AdError? adError)
{
Debug.LogError($"[{DateTime.Now:O}] Ad Failed: {adError?.Message}.");
DropAdUnit();
}
private void OnAdUnitDisplayed() => Debug.Log($"[{DateTime.Now:O}] Ad Displayed.");
private void OnAdUnitClicked() => Debug.Log($"[{DateTime.Now:O}] Ad Clicked.");
private void OnAdUnitClosed()
{
Debug.Log($"[{DateTime.Now:O}] Ad Closed.");
DropAdUnit();
}
19 / 257
private void UnsubscribeFromEvents(IInterstitialAd adUnit)
{
adUnit.OnAdLoaded -= OnAdUnitLoaded;
adUnit.OnAdDisplayed -= OnAdUnitDisplayed;
adUnit.OnAdFailed -= OnAdUnitFailed;
adUnit.OnAdClicked -= OnAdUnitClicked;
adUnit.OnAdClosed -= OnAdUnitClosed;
}
private void DropAdUnit()
{
if (_adUnit is null)
{
return;
}
UnsubscribeFromEvents(_adUnit);
_adUnit.Dispose();
_adUnit = null;
}
20 / 257
R
e
w
a
r
ded
A
d
U
s
e
R
e
w
a
r
ded
A
d
to
lo
ad
a
n
d
di
spl
a
y
a
n
r
e
w
a
r
ded
.
D
ec
l
a
r
e
v
a
r
iab
l
e
R
e
w
a
r
ded
A
d
i
mpl
e
m
e
nts
ID
i
spos
ab
l
e
.
D
i
spos
e
()
s
e
v
e
rs
t
he
e
v
e
nt
chai
n
(
your
ca
ll
back
s
w
i
ll
no
lon
ge
r
be
ca
ll
ed
)
a
n
d
l
e
ts
t
he
e
n
gi
n
e
f
r
ee
t
he
r
e
sour
ce
s
(
e
.
g
.
he
l
d
b
y
un
de
rly
i
n
g
A
n
d
ro
id
J
a
v
a
O
bjec
t
).
C
a
ll
i
n
g
D
i
spos
e
()
bef
or
e
los
i
n
g
t
he
r
efe
r
e
n
ce
m
igh
t
ha
v
e
p
e
r
f
orm
a
n
ce
be
n
efi
ts
.
T
h
us
w
e
s
ha
ll
kee
p
a
r
efe
r
e
n
ce
i
n
som
e
r
e
l
a
t
i
v
e
ly
p
e
rs
i
st
e
nt
v
a
r
iab
l
e
.
F
or
e
x
a
mpl
e
,
a
n
i
-
v
a
r
on
M
ono
B
eha
v
i
our
.
T
he
ot
he
r
prop
e
rty
--
showVideoAd
l
e
ts
us
c
ustom
i
z
e
t
he
c
ont
e
nt
o
f
t
he
r
e
w
a
r
ded
i
n
edi
tor
(
on
s
ce
n
e
).
NO
T
E
M
ake
sur
e
you
'
v
e
d
on
e
SDK I
n
i
t
ia
l
i
z
a
t
i
on
bef
or
e
a
tt
e
mpt
i
n
g
to
lo
ad
a
ny
ad
s
.
T
IP
Y
ou
ca
n
fi
n
d
a
f
un
c
t
i
on
a
l
c
o
de
i
n
"
R
e
w
a
r
ded
"
s
a
mpl
e
.
using System;
using System.Collections;
using AppstockSDK.Api;
using UnityEngine;
#nullable enable
namespace AppstockSDK.Demo.Rewarded
{
public class RewardedDemo : MonoBehaviour
{
[SerializeField] private bool showVideoAd;
private IRewardedAd? _adUnit;
21 / 257
I
nst
a
nt
ia
t
i
on
C
a
ll
t
he
c
onstru
c
tor
a
n
d
s
e
t
ot
he
r
p
a
r
a
m
e
t
e
rs
.
L
o
adi
n
g
t
he
A
d
O
n
ce
a
ll
prop
e
rt
ie
s
a
r
e
s
e
t
,
ca
ll
L
o
ad
A
d
()
.
L
i
st
e
n
i
n
g
to
e
v
e
nts
R
e
w
a
r
ded
A
d
e
xpos
e
s
fe
w
e
v
e
nts
.
O
n
A
d
L
o
aded
i
s
us
ef
ul
to
k
now
you
ca
n
ca
ll
S
h
ow
(
A
c
t
i
on
?)
.
O
n
A
d
F
ai
l
ed
a
n
d
O
n
A
d
C
los
ed
a
r
e
us
ef
ul
to
di
spos
e
o
f
t
he
no
-
lon
ge
r
-
us
ef
ul
ad
un
i
t
.
O
n
R
e
w
a
r
d
i
s
i
mport
a
nt
to
a
w
a
r
d
us
e
rs
t
he
b
onus
e
s
.
_adUnit = new RewardedAd()
{
PlacementID = showVideoAd ? "16" : "12",
};
_adUnit.LoadAd();
22 / 257
I
n
t
he
s
a
mpl
e
t
he
s
c
r
i
pt
su
b
s
c
r
ibe
s
to
a
ll
e
v
e
nts
a
n
d
lo
g
s
w
he
n
e
v
e
r
t
he
y
a
r
e
fi
r
ed
.
D
e
stroy
i
n
g
t
he
ad
un
i
t
U
nsu
b
s
c
r
ibe
f
rom
e
v
e
nts
,
ca
ll
D
i
spos
e
()
a
n
d
c
l
ea
r
t
he
r
efe
r
e
n
ce
i
-
v
a
r
.
SubscribeToEvents(_adUnit);
_adUnit.LoadAd();
private void SubscribeToEvents(IRewardedAd adUnit)
{
adUnit.OnAdLoaded += OnAdUnitLoaded;
adUnit.OnAdDisplayed += OnAdUnitDisplayed;
adUnit.OnAdFailed += OnAdUnitFailed;
adUnit.OnAdClicked += OnAdUnitClicked;
adUnit.OnAdClosed += OnAdUnitClosed;
adUnit.OnReward += OnAdUnitRewarded;
}
private void OnAdUnitLoaded(AdInfo? adInfo)
{
Debug.Log($"[{DateTime.Now:O}] Ad Loaded. Info: {adInfo?.ToString() ??
"(null)"}.");
_adUnit?.Show();
}
private void OnAdUnitFailed(AdError? adError)
{
Debug.LogError($"[{DateTime.Now:O}] Ad Failed: {adError?.Message}.");
DropAdUnit();
}
private void OnAdUnitDisplayed() => Debug.Log($"[{DateTime.Now:O}] Ad Displayed.");
private void OnAdUnitClicked() => Debug.Log($"[{DateTime.Now:O}] Ad Clicked.");
private void OnAdUnitClosed()
{
Debug.Log($"[{DateTime.Now:O}] Ad Closed.");
DropAdUnit();
}
private void OnAdUnitRewarded(AdReward? adReward) => Debug.Log($"[{DateTime.Now:O}]
Ad Rewarded: {adReward}.");
23 / 257
private void UnsubscribeFromEvents(IRewardedAd adUnit)
{
adUnit.OnAdLoaded -= OnAdUnitLoaded;
adUnit.OnAdDisplayed -= OnAdUnitDisplayed;
adUnit.OnAdFailed -= OnAdUnitFailed;
adUnit.OnAdClicked -= OnAdUnitClicked;
adUnit.OnAdClosed -= OnAdUnitClosed;
adUnit.OnReward -= OnAdUnitRewarded;
}
private void DropAdUnit()
{
if (_adUnit is null)
{
return;
}
UnsubscribeFromEvents(_adUnit);
_adUnit.Dispose();
_adUnit = null;
}
24 / 257
I
ntro
d
u
c
t
i
on
to
N
a
t
i
v
e
A
d
s
W
ha
t
?
H
e
r
e
i
s
a
n
e
x
ce
rpt
f
rom
O
p
e
n
R
T
B D
yn
a
m
ic
N
a
t
i
v
e
A
d
s
API S
p
ecifica
t
i
on
V
e
rs
i
on
1.2
.
N
a
t
i
v
e
ad
v
e
rt
i
s
i
n
g
i
s
a
n
onl
i
n
e
ad
v
e
rt
i
s
i
n
g
m
e
t
h
o
d
i
n
w
hich
t
he
ad
v
e
rt
i
s
e
r
a
tt
e
mpts
to
gai
n
a
tt
e
nt
i
on
b
y
prov
idi
n
g
c
ont
e
nt
i
n
t
he
c
ont
e
xt
o
f
t
he
us
e
r
'
s
e
xp
e
r
ie
n
ce
.
N
a
t
i
v
e
ad
f
orm
a
ts
m
a
t
ch
b
ot
h
t
he
f
orm
a
n
d
f
un
c
t
i
on
o
f
t
he
us
e
r
e
xp
e
r
ie
n
ce
i
n
w
hich
i
t
i
s
pl
aced
.
T
hi
s
i
s
i
n
c
ontr
a
st
to
tr
adi
t
i
on
a
l
ba
nn
e
r
or
i
nt
e
rst
i
t
ia
ls
ad
s
,
w
hich
a
r
e
di
spl
a
y
ed
i
n
a
s
e
p
a
r
a
t
e
sp
ace
o
f
pr
edefi
n
ed
a
n
d
un
i
v
e
rs
a
l
s
i
z
e
,
w
i
t
h
out
r
ega
r
d
to
t
hei
r
surroun
di
n
g
s
.
W
ha
t
agai
n
?
T
he
ad
s
t
ha
t
ha
v
e
no
'
pr
edefi
n
ed
f
orm
',
b
ut
r
a
t
he
r
a
s
e
t
o
f
p
iece
s
you
m
ake
loo
k
l
ike
a
n
a
tur
a
l
p
a
rt
o
f
your
a
ppl
ica
t
i
on
.
H
e
r
e
i
s
a
n
e
x
a
mpl
e
o
f
da
t
a
you
m
igh
t
r
ecei
v
e
:
A
s
you
ca
n
s
ee
,
i
t
ca
n
be
gi
v
e
n
pr
e
tty
mu
ch
a
ny
r
ea
son
ab
l
e
s
ha
p
e
.
F
e
w
e
x
a
mpl
e
s
:
A
m
e
ss
age
v
ia
i
n
-
a
pp
c
ommun
ica
t
i
on
syst
e
m
.
cha
t
/
e
m
ai
l
/
f
orum
m
e
ss
age
.
post
on
a
qu
e
st
i
n
g
b
o
a
r
d
.
e
ntry
w
i
t
hi
n
i
n
-
worl
d
'
n
e
ws
'
feed
.
C
ont
e
nt
f
or
i
n
-
worl
d
2
D
/3
D
ad
b
ox
.
I
f
you
ha
v
e
a
ci
ty
-
l
ike
lo
ca
t
i
on
w
i
t
hi
n
a
ga
m
e
,
pl
aci
n
g
a
fe
w
ad
b
ox
e
s
a
roun
d
m
igh
t
m
ake
i
t
mor
e
r
ea
l
i
st
ic
.
I
n
a
2
D
pl
a
t
f
orm
e
r
you
m
igh
t
r
e
pl
ace
s
som
e
unr
eachab
l
e
t
i
l
e
s
w
i
t
h
a
n
ad
c
ont
ai
n
e
r
.
W
h
y
?
25 / 257
T
he
i
mm
e
rs
i
on
i
s
l
e
ss
di
srupt
ed
:
T
he
styl
e
o
f
ad
m
a
t
che
s
t
he
r
e
st
o
f
t
he
a
pp
:
f
onts
c
olor
s
che
m
e
l
a
yout
(
b
ot
h
lo
ca
t
i
ons
a
n
d
s
i
z
e
s
o
f
e
l
e
m
e
nts
)
U
s
e
r
i
nput
i
s
not
i
nt
e
rrupt
ed
(
c
omp
a
r
ed
to
i
nt
e
rst
i
t
ia
ls
).
Y
ou
d
o
not
los
e
l
i
m
i
t
ed
s
c
r
ee
n
sp
ace
(
c
omp
a
r
ed
to
ba
nn
e
rs
).
H
ow
?
B
u
i
l
d
a
r
e
qu
e
st
de
s
c
r
ibi
n
g
w
ha
t
e
l
e
m
e
nts
you
ca
n
di
spl
a
y
.
s
ee
B
u
i
l
di
n
g
N
a
t
i
v
e
A
d
R
e
qu
e
st
C
a
ll
L
o
ad
A
d
(
A
c
t
i
on
<
IN
a
t
i
v
e
A
d
?,
A
d
E
rror
?>)
.
A
pply
t
he
c
ont
e
nt
f
rom
IN
a
t
i
v
e
A
d
to
t
he
G
a
m
e
O
bjec
t
on
s
ce
n
e
.
s
ee
A
pply
i
n
g
N
a
t
i
v
e
A
d
R
e
spons
e
26 / 257
B
u
i
l
di
n
g
N
a
t
i
v
e
A
d
R
e
qu
e
st
L
on
g
story
s
h
ort
G
e
t
a
popul
a
t
ed
A
d
U
n
i
t
D
a
t
a
.
C
a
ll
a
n
e
xt
e
ns
i
on
m
e
t
h
o
d
B
u
i
l
d
A
d
L
o
ade
r
(
A
d
U
n
i
t
D
a
t
a
)
.
N
a
t
i
v
e
C
on
fig
P
r
e
s
e
t
a
ss
e
t
A
d
U
n
i
t
D
a
t
a
ha
s
S
e
r
ia
l
i
z
ab
l
e
A
ttr
ib
ut
e
.
W
hich
m
ea
ns
you
ca
n
ha
v
e
i
t
edi
t
ed
v
ia
U
n
i
ty
E
di
tor
.
M
ost
o
f
t
he
da
t
a
i
s
pr
e
tty
st
a
t
ic
,
so
t
he
lo
gica
l
t
hi
n
g
to
d
o
i
s
wr
a
p
A
d
U
n
i
t
D
a
t
a
i
nto
a
S
c
r
i
pt
ab
l
e
O
bjec
t
.
T
he
"
N
a
t
i
v
e
"
s
a
mpl
e
ha
s
a
NativeConfigPreset
f
or
t
ha
t
:
NO
T
E
M
ake
sur
e
you
'
v
e
d
on
e
SDK I
n
i
t
ia
l
i
z
a
t
i
on
bef
or
e
a
tt
e
mpt
i
n
g
to
lo
ad
a
ny
ad
s
.
_nativeAdLoader = nativeConfig.BuildAdLoader();
_nativeAdLoader.LoadAd(OnAdLoadResult);
T
IP
T
he
r
e
sult
i
n
g
IN
a
t
i
v
e
A
d
L
o
ade
r
ha
s
L
o
ad
A
d
(
A
c
t
i
on
<
IN
a
t
i
v
e
A
d
?,
A
d
E
rror
?>)
you
n
eeded
.
N
ow
you
ca
n
ge
t
back
to
st
e
p
2
o
f
H
ow
to
d
o
N
a
t
i
v
e
A
d
s
.
using System;
using AppstockSDK.Api;
using UnityEngine;
using AppstockSDK.Api.Native.Data.Request;
namespace AppstockSDK.Demo.Native
{
[Serializable]
[CreateAssetMenu(fileName = "NativeConfigPreset", menuName = "Appstock/Native
27 / 257
O
n
ce
i
mport
ed
,
you
ca
n
c
r
ea
t
e
a
ss
e
ts
o
f
t
hi
s
c
l
a
ss
v
ia
r
e
sp
ec
t
i
v
e
m
e
nu
e
ntry
(
high
l
igh
t
ed
ab
ov
e
).
C
on
fig
W
a
rn
i
n
g
s
s
e
rv
e
s
a
s
a
n
effec
t
i
v
e
ly
-
r
ead
only
c
ont
ai
n
e
r
to
di
spl
a
y
a
ny
e
rrors
di
r
ec
tly
i
n
i
nsp
ec
tor
d
ur
i
n
g
t
he
edi
t
i
n
g
pro
ce
ss
.
P
l
ace
m
e
nt
/
E
n
d
po
i
nt
ID
F
i
ll
i
n
pl
ace
m
e
nt
ID
or
e
n
d
po
i
nt
ID
w
i
t
h
a
v
a
lu
e
ge
n
e
r
a
t
ed
on
t
he
A
ppsto
ck
SDK
pl
a
t
f
orm
'
s
U
I
.
A
d
P
a
r
a
m
e
t
e
rs
F
i
ll
i
n
t
he
P
a
r
a
m
e
t
e
rs
to
t
he
be
st
o
f
your
abi
l
i
t
ie
s
.
Config Preset")]
public class NativeConfigPreset : ScriptableObject
{
public ConfigWarnings warnings;
public AdUnitData adUnitData;
public INativeAdLoader BuildAdLoader()
=> adUnitData.BuildAdLoader();
}
}
28 / 257
29 / 257
A
d
A
ss
e
ts
a
ss
e
ts
(
o
f
typ
e
A
ss
e
ts
)
ha
s
3
h
omo
ge
n
e
ous
a
rr
a
ys
f
or
each
typ
e
o
f
a
ss
e
ts
:
A
ss
e
t
T
yp
e
C
on
fig
S
a
mpl
e
s
A
ss
e
t
T
i
tl
e
[]
T
IP
B
ot
h
A
d
U
n
i
t
D
a
t
a
a
n
d
P
a
r
a
m
e
t
e
rs
a
r
e
stru
c
ts
.
T
hi
s
a
llows
you
to
r
e
us
e
a
s
i
n
g
l
e
NativeConfigPreset
a
ss
e
t
f
or
diffe
r
e
nt
pl
ace
m
e
nts
or
c
ont
e
xts
if
n
eeded
.
30 / 257
A
ss
e
t
T
yp
e
C
on
fig
S
a
mpl
e
s
A
ss
e
t
I
m
age
[]
31 / 257
A
ss
e
t
T
yp
e
C
on
fig
S
a
mpl
e
s
A
ss
e
t
D
a
t
a
[]
32 / 257
E
xt
S
lots
S
om
e
da
t
a
stru
c
tur
e
s
e
xpos
e
pu
b
l
ic
fie
l
d
s
o
f
typ
e
E
xt
S
lot
.
S
ee
E
xt
S
lot
p
age
f
or
mor
e
i
n
f
o
.
U
s
i
n
g
da
t
a
f
rom
a
ss
e
t
to
lo
ad
ad
D
ec
l
a
r
i
n
g
v
a
r
iab
l
e
s
E
xpos
e
NativeConfigPreset
i
nsp
ec
t
ab
l
e
v
a
r
iab
l
e
on
t
he
r
e
l
e
v
a
nt
M
ono
B
eha
v
i
our
.
P
r
e
p
a
r
e
IN
a
t
i
v
e
A
d
L
o
ade
r
pr
i
v
a
t
e
v
a
r
iab
l
e
.
text
i
s
t
he
s
a
mpl
e
i
s
us
ed
f
or
di
spl
a
y
i
n
g
t
he
c
ont
e
nt
o
f
IN
a
t
i
v
e
A
d
.
I
t
i
s
f
or
i
llustr
a
t
i
on
purpos
e
s
only
.
_nativeAd
w
i
ll
be
us
ed
l
a
t
e
r
(
on
ce
r
ecei
v
ed
).
L
o
adi
n
g
t
he
ad
NO
T
E
I
f
a
ll
o
f
t
he
a
rr
a
y
a
r
e
null
or
e
mpty
,
t
he
c
om
bi
n
ed
assets
fie
l
d
w
i
ll
not
be
wr
i
tt
e
n
to
i
n
n
a
t
i
v
e
l
ib
r
a
ry
(
b
y
defa
ult
)
a
n
d
t
he
w
a
rn
i
n
g
i
s
di
spl
a
y
ed
i
n
i
nsp
ec
tor
.
a
llow
E
mpty
l
e
ts
you
ov
e
rr
ide
t
hi
s
beha
v
i
our
a
n
d
i
nt
e
nt
i
on
a
lly
p
a
ss
t
he
e
mpty
a
rr
a
y
d
own
i
nto
n
a
t
i
v
e
l
ib
r
a
ry
(
r
a
t
he
r
t
ha
n
kee
p
defa
ult
w
hich
most
l
ike
ly
i
s
null
).
T
IP
Y
ou
ca
n
fi
n
d
a
f
un
c
t
i
on
a
l
c
o
de
i
n
"
N
a
t
i
v
e
"
s
a
mpl
e
.
#nullable enable
namespace AppstockSDK.Demo.Native
{
public class NativeDemo : MonoBehaviour
{
[SerializeField] private NativeConfigPreset? nativeConfig;
[SerializeField] private TMP_Text? text;
private INativeAdLoader? _nativeAdLoader;
private INativeAd? _nativeAd;
33 / 257
B
u
i
l
d
t
he
ad
lo
ade
r
.
I
n
t
hi
s
ca
s
e
t
he
c
onv
e
n
ie
n
ce
m
e
t
h
o
d
b
y
s
c
r
i
pt
ab
l
e
o
bjec
t
w
a
s
us
ed
.
I
f
you
n
eed
to
adj
ust
t
he
da
t
a
bef
or
e
b
u
i
l
di
n
g
t
he
lo
ade
r
,
us
e
a
lo
ca
l
v
a
r
iab
l
e
,
e
.
g
.:
L
o
ad
t
he
ad
.
T
he
s
ig
n
a
tur
e
o
f
OnAdLoadResult
ca
ll
back
m
e
t
h
o
d
i
s
:
I
f
i
t
fai
l
ed
to
lo
ad
,
nativeAd
w
i
ll
be
null
a
n
d
status
m
a
y
c
ont
ai
n
a
n
e
rror
m
e
ss
age
.
I
f
t
he
ad
did
su
cce
ss
f
ully
lo
ad
,
nativeAd
w
i
ll
be
not
null
.
_nativeAdLoader = nativeConfig.BuildAdLoader();
public INativeAdLoader BuildAdLoader()
=> adUnitData.BuildAdLoader();
AdUnitData dataCopy = nativeConfig.adUnitData;
dataCopy.placementID = "99";
dataCopy.parameters.sequence = 17;
_nativeAdLoader = dataCopy.BuildAdLoader();
_nativeAdLoader.LoadAd(OnAdLoadResult);
private void OnAdLoadResult(INativeAd? nativeAd, AdError? status)
W
ARNING
D
o
not
check
if
status
i
s
null
to
de
t
e
rm
i
n
e
if
ad
ha
s
lo
aded
.
status
m
a
y
c
ont
ai
n
su
cce
ss
m
e
ss
age
.
T
IP
F
or
a
pply
i
n
g
t
he
r
ecei
v
ed
da
t
a
pl
ea
s
e
c
ont
i
nu
e
r
eadi
n
g
A
pply
i
n
g
N
a
t
i
v
e
A
d
R
e
spons
e
.
34 / 257
A
pply
i
n
g
N
a
t
i
v
e
A
d
R
e
spons
e
T
hi
s
p
age
e
xpl
ai
ns
h
ow
to
m
ake
us
e
o
f
IN
a
t
i
v
e
A
d
.
O
n
h
ow
to
b
u
i
l
d
t
he
r
e
qu
e
st
a
n
d
lo
ad
t
he
ad
s
ee
B
u
i
l
di
n
g
N
a
t
i
v
e
A
d
R
e
qu
e
st
.
W
he
r
e
w
e
l
ef
t
o
ff
A
s
w
a
s
m
e
nt
i
on
ed
on
t
he
pr
e
v
i
ous
p
age
,
w
e
ha
v
e
3
(
st
i
ll
r
e
l
e
v
a
nt
)
i
-
v
a
rs
.
W
e
w
i
ll
us
e
text
to
d
ump
a
ll
t
he
da
t
a
f
rom
our
IN
a
t
i
v
e
A
d
--
f
or
i
llustr
a
t
i
on
purpos
e
s
.
I
n
t
he
r
ea
l
a
pp
you
w
i
ll
popul
a
t
e
your
own
G
U
I
(
or
2
D
/3
D
)
c
ompon
e
nts
.
_nativeAd
st
i
ll
ha
s
t
he
defa
ult
v
a
lu
e
(
null
).
_nativeAdLoader
st
i
ll
ha
s
t
he
lo
ade
r
t
ha
t
w
a
s
us
ed
to
st
a
rt
lo
adi
n
g
t
he
ad
.
T
IP
Y
ou
ca
n
fi
n
d
a
f
un
c
t
i
on
a
l
c
o
de
i
n
"
N
a
t
i
v
e
"
s
a
mpl
e
.
[SerializeField] private TMP_Text? text;
private INativeAdLoader? _nativeAdLoader;
private INativeAd? _nativeAd;
35 / 257
L
o
ggi
n
g
he
lp
e
r
LogToUI
m
e
t
h
o
d
i
s
a
s
i
mpl
e
wr
a
pp
e
r
to
add
m
e
ss
age
s
b
ot
h
to
U
I
a
n
d
deb
u
g
c
onsol
e
:
A
d
L
o
ad
C
a
ll
back
F
i
rst
,
check
if
w
e
did
ge
t
t
he
ac
tu
a
l
ad
.
S
a
v
e
a
r
efe
r
e
n
ce
to
t
he
ad
.
E
v
e
nt
ha
n
d
l
i
n
g
_nativeAdLoader.LoadAd(OnAdLoadResult);
private void LogToUI(string message, LogType logType = LogType.Log)
{
if (text != null)
{
text.text += "\n" + message;
}
Debug.LogFormat(logType, LogOption.None, gameObject, "[{0:O}] {1}",
DateTime.Now, message);
}
_nativeAdLoader = null;
if (nativeAd is null)
{
LogToUI($"Failed to load ad: {status?.Message}", LogType.Error);
return;
}
_nativeAd = nativeAd;
NO
T
E
IN
a
t
i
v
e
A
d
e
xt
e
n
d
s
ID
i
spos
ab
l
e
.
C
a
ll
i
n
g
D
i
spos
e
()
r
e
l
ea
s
e
s
n
a
t
i
v
e
o
bjec
ts
a
n
d
stops
i
mpr
e
ss
i
on
tr
acki
n
g
.
Y
ou
s
h
oul
d
di
spos
e
o
f
n
a
t
i
v
e
ad
on
ce
d
on
e
,
b
ut
pr
e
s
e
rv
e
a
r
efe
r
e
n
ce
unt
i
l
t
ha
t
po
i
nt
.
36 / 257
S
u
b
s
c
r
ibi
n
g
to
e
v
e
nts
E
xp
i
r
a
t
i
on
ha
n
d
l
i
n
g
U
nsu
b
s
c
r
ibi
n
g
E
xtr
ac
t
i
n
g
a
ll
t
he
t
hi
n
g
s
SubscribeToEvents(nativeAd);
private void SubscribeToEvents(INativeAd nativeAd)
{
nativeAd.OnAdClicked += OnAdClicked;
nativeAd.OnAdImpression += OnAdImpression;
nativeAd.OnAdExpired += OnAdExpired;
}
private void OnAdExpired()
{
LogToUI("Ad Expired.");
using (_nativeAd)
{
if (_nativeAd is not null)
{
UnsubscribeFromEvents(_nativeAd);
_nativeAd.Dispose();
_nativeAd = null;
}
}
}
private void UnsubscribeFromEvents(INativeAd nativeAd)
{
nativeAd.OnAdClicked -= OnAdClicked;
nativeAd.OnAdImpression -= OnAdImpression;
nativeAd.OnAdExpired -= OnAdExpired;
}
private void UnsubscribeFromEvents(INativeAd nativeAd)
{
nativeAd.OnAdClicked -= OnAdClicked;
nativeAd.OnAdImpression -= OnAdImpression;
37 / 257
I
t
e
r
a
t
i
on
ov
e
r
typ
ed
a
ss
e
t
c
oll
ec
t
i
ons
U
s
e
f
or
each
to
i
t
e
r
a
t
e
ov
e
r
T
i
tl
e
s
:
S
i
n
ce
w
e
no
lon
ge
r
n
eed
t
i
tl
e
s
,
on
ce
w
e
e
xtr
ac
t
t
he
str
i
n
g
s
,
w
e
w
i
ll
us
e
us
i
n
g
a
s
r
ec
omm
e
n
ded
.
S
i
m
i
l
a
r
loops
ca
n
be
m
ade
f
or
I
m
age
s
/
D
a
t
a
O
bjec
ts
.
I
ns
ide
t
he
loop
(
s
)
you
ca
n
acce
ss
a
ll
t
he
prop
e
rt
ie
s
e
xpos
ed
b
y
(
r
e
sp
ec
t
i
v
e
)
a
ss
e
t
typ
e
(
s
):
I
T
i
tl
e
C
ont
e
nt
T
e
xt
II
m
age
C
ont
e
nt
I
m
age
T
yp
e
nativeAd.OnAdExpired -= OnAdExpired;
}
foreach (var nextTitle in nativeAd.Titles)
{
}
NO
T
E
I
T
i
tl
e
C
ont
e
nt
,
II
m
age
C
ont
e
nt
a
n
d
ID
a
t
a
C
ont
e
nt
i
mpl
e
m
e
nt
ID
i
spos
ab
l
e
.
C
a
ll
i
n
g
D
i
spos
e
()
a
llows
t
he
e
n
gi
n
e
to
f
r
ee
n
a
t
i
v
e
r
e
sour
ce
s
soon
e
r
on
som
e
pl
a
t
f
orms
.
S
ee
"
B
e
st
pr
ac
t
ice
"
/
"
G
a
r
bage
c
oll
ec
t
i
on
"
s
ec
t
i
on
o
f
C
a
ll
J
a
v
a
a
n
d
K
otl
i
n
plu
g
-
i
n
c
o
de
f
rom
C
#
s
c
r
i
pts
f
or
de
t
ai
ls
.
foreach (var nextTitle in nativeAd.Titles)
{
using (nextTitle)
{
}
}
38 / 257
U
RL
ID
a
t
a
C
ont
e
nt
D
a
t
a
T
yp
e
V
a
lu
e
Y
ou
m
igh
t
w
a
nt
to
us
e
a
sw
i
t
ch
ov
e
r
I
m
age
C
ont
e
nt
T
yp
e
/
D
a
t
a
C
ont
e
nt
T
yp
e
to
de
t
e
rm
i
n
e
w
hich
o
f
your
c
ompon
e
nts
(
on
s
ce
n
e
)
s
h
oul
d
ha
n
d
l
e
c
ur
e
nt
ad
a
ss
e
t
.
C
onv
e
n
ie
n
ce
acce
ssors
F
e
w
di
r
ec
t
acce
ss
str
i
n
g
prop
e
rt
ie
s
ca
n
be
he
lp
f
ul
to
a
vo
id
fi
lt
e
r
i
n
g
t
h
rou
gh
a
ll
t
he
a
ss
e
ts
(
if
you
k
now
w
ha
t
you
a
r
e
loo
ki
n
g
f
or
).
T
i
tl
e
I
m
age
U
rl
I
c
on
U
rl
S
ponsor
ed
B
y
C
a
ll
T
o
A
c
t
i
on
E
n
ab
l
i
n
g
i
mpr
e
ss
i
on
tr
acki
n
g
C
a
ll
R
egi
st
e
r
V
ie
w
(
G
a
m
e
O
bjec
t
,
IE
num
e
r
ab
l
e
<
G
a
m
e
O
bjec
t
>?)
.
A
s
a
container
p
a
ss
t
he
most
r
e
l
e
v
a
nt
a
n
ce
stor
(
T
r
a
ns
f
orm
-
w
i
s
e
)
o
f
ad
e
l
e
m
e
nts
.
A
s
a
clickableObjects
--
G
a
m
e
O
bjec
t
s
w
i
t
h
a
tt
ached
c
oll
ide
rs
(
C
oll
ide
r
/
C
oll
ide
r
2
D
)
or
S
e
l
ec
t
ab
l
e
c
ompon
e
nts
.
D
i
spos
i
n
g
o
f
n
a
t
i
v
e
ad
U
s
ed
i
n
E
xp
i
r
a
t
i
on
ha
n
d
l
i
n
g
b
ut
m
a
y
a
lso
be
n
eeded
w
he
n
G
a
m
e
O
bjec
t
ge
ts
de
stroy
ed
.
nativeAd.RegisterView(gameObject, null);
UnsubscribeFromEvents(_nativeAd);
_nativeAd.Dispose();
_nativeAd = null;
39 / 257
SDK C
on
fig
ur
a
t
i
on
IS
dk
P
roxy
prov
ide
s
fe
w
g
lo
ba
l
c
on
fig
ur
a
t
i
on
opt
i
ons
.
S
dk
prop
e
rty
o
f
A
ppsto
ck
ca
n
be
us
ed
to
ge
t
t
he
i
nst
a
n
ce
o
f
IS
dk
P
roxy
.
D
a
t
a
-
d
r
i
v
e
n
a
ppro
ach
S
dk
C
on
fig
i
s
a
da
t
a
c
ont
ai
n
e
r
--
w
i
t
h
a
S
e
r
ia
l
i
z
ab
l
e
A
ttr
ib
ut
e
--
f
or
sp
ecif
y
i
n
g
s
e
tt
i
n
g
s
v
ia
U
n
i
ty
E
di
tor
.
A
pply
i
n
g
t
he
c
on
fig
E
xpos
e
S
dk
C
on
fig
v
a
r
iab
l
e
on
your
M
ono
B
eha
v
i
our
O
r
put
i
t
i
ns
ide
som
e
S
c
r
i
pt
ab
l
e
O
bjec
t
a
n
d
a
ss
ig
n
t
h
rou
gh
t
ha
t
.
C
a
ll
e
xt
e
ns
i
on
m
e
t
h
o
d
A
pply
(
IS
dk
P
roxy
,
S
dk
C
on
fig
)
on
A
ppsto
ck
.
S
dk
a
n
d
p
a
ss
your
S
dk
C
on
fig
.
W
ARNING
IS
dk
P
roxy
::
E
xt
e
rn
a
l
U
s
e
r
I
d
s
a
n
d
S
dk
C
on
fig
::
e
xt
e
rn
a
l
U
s
e
r
I
d
s
e
xpos
e
a
pot
e
nt
ia
lly
-
de
pr
eca
t
ed
prop
e
rty
o
f
n
a
t
i
v
e
SDK
l
ib
r
a
ry
.
I
T
a
r
ge
t
i
n
g
P
roxy
::
E
xt
e
rn
a
l
U
s
e
r
I
d
s
/
T
a
r
ge
t
i
n
g
D
a
t
a
::
e
xt
e
rn
a
l
U
s
e
r
I
d
s
s
h
oul
d
be
us
ed
i
nst
ead
i
n
most
ca
s
e
s
.
S
ee
I
mprov
i
n
g
t
a
r
ge
t
i
n
g
/
E
xt
e
rn
a
l
U
s
e
r
ID
s
.
40 / 257
T
aki
n
g
a
c
on
fig
sn
a
ps
h
ot
S
dk
C
on
fig
S
n
a
ps
h
ot
ca
n
r
e
tr
ie
v
e
a
ll
r
eadab
l
e
prop
e
rt
ie
s
f
rom
IS
dk
P
roxy
.
I
t
ca
n
be
s
e
r
ia
l
i
z
ed
a
n
d
lo
gged
i
nto
c
onsol
e
or
c
omp
a
r
ed
to
t
he
e
xp
ec
t
ed
c
on
fig
--
to
lo
g
diffe
r
e
n
ce
s
f
or
l
a
t
e
r
m
a
nu
a
l
i
nsp
ec
t
i
on
.
#nullable enable
namespace AppstockSDK.DevApp
{
public class TargetingDemo : MonoBehaviour
{
public SdkConfig sdkConfig = new();
public TargetingData targetingData = new();
// Start is called before the first frame update
private IEnumerator Start()
{
Debug.Log($"[{DateTime.Now:O}] Applying config...");
Appstock.Sdk.Apply(sdkConfig);
T
IP
Y
ou
ca
n
fi
n
d
a
c
ompl
e
t
e
c
o
de
i
n
"
C
on
fig
A
n
d
T
a
r
ge
t
i
n
g
"
s
a
mpl
e
.
var sdkConfigSnapshot = new SdkConfigSnapshot(Appstock.Sdk);
var snapshotJson = JsonUtility.ToJson(sdkConfigSnapshot, prettyPrint: true);
Debug.Log($"(snapshot) {snapshotJson}");
var unequalFields = sdkConfigSnapshot.UnequalFields(sdkConfig).ToList();
if (unequalFields.Any())
{
var configJson = JsonUtility.ToJson(sdkConfig, prettyPrint: true);
Debug.Log($"(config) {configJson}");
Debug.LogWarning($"[DIFF-FIELDS] ({unequalFields.Count}): {string.Join(",
", unequalFields)}.");
}
else
41 / 257
{
Debug.Log("SDK config applied successfully.");
}
42 / 257
I
mprov
i
n
g
t
a
r
ge
t
i
n
g
I
T
a
r
ge
t
i
n
g
P
roxy
prov
ide
s
fe
w
g
lo
ba
l
c
on
fig
ur
a
t
i
on
opt
i
ons
.
S
dk
prop
e
rty
o
f
A
ppsto
ck
ca
n
be
us
ed
to
ge
t
t
he
i
nst
a
n
ce
o
f
I
T
a
r
ge
t
i
n
g
P
roxy
.
D
a
t
a
-
d
r
i
v
e
n
a
ppro
ach
T
a
r
ge
t
i
n
g
D
a
t
a
i
s
a
da
t
a
c
ont
ai
n
e
r
--
w
i
t
h
a
S
e
r
ia
l
i
z
ab
l
e
A
ttr
ib
ut
e
--
f
or
sp
ecif
y
i
n
g
s
e
tt
i
n
g
s
v
ia
U
n
i
ty
E
di
tor
.
43 / 257
E
xt
e
rn
a
l
U
s
e
r
ID
s
I
f
you
ha
pp
e
n
to
k
now
e
xt
e
rn
a
l
ID
o
f
t
hi
s
us
e
r
on
ot
he
r
s
e
rv
ice
s
,
you
ca
n
add
t
he
m
a
s
E
xt
e
rn
a
l
U
s
e
r
ID
e
l
e
m
e
nts
.
A
pply
i
n
g
t
he
da
t
a
E
xpos
e
T
a
r
ge
t
i
n
g
D
a
t
a
v
a
r
iab
l
e
on
your
M
ono
B
eha
v
i
our
O
r
put
i
t
i
ns
ide
som
e
S
c
r
i
pt
ab
l
e
O
bjec
t
a
n
d
a
ss
ig
n
t
h
rou
gh
t
ha
t
.
C
a
ll
e
xt
e
ns
i
on
m
e
t
h
o
d
A
pply
(
I
T
a
r
ge
t
i
n
g
P
roxy
,
T
a
r
ge
t
i
n
g
D
a
t
a
)
on
A
ppsto
ck
.
S
dk
a
n
d
p
a
ss
your
T
a
r
ge
t
i
n
g
D
a
t
a
.
W
ARNING
I
f
you
popul
a
t
e
e
xt
,
m
ake
sur
e
i
t
i
s
a
v
a
l
id
JSON
o
bjec
t
.
O
t
he
r
JSON
v
a
lu
e
typ
e
s
a
r
e
NO
T
support
ed
.
#nullable enable
namespace AppstockSDK.DevApp
{
public class TargetingDemo : MonoBehaviour
{
public SdkConfig sdkConfig = new();
public TargetingData targetingData = new();
// Start is called before the first frame update
44 / 257
E
xt
S
lots
S
om
e
da
t
a
stru
c
tur
e
s
e
xpos
e
pu
b
l
ic
fie
l
d
s
o
f
typ
e
E
xt
S
lot
.
S
ee
E
xt
S
lot
p
age
f
or
mor
e
i
n
f
o
.
T
aki
n
g
a
sn
a
ps
h
ot
o
f
ac
t
i
v
e
da
t
a
E
xt
e
ns
i
on
m
e
t
h
o
d
T
ake
S
n
a
ps
h
ot
(
I
T
a
r
ge
t
i
n
g
P
roxy
)
ca
n
r
e
tr
ie
v
e
a
ll
r
eadab
l
e
prop
e
rt
ie
s
f
rom
I
T
a
r
ge
t
i
n
g
P
roxy
.
I
t
ca
n
be
s
e
r
ia
l
i
z
ed
a
n
d
lo
gged
i
nto
c
onsol
e
or
c
omp
a
r
ed
to
t
he
e
xp
ec
t
ed
da
t
a
--
to
lo
g
diffe
r
e
n
ce
s
f
or
l
a
t
e
r
m
a
nu
a
l
i
nsp
ec
t
i
on
.
private IEnumerator Start()
{
Debug.Log($"[{DateTime.Now:O}] Applying config...");
Appstock.Sdk.Apply(sdkConfig);
Debug.Log($"[{DateTime.Now:O}] Attempting to init SDK...");
Appstock.InitializeSdk("appstock-demo");
Debug.Log($"[{DateTime.Now:O}] Letting SDK init to finish...");
yield return new WaitForSeconds(1);
Debug.Log($"[{DateTime.Now:O}] Applying targeting data...");
Appstock.Targeting.Apply(targetingData);
T
IP
Y
ou
ca
n
fi
n
d
a
c
ompl
e
t
e
c
o
de
i
n
"
C
on
fig
A
n
d
T
a
r
ge
t
i
n
g
"
s
a
mpl
e
.
var targetingSnapshot = Appstock.Targeting.TakeSnapshot();
var snapshotJson = JsonUtility.ToJson(targetingSnapshot, prettyPrint: true);
Debug.Log($"(snapshot) {snapshotJson}");
var unequalFields = targetingData.UnequalFields(targetingSnapshot,
fieldsToIgnore: new[]
{
nameof(targetingData.userExtJson) // the ordering is not guaranteed
45 / 257
upon retrieval
}).ToList();
if (unequalFields.Any())
{
var configJson = JsonUtility.ToJson(targetingData, prettyPrint: true);
Debug.Log($"(config) {configJson}");
Debug.LogWarning($"[DIFF-FIELDS] ({unequalFields.Count}): {string.Join(",
", unequalFields)}.");
}
else
{
Debug.Log("Targeting data applied successfully.");
}
46 / 257
E
xt
S
lot
S
om
e
da
t
a
stru
c
tur
e
s
e
xpos
e
pu
b
l
ic
fie
l
d
s
o
f
typ
e
E
xt
S
lot
.
A
ny
JSON
da
t
a
i
s
a
llow
ed
i
ns
ide
.
M
o
de
D
e
s
c
r
i
pt
i
on
S
c
rr
e
ns
h
ot
N
on
e
D
efa
ult
v
a
lu
e
.
N
o
c
ont
e
nt
.
S
i
n
g
l
e
O
bjec
t
f
orm
.
A
cce
pts
a
s
i
n
g
l
e
S
c
r
i
pt
ab
l
e
O
bjec
t
a
ss
e
t
.
Y
ou
ca
n
us
e
a
ny
n
ece
ss
a
ry
stru
c
tur
e
f
or
your
da
t
a
c
l
a
ss
.
H
a
s
pr
e
v
ie
w
.
47 / 257
M
o
de
D
e
s
c
r
i
pt
i
on
S
c
rr
e
ns
h
ot
M
ult
i
pl
e
A
rr
a
y
f
orm
.
A
cce
pts
mult
i
pl
e
S
c
r
i
pt
ab
l
e
O
bjec
t
a
ss
e
ts
.
Y
ou
ca
n
us
e
a
ny
n
ece
ss
a
ry
stru
c
tur
e
f
or
your
da
t
a
c
l
a
ss
(-
e
s
).
H
a
s
pr
e
v
ie
w
.
I
nl
i
n
e
S
tr
i
n
g
S
tr
i
n
g
f
orm
.
F
i
ll
i
n
w
i
t
h
a
v
a
l
id
JSON
str
i
n
g
.
A
lso
prov
ide
s
i
mpl
ici
t
ca
st
i
n
g
op
e
r
a
tors
f
or
a
ll
3
ca
s
e
s
:
i
mpl
ici
t
op
e
r
a
tor
E
xt
S
lot
(
str
i
n
g
?)
i
mpl
ici
t
op
e
r
a
tor
E
xt
S
lot
(
S
c
r
i
pt
ab
l
e
O
bjec
t
?)
i
mpl
ici
t
op
e
r
a
tor
E
xt
S
lot
(
S
c
r
i
pt
ab
l
e
O
bjec
t
[]?)
48 / 257
S
a
mpl
e
s
T
he
r
e
a
r
e
5
s
a
mpl
e
s
prov
ided
w
i
t
h
t
he
p
ackage
.
S
a
mpl
e
n
a
m
e
R
e
l
a
t
ed
top
ic
s
B
a
nn
e
r
SDK I
n
i
t
ia
l
i
z
a
t
i
on
a
n
d
B
a
nn
e
r
A
d
I
nt
e
rst
i
t
ia
l
I
nt
e
rst
i
t
ia
l
A
d
R
e
w
a
r
ded
R
e
w
a
r
ded
A
d
N
a
t
i
v
e
N
a
t
i
v
e
A
d
s
C
on
fig
A
n
d
T
a
r
ge
t
i
n
g
SDK C
on
fig
ur
a
t
i
on
a
n
d
I
mprov
ed
T
a
r
ge
t
i
n
g
Y
ou
ca
n
fi
n
d
t
he
m
i
n
D
e
t
ai
ls
p
a
n
e
l
o
f
P
ackage
M
a
n
age
r
w
i
n
d
ow
.
49 / 257
50 / 257
C
l
a
ss
e
s
S
dk
E
nums
E
xpos
e
s
a
c
oll
ec
t
i
on
o
f
e
x
i
st
i
n
g
c
onv
e
rt
e
rs
be
tw
ee
n
m
a
n
aged
a
n
d
n
a
t
i
v
e
e
num
v
a
lu
e
s
.
S
dk
I
mp
IS
dk
I
mp
i
mpl
e
m
e
nt
a
t
i
on
f
or
A
n
d
ro
id
.
I
nt
e
r
face
s
IJ
a
v
a
E
num
C
onv
e
rt
e
r
be
tw
ee
n
m
a
n
aged
a
n
d
n
a
t
i
v
e
e
num
typ
e
s
.
N
a
m
e
sp
ace
A
ppsto
ck
SDK
.
A
n
d
ro
id
51 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
n
d
ro
id
A
ss
e
m
b
ly
:
A
ppsto
ck
.
A
n
d
ro
id
.
d
ll
C
onv
e
rt
e
r
be
tw
ee
n
m
a
n
aged
a
n
d
n
a
t
i
v
e
e
num
typ
e
s
.
P
rop
e
rt
ie
s
G
e
ts
m
a
n
aged
-
to
-
n
a
t
i
v
e
c
onv
e
rt
e
r
de
l
ega
t
e
.
P
rop
e
rty
V
a
lu
e
F
un
c
<
o
bjec
t
,
A
n
d
ro
id
J
a
v
a
O
bjec
t
>
A
de
l
ega
t
e
t
ha
t
ca
n
c
onv
e
rt
m
a
n
aged
e
num
v
a
lu
e
to
n
a
t
i
v
e
on
e
.
G
e
ts
c
onv
e
rt
ib
l
e
v
a
lu
e
s
o
f
m
a
n
aged
e
num
.
P
rop
e
rty
V
a
lu
e
IE
num
e
r
ab
l
e
<
o
bjec
t
>
M
a
n
aged
e
num
v
a
lu
e
s
f
or
w
hich
t
he
n
a
m
e
o
f
n
a
t
i
v
e
e
num
i
s
k
nown
.
I
nt
e
r
face
IJ
a
v
a
E
num
public interface IJavaEnum
C
onv
e
rt
e
r
Func<object, AndroidJavaObject?> Converter { get; }
C
onv
e
rt
ib
l
e
E
num
V
a
lu
e
s
IEnumerable<object> ConvertibleEnumValues { get; }
52 / 257
G
e
ts
t
he
typ
e
o
f
m
a
n
aged
e
num
.
P
rop
e
rty
V
a
lu
e
T
yp
e
M
a
n
aged
e
num
typ
e
.
G
e
ts
n
a
t
i
v
e
-
to
-
m
a
n
aged
c
onv
e
rt
e
r
de
l
ega
t
e
.
P
rop
e
rty
V
a
lu
e
F
un
c
<
A
n
d
ro
id
J
a
v
a
O
bjec
t
,
o
bjec
t
>
A
de
l
ega
t
e
t
ha
t
ca
n
c
onv
e
rt
n
a
t
i
v
e
e
num
v
a
lu
e
to
m
a
n
aged
on
e
.
E
num
T
yp
e
Type EnumType { get; }
R
e
v
e
rt
e
r
Func<AndroidJavaObject, object?> Reverter { get; }
53 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
n
d
ro
id
A
ss
e
m
b
ly
:
A
ppsto
ck
.
A
n
d
ro
id
.
d
ll
E
xpos
e
s
a
c
oll
ec
t
i
on
o
f
e
x
i
st
i
n
g
c
onv
e
rt
e
rs
be
tw
ee
n
m
a
n
aged
a
n
d
n
a
t
i
v
e
e
num
v
a
lu
e
s
.
I
n
he
r
i
t
a
n
ce
o
bjec
t
S
dk
E
nums
I
n
he
r
i
t
ed
M
e
m
be
rs
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
)
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
H
a
s
h
C
o
de
()
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
M
e
m
be
rw
i
s
e
C
lon
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
T
o
S
tr
i
n
g
()
P
rop
e
rt
ie
s
G
e
t
t
he
c
onv
e
rt
e
rs
.
P
rop
e
rty
V
a
lu
e
IE
num
e
r
ab
l
e
<
IJ
a
v
a
E
num
>
C
oll
ec
t
i
on
o
f
e
x
i
st
i
n
g
c
onv
e
rt
e
rs
.
C
l
a
ss
S
dk
E
nums
public static class SdkEnums
J
a
v
a
E
nums
public static IEnumerable<IJavaEnum> JavaEnums { get; }
54 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
n
d
ro
id
A
ss
e
m
b
ly
:
A
ppsto
ck
.
A
n
d
ro
id
.
d
ll
IS
dk
I
mp
i
mpl
e
m
e
nt
a
t
i
on
f
or
A
n
d
ro
id
.
I
n
he
r
i
t
a
n
ce
o
bjec
t
S
dk
I
mp
I
mpl
e
m
e
nts
IS
dk
I
mp
I
n
he
r
i
t
ed
M
e
m
be
rs
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
)
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
H
a
s
h
C
o
de
()
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
T
o
S
tr
i
n
g
()
P
rop
e
rt
ie
s
G
e
ts
SDK I
n
i
t
ia
l
i
z
e
r
o
bjec
t
.
P
rop
e
rty
V
a
lu
e
IS
dk
I
n
i
t
ia
l
i
z
e
r
P
roxy
f
or
a
st
a
t
ic
m
e
t
h
o
d
i
n
t
he
n
a
t
i
v
e
SDK
l
ib
r
a
ry
f
or
a
sp
ecific
pl
a
t
f
orm
.
G
e
ts
SDK
proxy
o
bjec
t
.
C
l
a
ss
S
dk
I
mp
public sealed class SdkImp : ISdkImp
S
dk
I
n
i
t
ia
l
i
z
e
r
public ISdkInitializer SdkInitializer { get; }
S
dk
P
roxy
55 / 257
P
rop
e
rty
V
a
lu
e
IS
dk
P
roxy
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
g
lo
ba
l
s
e
tt
i
n
g
s
o
f
n
a
t
i
v
e
SDK
.
G
e
ts
SDK
t
a
r
ge
t
i
n
g
proxy
o
bjec
t
.
P
rop
e
rty
V
a
lu
e
I
T
a
r
ge
t
i
n
g
P
roxy
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
t
a
r
ge
t
i
n
g
s
e
tt
i
n
g
s
o
f
n
a
t
i
v
e
SDK
.
M
e
t
h
o
d
s
C
r
ea
t
e
s
a
ba
nn
e
r
o
f
sp
ecified
s
i
z
e
.
P
a
r
a
m
e
t
e
rs
adSize
A
d
S
i
z
e
S
i
z
e
o
f
t
he
ba
nn
e
r
v
ie
w
.
R
e
turns
IB
a
nn
e
r
A
d
public ISdkProxy SdkProxy { get; }
T
a
r
ge
t
i
n
g
P
roxy
public ITargetingProxy TargetingProxy { get; }
C
r
ea
t
e
B
a
nn
e
r
(
A
d
S
i
z
e
)
public IBannerAd CreateBanner(AdSize adSize)
56 / 257
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
c
ontrols
ov
e
r
n
a
t
i
v
e
ad
v
ie
w
.
C
r
ea
t
e
s
a
n
i
nt
e
rst
i
t
ia
l
ad
un
i
t
.
R
e
turns
II
nt
e
rst
i
t
ia
l
A
d
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
c
ontrols
ov
e
r
n
a
t
i
v
e
i
nt
e
rst
i
t
ia
l
ad
un
i
t
.
C
r
ea
t
e
s
a
lo
ade
r
f
or
n
a
t
i
v
e
ad
.
P
a
r
a
m
e
t
e
rs
adUnitData
A
d
U
n
i
t
D
a
t
a
S
e
r
ia
l
i
z
ab
l
e
t
e
mpl
a
t
e
f
or
n
a
t
i
v
e
ad
r
e
qu
e
st
.
R
e
turns
IN
a
t
i
v
e
A
d
L
o
ade
r
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
c
ontrols
ov
e
r
n
a
t
i
v
e
ad
lo
ade
r
.
C
r
ea
t
e
s
a
r
e
w
a
r
ded
ad
un
i
t
.
C
r
ea
t
e
I
nt
e
rst
i
t
ia
l
()
public IInterstitialAd CreateInterstitial()
C
r
ea
t
e
N
a
t
i
v
e
A
d
L
o
ade
r
(
A
d
U
n
i
t
D
a
t
a
)
public INativeAdLoader CreateNativeAdLoader(AdUnitData adUnitData)
C
r
ea
t
e
R
e
w
a
r
ded
()
public IRewardedAd CreateRewarded()
57 / 257
R
e
turns
IR
e
w
a
r
ded
A
d
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
c
ontrols
ov
e
r
n
a
t
i
v
e
r
e
w
a
r
ded
ad
un
i
t
.
58 / 257
M
ai
n
n
a
m
e
sp
ace
o
f
t
he
p
ackage
.
T
he
most
us
ef
ul
c
l
a
ss
e
s
I
n
i
t
ia
l
i
z
a
t
i
on
A
ppsto
ck
C
on
fig
ur
a
t
i
on
a
n
d
T
a
r
ge
t
i
n
g
S
dk
C
on
fig
T
a
r
ge
t
i
n
g
D
a
t
a
B
a
s
ic
A
d
s
B
a
nn
e
r
A
d
I
nt
e
rst
i
t
ia
l
A
d
R
e
w
a
r
ded
A
d
C
l
a
ss
e
s
A
ppsto
ck
F
acade
f
or
st
a
t
ic
m
e
t
h
o
d
s
a
n
d
c
ross
-
pl
a
t
f
orm
ge
tt
e
rs
.
B
a
nn
e
r
A
d
B
a
nn
e
r
ad
.
A
n
ch
or
ed
to
som
e
p
a
rt
o
f
t
he
s
c
r
ee
n
.
C
a
ll
D
i
spos
e
()
to
r
e
mov
e
w
he
n
d
on
e
.
O
r
us
e
S
h
ow
()
/
H
ide
()
to
to
gg
l
e
v
i
s
ibi
l
i
ty
.
B
a
nn
e
r
A
d
P
os
i
t
i
on
E
xt
e
ns
i
ons
E
xt
e
ns
i
ons
f
or
A
n
ch
or
ed
A
d
P
os
i
t
i
on
.
I
nt
e
rst
i
t
ia
l
A
d
A
f
ull
p
age
ad
e
xp
e
r
ie
n
ce
a
t
n
a
tur
a
l
tr
a
ns
i
t
i
on
po
i
nts
,
su
ch
a
s
a
p
age
cha
n
ge
or
a
n
a
pp
l
a
un
ch
.
I
nt
e
rst
i
t
ia
ls
us
e
a
c
los
e
b
utton
t
ha
t
r
e
mov
e
s
t
he
ad
f
rom
t
he
us
e
r
'
s
e
xp
e
r
ie
n
ce
.
O
pt
i
on
a
l
B
ool
E
xt
e
ns
i
ons
E
xt
e
ns
i
ons
f
or
O
pt
i
on
a
l
B
ool
.
R
e
w
a
r
ded
A
d
R
e
w
a
r
ded
ad
s
r
e
w
a
r
d
us
e
rs
w
i
t
h
i
n
-
a
pp
i
t
e
ms
f
or
i
nt
e
r
ac
t
i
n
g
w
i
t
h
v
ide
o
ad
s
,
pl
a
y
ab
l
e
ad
s
,
or
surv
e
ys
.
S
dk
C
on
fig
D
a
t
a
c
ont
ai
n
e
r
f
or
wr
i
t
eab
l
e
prop
e
rt
ie
s
o
f
IS
dk
P
roxy
.
S
dk
C
on
fig
S
n
a
ps
h
ot
D
a
t
a
c
ont
ai
n
e
r
f
or
r
eadab
l
e
prop
e
rt
ie
s
o
f
IS
dk
P
roxy
.
S
dk
P
roxy
E
xt
e
ns
i
ons
E
xt
e
ns
i
on
m
e
t
h
o
d
s
f
or
IS
dk
P
roxy
.
T
a
r
ge
t
i
n
g
D
a
t
a
N
a
m
e
sp
ace
A
ppsto
ck
SDK
.
A
p
i
59 / 257
T
a
r
ge
t
i
n
g
P
roxy
E
xt
e
ns
i
ons
E
xt
e
ns
i
on
m
e
t
h
o
d
s
f
or
I
T
a
r
ge
t
i
n
g
P
roxy
.
S
tru
c
ts
A
d
E
rror
R
e
pr
e
s
e
nt
a
t
i
on
o
f
a
n
e
rror
.
A
d
I
n
f
o
T
he
i
n
f
o
ab
out
t
he
ad
.
A
d
R
e
w
a
r
d
T
he
r
e
w
a
r
d
f
or
t
he
ad
.
A
d
S
i
z
e
T
he
s
i
z
e
o
f
a
ba
nn
e
r
ad
.
E
xt
S
lot
D
a
t
a
c
ont
ai
n
e
r
f
or
e
x
cha
n
ge
-
sp
ecific
e
xt
e
ns
i
ons
to
O
p
e
n
R
T
B
.
E
xt
e
rn
a
l
U
s
e
r
ID
E
xt
e
rn
a
l
ID
o
f
t
he
us
e
r
t
ha
t
c
oul
d
be
us
ed
f
or
ad
t
a
r
ge
t
i
n
g
.
h
ttps
://
gi
t
h
u
b
.
c
om
/
I
nt
e
r
ac
t
i
v
e
A
d
v
e
rt
i
s
i
n
g
B
ur
ea
u
/
op
e
nrt
b
/
b
lo
b
/
m
ai
n
/
e
xt
e
ns
i
ons
/2.
x
_
o
fficia
l
_
e
xt
e
ns
i
ons
/
eid
s
.
m
d
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
T
>
R
e
pr
e
s
e
nts
N
ull
ab
l
e
<
T
>
f
or
s
i
mpl
e
v
a
lu
e
typ
e
s
.
I
nt
e
r
face
s
IA
d
E
v
e
nt
S
our
ce
E
v
e
nts
s
ha
r
ed
b
y
a
ll
non
-
n
a
t
i
v
e
ad
s
.
IA
d
U
n
i
t
P
rop
e
rt
ie
s
r
e
qu
i
r
ed
f
or
a
ny
ad
un
i
t
to
f
un
c
t
i
on
.
IA
n
ch
or
ed
A
d
A
d
t
ha
t
i
s
a
n
ch
or
ed
to
t
he
s
c
r
ee
n
.
IA
uto
R
ef
r
e
s
hab
l
e
A
d
A
d
t
ha
t
ca
n
a
uto
-
r
ef
r
e
s
h
.
IB
a
nn
e
r
A
d
C
ommon
prop
e
rt
ie
s
f
or
ba
nn
e
r
facade
a
n
d
pl
a
t
f
orm
-
sp
ecific
i
mpl
e
m
e
nt
a
t
i
ons
.
IC
los
eab
l
e
A
d
A
d
t
ha
t
ca
n
be
c
los
ed
.
IC
on
cea
l
ab
l
e
A
d
A
d
t
ha
t
ca
n
be
lo
aded
a
n
d
s
h
own
.
60 / 257
II
nt
e
rst
i
t
ia
l
A
d
C
ommon
prop
e
rt
ie
s
f
or
i
nt
e
rst
i
t
ia
l
ad
facade
a
n
d
pl
a
t
f
orm
-
sp
ecific
i
mpl
e
m
e
nt
a
t
i
ons
.
IL
o
adab
l
e
A
d
A
d
t
ha
t
ca
n
be
lo
aded
.
IM
o
da
l
A
d
A
d
t
ha
t
ca
n
be
lo
aded
a
n
d
s
h
own
.
IM
o
da
l
A
d
E
v
e
nt
S
our
ce
E
v
e
nts
s
ha
r
ed
b
y
i
nt
e
rst
i
t
ia
l
a
n
d
r
e
w
a
r
ded
ad
s
.
IM
ono
f
orm
a
tt
ed
A
d
S
i
n
g
l
e
f
orm
a
t
support
ed
.
IM
ult
if
orm
a
tt
ed
A
d
M
ult
i
pl
e
f
orm
a
ts
support
ed
.
IM
ut
eab
l
e
A
d
A
d
t
ha
t
ca
n
be
mut
ed
.
IN
a
t
i
v
e
A
d
L
o
ade
r
A
n
a
t
i
v
e
o
bjec
t
t
ha
t
ca
n
be
us
ed
to
lo
ad
a
n
a
t
i
v
e
ad
(
on
ce
b
u
i
lt
).
IR
e
s
i
z
ab
l
e
A
d
S
ha
r
ed
b
y
non
-
n
a
t
i
v
e
ad
un
i
ts
.
IR
e
w
a
r
ded
A
d
C
ommon
prop
e
rt
ie
s
f
or
r
e
w
a
r
ded
ad
facade
a
n
d
pl
a
t
f
orm
-
sp
ecific
i
mpl
e
m
e
nt
a
t
i
ons
.
IR
e
w
a
r
di
n
g
A
d
E
v
e
nt
S
our
ce
E
v
e
nts
f
or
r
e
w
a
r
di
n
g
ad
s
.
IS
dk
P
roxy
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
g
lo
ba
l
s
e
tt
i
n
g
s
o
f
n
a
t
i
v
e
SDK
.
IS
ki
pp
ab
l
e
A
d
A
d
t
ha
t
ca
n
be
s
ki
pp
ed
.
I
T
a
r
ge
t
i
n
g
P
roxy
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
t
a
r
ge
t
i
n
g
s
e
tt
i
n
g
s
o
f
n
a
t
i
v
e
SDK
.
E
nums
A
d
E
l
e
m
e
nt
P
os
i
t
i
on
W
he
r
e
t
he
ad
e
l
e
m
e
nt
(
i
m
age
/
b
utton
)
s
h
oul
d
be
pl
aced
.
A
d
F
orm
a
t
W
hich
ad
c
ont
e
nt
f
orm
a
t
to
di
spl
a
y
.
61 / 257
A
d
P
os
i
t
i
on
W
he
r
e
t
he
ad
i
ts
e
l
f
i
s
lo
gica
lly
.
A
n
ch
or
ed
A
d
P
os
i
t
i
on
W
he
r
e
t
he
ba
nn
e
r
i
ts
e
l
f
s
h
oul
d
be
pl
aced
.
E
xt
S
lot
.
M
o
de
W
ha
t
fie
l
d
s
o
f
slots
s
h
oul
d
be
us
ed
to
b
u
i
l
d
t
he
v
a
lu
e
.
L
o
g
L
e
v
e
l
T
he
de
s
i
r
ed
v
e
r
b
os
i
ty
o
f
lo
g
s
b
y
n
a
t
i
v
e
l
ib
r
a
ry
.
O
pt
i
on
a
l
B
ool
R
e
pr
e
s
e
nts
bool?
--
i
.
e
.
N
ull
ab
l
e
<
T
>
o
f
b
ool
--
t
ha
t
ca
n
be
true
,
false
or
null
.
62 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
W
he
r
e
t
he
ad
e
l
e
m
e
nt
(
i
m
age
/
b
utton
)
s
h
oul
d
be
pl
aced
.
F
ie
l
d
s
BottomCenter = 5
B
ottom
ce
nt
e
r
o
f
s
afe
a
r
ea
.
BottomLeft = 4
B
ottom
l
ef
t
o
f
s
afe
a
r
ea
.
BottomRight = 6
B
ottom
r
igh
t
o
f
s
afe
a
r
ea
.
None = 0
N
ot
a
ss
ig
n
ed
(
kee
p
defa
ult
).
TopCenter = 2
T
op
ce
nt
e
r
o
f
s
afe
a
r
ea
.
TopLeft = 1
T
op
l
ef
t
c
orn
e
r
o
f
s
afe
a
r
ea
.
TopRight = 3
T
op
r
igh
t
o
f
s
afe
a
r
ea
.
E
num
A
d
E
l
e
m
e
nt
P
os
i
t
i
on
public enum AdElementPosition
63 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
R
e
pr
e
s
e
nt
a
t
i
on
o
f
a
n
e
rror
.
I
n
he
r
i
t
ed
M
e
m
be
rs
V
a
lu
e
T
yp
e
.
E
qu
a
ls
(
o
bjec
t
)
,
V
a
lu
e
T
yp
e
.
G
e
t
H
a
s
h
C
o
de
()
,
V
a
lu
e
T
yp
e
.
T
o
S
tr
i
n
g
()
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
F
ie
l
d
s
G
e
ts
or
s
e
ts
t
he
m
e
ss
age
.
F
ie
l
d
V
a
lu
e
str
i
n
g
T
he
m
e
ss
age
f
rom
un
de
rly
i
n
g
e
rror
i
n
n
a
t
i
v
e
l
ib
r
a
ry
.
S
tru
c
t
A
d
E
rror
public struct AdError
M
e
ss
age
public string Message
64 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
W
hich
ad
c
ont
e
nt
f
orm
a
t
to
di
spl
a
y
.
F
ie
l
d
s
Banner = 1
B
a
nn
e
r
,
i
.
e
.
st
a
t
ic
c
ont
e
nt
.
Native = 4
N
a
t
i
v
e
c
ont
e
nt
f
orm
a
t
.
None = 0
N
ot
a
ss
ig
n
ed
(
kee
p
defa
ult
).
Video = 2
V
ide
o
c
ont
e
nt
.
E
num
A
d
F
orm
a
t
public enum AdFormat
65 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
T
he
i
n
f
o
ab
out
t
he
ad
.
I
mpl
e
m
e
nts
IE
qu
a
t
ab
l
e
<
A
d
I
n
f
o
>
I
n
he
r
i
t
ed
M
e
m
be
rs
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
C
onstru
c
tors
I
n
i
t
ia
l
i
z
e
s
a
n
e
w
i
nst
a
n
ce
o
f
t
he
A
d
I
n
f
o
c
l
a
ss
.
P
a
r
a
m
e
t
e
rs
price
d
ou
b
l
e
?
P
r
ice
o
f
t
he
ad
.
F
ie
l
d
s
P
r
ice
o
f
t
he
ad
.
S
tru
c
t
A
d
I
n
f
o
public readonly struct AdInfo : IEquatable<AdInfo>
A
d
I
n
f
o
(
d
ou
b
l
e
?)
public AdInfo(double? price)
P
r
ice
public readonly double? Price
66 / 257
F
ie
l
d
V
a
lu
e
d
ou
b
l
e
?
P
r
ice
o
f
t
he
ad
.
M
e
t
h
o
d
s
I
n
dica
t
e
s
w
he
t
he
r
t
he
c
urr
e
nt
o
bjec
t
i
s
e
qu
a
l
to
a
not
he
r
o
bjec
t
o
f
t
he
s
a
m
e
typ
e
.
P
a
r
a
m
e
t
e
rs
other
A
d
I
n
f
o
A
n
o
bjec
t
to
c
omp
a
r
e
w
i
t
h
t
hi
s
o
bjec
t
.
R
e
turns
b
ool
tru
e
if
t
he
c
urr
e
nt
o
bjec
t
i
s
e
qu
a
l
to
t
he
other
p
a
r
a
m
e
t
e
r
;
ot
he
rw
i
s
e
,
fa
ls
e
.
I
n
dica
t
e
s
w
he
t
he
r
t
hi
s
i
nst
a
n
ce
a
n
d
a
sp
ecified
o
bjec
t
a
r
e
e
qu
a
l
.
P
a
r
a
m
e
t
e
rs
obj
o
bjec
t
T
he
o
bjec
t
to
c
omp
a
r
e
w
i
t
h
t
he
c
urr
e
nt
i
nst
a
n
ce
.
R
e
turns
E
qu
a
ls
(
A
d
I
n
f
o
)
public bool Equals(AdInfo other)
E
qu
a
ls
(
o
bjec
t
?)
public override bool Equals(object? obj)
67 / 257
b
ool
tru
e
if
obj
a
n
d
t
hi
s
i
nst
a
n
ce
a
r
e
t
he
s
a
m
e
typ
e
a
n
d
r
e
pr
e
s
e
nt
t
he
s
a
m
e
v
a
lu
e
;
ot
he
rw
i
s
e
,
fa
ls
e
.
R
e
turns
t
he
ha
s
h
c
o
de
f
or
t
hi
s
i
nst
a
n
ce
.
R
e
turns
i
nt
A
32-
bi
t
s
ig
n
ed
i
nt
ege
r
t
ha
t
i
s
t
he
ha
s
h
c
o
de
f
or
t
hi
s
i
nst
a
n
ce
.
R
e
turns
t
he
f
ully
qu
a
l
ified
typ
e
n
a
m
e
o
f
t
hi
s
i
nst
a
n
ce
.
R
e
turns
str
i
n
g
T
he
f
ully
qu
a
l
ified
typ
e
n
a
m
e
.
G
e
t
H
a
s
h
C
o
de
()
public override int GetHashCode()
T
o
S
tr
i
n
g
()
public override string ToString()
68 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
W
he
r
e
t
he
ad
i
ts
e
l
f
i
s
lo
gica
lly
.
F
ie
l
d
s
Footer = 5
A
d
i
s
pl
aced
i
ns
ide
p
age
f
oot
e
r
.
Header = 4
A
d
i
s
pl
aced
i
ns
ide
p
age
heade
r
.
Sidebar = 6
A
d
i
s
pl
aced
i
ns
ide
p
age
s
ideba
r
.
Unknown = 0
N
ot
a
ss
ig
n
ed
(
un
k
nown
).
E
num
A
d
P
os
i
t
i
on
public enum AdPosition
69 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
T
he
r
e
w
a
r
d
f
or
t
he
ad
.
I
mpl
e
m
e
nts
IE
qu
a
t
ab
l
e
<
A
d
R
e
w
a
r
d
>
I
n
he
r
i
t
ed
M
e
m
be
rs
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
C
onstru
c
tors
I
n
i
t
ia
l
i
z
e
s
a
n
e
w
i
nst
a
n
ce
o
f
t
he
A
d
R
e
w
a
r
d
c
l
a
ss
.
P
a
r
a
m
e
t
e
rs
rewardType
str
i
n
g
W
ha
t
ki
n
d
o
f
r
e
w
a
r
d
us
e
r
ea
rn
ed
.
count
i
nt
H
ow
m
a
ny
un
i
ts
o
f
r
e
w
a
r
d
us
e
r
ea
rn
ed
.
extJsonString
str
i
n
g
E
x
cha
n
ge
-
sp
ecific
e
xt
e
ns
i
ons
to
O
p
e
n
R
T
B
.
F
ie
l
d
s
S
tru
c
t
A
d
R
e
w
a
r
d
public readonly struct AdReward : IEquatable<AdReward>
A
d
R
e
w
a
r
d
(
str
i
n
g
?,
i
nt
,
str
i
n
g
?)
public AdReward(string? rewardType, int count, string? extJsonString)
70 / 257
G
e
ts
or
s
e
ts
r
e
w
a
r
d
c
ount
.
F
ie
l
d
V
a
lu
e
i
nt
H
ow
m
a
ny
r
e
w
a
r
d
un
i
ts
us
e
r
ea
rn
ed
.
G
e
ts
or
s
e
ts
ext
v
a
lu
e
.
F
ie
l
d
V
a
lu
e
str
i
n
g
E
x
cha
n
ge
-
sp
ecific
e
xt
e
ns
i
ons
to
O
p
e
n
R
T
B
.
R
e
m
a
r
k
s
M
ost
l
ike
ly
to
be
a
JSON
o
bjec
t
.
G
e
ts
or
s
e
ts
r
e
w
a
r
d
typ
e
.
F
ie
l
d
V
a
lu
e
str
i
n
g
T
yp
e
o
f
r
e
w
a
r
d
us
e
r
ea
rn
ed
.
C
ount
public readonly int Count
E
xt
J
son
S
tr
i
n
g
public readonly string? ExtJsonString
R
e
w
a
r
d
T
yp
e
public readonly string? RewardType
71 / 257
M
e
t
h
o
d
s
I
n
dica
t
e
s
w
he
t
he
r
t
he
c
urr
e
nt
o
bjec
t
i
s
e
qu
a
l
to
a
not
he
r
o
bjec
t
o
f
t
he
s
a
m
e
typ
e
.
P
a
r
a
m
e
t
e
rs
other
A
d
R
e
w
a
r
d
A
n
o
bjec
t
to
c
omp
a
r
e
w
i
t
h
t
hi
s
o
bjec
t
.
R
e
turns
b
ool
tru
e
if
t
he
c
urr
e
nt
o
bjec
t
i
s
e
qu
a
l
to
t
he
other
p
a
r
a
m
e
t
e
r
;
ot
he
rw
i
s
e
,
fa
ls
e
.
I
n
dica
t
e
s
w
he
t
he
r
t
hi
s
i
nst
a
n
ce
a
n
d
a
sp
ecified
o
bjec
t
a
r
e
e
qu
a
l
.
P
a
r
a
m
e
t
e
rs
obj
o
bjec
t
T
he
o
bjec
t
to
c
omp
a
r
e
w
i
t
h
t
he
c
urr
e
nt
i
nst
a
n
ce
.
R
e
turns
b
ool
tru
e
if
obj
a
n
d
t
hi
s
i
nst
a
n
ce
a
r
e
t
he
s
a
m
e
typ
e
a
n
d
r
e
pr
e
s
e
nt
t
he
s
a
m
e
v
a
lu
e
;
ot
he
rw
i
s
e
,
fa
ls
e
.
E
qu
a
ls
(
A
d
R
e
w
a
r
d
)
public bool Equals(AdReward other)
E
qu
a
ls
(
o
bjec
t
?)
public override bool Equals(object? obj)
G
e
t
H
a
s
h
C
o
de
()
72 / 257
R
e
turns
t
he
ha
s
h
c
o
de
f
or
t
hi
s
i
nst
a
n
ce
.
R
e
turns
i
nt
A
32-
bi
t
s
ig
n
ed
i
nt
ege
r
t
ha
t
i
s
t
he
ha
s
h
c
o
de
f
or
t
hi
s
i
nst
a
n
ce
.
R
e
turns
t
he
f
ully
qu
a
l
ified
typ
e
n
a
m
e
o
f
t
hi
s
i
nst
a
n
ce
.
R
e
turns
str
i
n
g
T
he
f
ully
qu
a
l
ified
typ
e
n
a
m
e
.
public override int GetHashCode()
T
o
S
tr
i
n
g
()
public override string ToString()
73 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
T
he
s
i
z
e
o
f
a
ba
nn
e
r
ad
.
I
mpl
e
m
e
nts
IE
qu
a
t
ab
l
e
<
A
d
S
i
z
e
>,
IF
orm
a
tt
ab
l
e
I
n
he
r
i
t
ed
M
e
m
be
rs
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
C
onstru
c
tors
C
r
ea
t
e
s
a
n
e
w
A
d
S
i
z
e
.
P
a
r
a
m
e
t
e
rs
width
i
nt
T
he
w
id
t
h
o
f
t
he
ad
i
n
de
ns
i
ty
-
i
n
de
p
e
n
de
nt
p
i
x
e
ls
.
height
i
nt
T
he
heigh
t
o
f
t
he
ad
i
n
de
ns
i
ty
-
i
n
de
p
e
n
de
nt
p
i
x
e
ls
.
F
ie
l
d
s
G
e
ts
a
st
a
n
da
r
d
ba
nn
e
r
ad
s
i
z
e
.
S
tru
c
t
A
d
S
i
z
e
public readonly struct AdSize : IEquatable<AdSize>, IFormattable
A
d
S
i
z
e
(
i
nt
,
i
nt
)
public AdSize(int width, int height)
B
a
nn
e
r
74 / 257
F
ie
l
d
V
a
lu
e
A
d
S
i
z
e
I
nt
e
r
ac
t
i
v
e
A
d
v
e
rt
i
s
i
n
g
B
ur
ea
u
(
IAB
)
ba
nn
e
r
ad
s
i
z
e
(320
x
50
de
ns
i
ty
-
i
n
de
p
e
n
de
nt
p
i
x
e
ls
).
G
e
ts
t
he
heigh
t
.
F
ie
l
d
V
a
lu
e
i
nt
T
he
heigh
t
o
f
t
he
ad
i
n
de
ns
i
ty
-
i
n
de
p
e
n
de
nt
p
i
x
e
ls
.
G
e
ts
a
st
a
n
da
r
d
f
ull
ba
nn
e
r
ad
s
i
z
e
.
F
ie
l
d
V
a
lu
e
A
d
S
i
z
e
I
nt
e
r
ac
t
i
v
e
A
d
v
e
rt
i
s
i
n
g
B
ur
ea
u
(
IAB
)
f
ull
ba
nn
e
r
ad
s
i
z
e
(468
x
60
de
ns
i
ty
-
i
n
de
p
e
n
de
nt
p
i
x
e
ls
).
G
e
ts
a
st
a
n
da
r
d
l
eade
r
b
o
a
r
d
ad
s
i
z
e
.
public static readonly AdSize Banner
H
eigh
t
public readonly int Height
IABB
a
nn
e
r
public static readonly AdSize IABBanner
L
eade
r
b
o
a
r
d
75 / 257
F
ie
l
d
V
a
lu
e
A
d
S
i
z
e
I
nt
e
r
ac
t
i
v
e
A
d
v
e
rt
i
s
i
n
g
B
ur
ea
u
(
IAB
)
l
eade
r
b
o
a
r
d
ad
s
i
z
e
(728
x
90
de
ns
i
ty
-
i
n
de
p
e
n
de
nt
p
i
x
e
ls
).
G
e
ts
a
st
a
n
da
r
d
m
edi
um
r
ec
t
a
n
g
l
e
ad
s
i
z
e
.
F
ie
l
d
V
a
lu
e
A
d
S
i
z
e
I
nt
e
r
ac
t
i
v
e
A
d
v
e
rt
i
s
i
n
g
B
ur
ea
u
(
IAB
)
m
edi
um
r
ec
t
a
n
g
l
e
ad
s
i
z
e
(300
x
250
de
ns
i
ty
-
i
n
de
p
e
n
de
nt
p
i
x
e
ls
).
G
e
ts
t
he
w
id
t
h
.
F
ie
l
d
V
a
lu
e
i
nt
T
he
w
id
t
h
o
f
t
he
ad
i
n
de
ns
i
ty
-
i
n
de
p
e
n
de
nt
p
i
x
e
ls
.
M
e
t
h
o
d
s
public static readonly AdSize Leaderboard
M
edi
um
R
ec
t
a
n
g
l
e
public static readonly AdSize MediumRectangle
W
id
t
h
public readonly int Width
E
qu
a
ls
(
A
d
S
i
z
e
)
76 / 257
I
n
dica
t
e
s
w
he
t
he
r
t
he
c
urr
e
nt
o
bjec
t
i
s
e
qu
a
l
to
a
not
he
r
o
bjec
t
o
f
t
he
s
a
m
e
typ
e
.
P
a
r
a
m
e
t
e
rs
other
A
d
S
i
z
e
A
n
o
bjec
t
to
c
omp
a
r
e
w
i
t
h
t
hi
s
o
bjec
t
.
R
e
turns
b
ool
tru
e
if
t
he
c
urr
e
nt
o
bjec
t
i
s
e
qu
a
l
to
t
he
other
p
a
r
a
m
e
t
e
r
;
ot
he
rw
i
s
e
,
fa
ls
e
.
I
n
dica
t
e
s
w
he
t
he
r
t
hi
s
i
nst
a
n
ce
a
n
d
a
sp
ecified
o
bjec
t
a
r
e
e
qu
a
l
.
P
a
r
a
m
e
t
e
rs
obj
o
bjec
t
T
he
o
bjec
t
to
c
omp
a
r
e
w
i
t
h
t
he
c
urr
e
nt
i
nst
a
n
ce
.
R
e
turns
b
ool
tru
e
if
obj
a
n
d
t
hi
s
i
nst
a
n
ce
a
r
e
t
he
s
a
m
e
typ
e
a
n
d
r
e
pr
e
s
e
nt
t
he
s
a
m
e
v
a
lu
e
;
ot
he
rw
i
s
e
,
fa
ls
e
.
R
e
turns
t
he
ha
s
h
c
o
de
f
or
t
hi
s
i
nst
a
n
ce
.
public bool Equals(AdSize other)
E
qu
a
ls
(
o
bjec
t
?)
public override bool Equals(object? obj)
G
e
t
H
a
s
h
C
o
de
()
77 / 257
R
e
turns
i
nt
A
32-
bi
t
s
ig
n
ed
i
nt
ege
r
t
ha
t
i
s
t
he
ha
s
h
c
o
de
f
or
t
hi
s
i
nst
a
n
ce
.
R
e
turns
t
he
f
ully
qu
a
l
ified
typ
e
n
a
m
e
o
f
t
hi
s
i
nst
a
n
ce
.
R
e
turns
str
i
n
g
T
he
f
ully
qu
a
l
ified
typ
e
n
a
m
e
.
F
orm
a
ts
t
he
v
a
lu
e
o
f
t
he
c
urr
e
nt
i
nst
a
n
ce
us
i
n
g
t
he
sp
ecified
f
orm
a
t
.
P
a
r
a
m
e
t
e
rs
format
str
i
n
g
T
he
f
orm
a
t
to
us
e
.
-
or
-
A
null
r
efe
r
e
n
ce
(
Nothing
i
n
V
i
su
a
l
B
a
s
ic
)
to
us
e
t
he
defa
ult
f
orm
a
t
defi
n
ed
f
or
t
he
typ
e
o
f
t
he
IF
orm
a
tt
ab
l
e
i
mpl
e
m
e
nt
a
t
i
on
.
formatProvider
IF
orm
a
t
P
rov
ide
r
public override int GetHashCode()
T
o
S
tr
i
n
g
()
public override string ToString()
T
o
S
tr
i
n
g
(
str
i
n
g
?,
IF
orm
a
t
P
rov
ide
r
?)
public string ToString(string? format, IFormatProvider? formatProvider)
78 / 257
T
he
prov
ide
r
to
us
e
to
f
orm
a
t
t
he
v
a
lu
e
.
-
or
-
A
null
r
efe
r
e
n
ce
(
Nothing
i
n
V
i
su
a
l
B
a
s
ic
)
to
o
b
t
ai
n
t
he
num
e
r
ic
f
orm
a
t
i
n
f
orm
a
t
i
on
f
rom
t
he
c
urr
e
nt
lo
ca
l
e
s
e
tt
i
n
g
o
f
t
he
op
e
r
a
t
i
n
g
syst
e
m
.
R
e
turns
str
i
n
g
T
he
v
a
lu
e
o
f
t
he
c
urr
e
nt
i
nst
a
n
ce
i
n
t
he
sp
ecified
f
orm
a
t
.
O
p
e
r
a
tors
D
efi
n
e
s
a
n
i
mpl
ici
t
c
onv
e
rs
i
on
o
f
A
d
S
i
z
e
to
a
V
ec
tor
2
I
nt
.
P
a
r
a
m
e
t
e
rs
size
A
d
S
i
z
e
T
he
A
d
S
i
z
e
to
c
onv
e
rt
.
R
e
turns
V
ec
tor
2
I
nt
T
he
c
onv
e
rt
ed
V
ec
tor
2
I
nt
.
D
efi
n
e
s
a
n
i
mpl
ici
t
c
onv
e
rs
i
on
o
f
V
ec
tor
2
I
nt
to
a
A
d
S
i
z
e
.
P
a
r
a
m
e
t
e
rs
i
mpl
ici
t
op
e
r
a
tor
V
ec
tor
2
I
nt
(
A
d
S
i
z
e
)
public static implicit operator Vector2Int(AdSize size)
i
mpl
ici
t
op
e
r
a
tor
A
d
S
i
z
e
(
V
ec
tor
2
I
nt
)
public static implicit operator AdSize(Vector2Int size)
79 / 257
size
V
ec
tor
2
I
nt
T
he
V
ec
tor
2
I
nt
to
c
onv
e
rt
.
R
e
turns
A
d
S
i
z
e
T
he
c
onv
e
rt
ed
A
d
S
i
z
e
.
80 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
W
he
r
e
t
he
ba
nn
e
r
i
ts
e
l
f
s
h
oul
d
be
pl
aced
.
E
xt
e
ns
i
on
M
e
t
h
o
d
s
B
a
nn
e
r
A
d
P
os
i
t
i
on
E
xt
e
ns
i
ons
.
T
o
A
d
P
os
i
t
i
on
(
A
n
ch
or
ed
A
d
P
os
i
t
i
on
)
F
ie
l
d
s
Bottom = 1
B
ottom
ce
nt
e
r
o
f
s
afe
a
r
ea
.
BottomLeft = 4
B
ottom
l
ef
t
o
f
s
afe
a
r
ea
.
BottomRight = 5
B
ottom
r
igh
t
o
f
s
afe
a
r
ea
.
Top = 0
T
op
ce
nt
e
r
o
f
s
afe
a
r
ea
.
TopLeft = 2
T
op
l
ef
t
c
orn
e
r
o
f
s
afe
a
r
ea
.
TopRight = 3
T
op
r
igh
t
o
f
s
afe
a
r
ea
.
E
num
A
n
ch
or
ed
A
d
P
os
i
t
i
on
public enum AnchoredAdPosition
81 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
A
p
i
.
d
ll
F
acade
f
or
st
a
t
ic
m
e
t
h
o
d
s
a
n
d
c
ross
-
pl
a
t
f
orm
ge
tt
e
rs
.
I
n
he
r
i
t
a
n
ce
o
bjec
t
A
ppsto
ck
I
n
he
r
i
t
ed
M
e
m
be
rs
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
)
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
H
a
s
h
C
o
de
()
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
M
e
m
be
rw
i
s
e
C
lon
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
T
o
S
tr
i
n
g
()
P
rop
e
rt
ie
s
G
e
ts
SDK
proxy
o
bjec
t
.
P
rop
e
rty
V
a
lu
e
IS
dk
P
roxy
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
g
lo
ba
l
s
e
tt
i
n
g
s
o
f
n
a
t
i
v
e
SDK
.
S
ee
A
lso
IS
dk
P
roxy
G
e
ts
SDK
t
a
r
ge
t
i
n
g
proxy
o
bjec
t
.
C
l
a
ss
A
ppsto
ck
public static class Appstock
S
dk
public static ISdkProxy Sdk { get; }
T
a
r
ge
t
i
n
g
82 / 257
P
rop
e
rty
V
a
lu
e
I
T
a
r
ge
t
i
n
g
P
roxy
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
t
a
r
ge
t
i
n
g
s
e
tt
i
n
g
s
o
f
n
a
t
i
v
e
SDK
.
S
ee
A
lso
I
T
a
r
ge
t
i
n
g
P
roxy
M
e
t
h
o
d
s
I
n
i
t
ia
l
i
z
e
t
he
SDK
.
P
a
r
a
m
e
t
e
rs
partnerKey
str
i
n
g
D
e
t
e
rm
i
n
e
s
t
he
A
ppsto
ck
s
e
rv
e
r
U
RL
.
T
he
A
ppsto
ck
acc
ount
m
a
n
age
r
s
h
oul
d
prov
ide
you
w
i
t
h
t
hi
s
ke
y
.
public static ITargetingProxy Targeting { get; }
I
n
i
t
ia
l
i
z
e
S
dk
(
str
i
n
g
)
public static void InitializeSdk(string partnerKey)
83 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
A
p
i
.
d
ll
B
a
nn
e
r
ad
.
A
n
ch
or
ed
to
som
e
p
a
rt
o
f
t
he
s
c
r
ee
n
.
C
a
ll
D
i
spos
e
()
to
r
e
mov
e
w
he
n
d
on
e
.
O
r
us
e
S
h
ow
()
/
H
ide
()
to
to
gg
l
e
v
i
s
ibi
l
i
ty
.
I
n
he
r
i
t
a
n
ce
o
bjec
t
B
a
nn
e
r
A
d
I
mpl
e
m
e
nts
IB
a
nn
e
r
A
d
,
ID
i
spos
ab
l
e
,
IA
d
U
n
i
t
,
IL
o
adab
l
e
A
d
,
IM
ono
f
orm
a
tt
ed
A
d
,
IR
e
s
i
z
ab
l
e
A
d
,
IC
on
cea
l
ab
l
e
A
d
,
IA
n
ch
or
ed
A
d
,
IA
uto
R
ef
r
e
s
hab
l
e
A
d
,
IA
d
E
v
e
nt
S
our
ce
I
n
he
r
i
t
ed
M
e
m
be
rs
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
)
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
H
a
s
h
C
o
de
()
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
M
e
m
be
rw
i
s
e
C
lon
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
T
o
S
tr
i
n
g
()
C
onstru
c
tors
I
n
i
t
ia
l
i
z
e
s
a
n
e
w
i
nst
a
n
ce
o
f
t
he
B
a
nn
e
r
A
d
c
l
a
ss
.
P
a
r
a
m
e
t
e
rs
adSize
A
d
S
i
z
e
B
a
nn
e
r
v
ie
w
s
i
z
e
.
C
l
a
ss
B
a
nn
e
r
A
d
public class BannerAd : IBannerAd, IDisposable, IAdUnit, ILoadableAd,
IMonoformattedAd, IResizableAd, IConcealableAd, IAnchoredAd,
IAutoRefreshableAd, IAdEventSource
B
a
nn
e
r
A
d
(
A
d
S
i
z
e
)
public BannerAd(AdSize adSize)
84 / 257
P
rop
e
rt
ie
s
G
e
ts
or
s
e
ts
ad
pos
i
t
i
on
(
f
or
e
x
cha
n
ge
purpos
e
s
).
P
rop
e
rty
V
a
lu
e
A
d
P
os
i
t
i
on
W
he
r
e
t
he
ad
i
ts
e
l
f
i
s
lo
gica
lly
(
heade
r
/
f
oot
e
r
e
t
c
.).
S
ee
A
lso
A
d
P
os
i
t
i
on
S
e
ts
ad
s
i
z
e
s
f
or
t
he
ad
.
P
rop
e
rty
V
a
lu
e
IE
num
e
r
ab
l
e
<
A
d
S
i
z
e
>
S
i
z
e
s
t
ha
t
ad
'
s
c
ont
e
nt
m
a
y
t
ake
.
S
e
ts
f
orm
a
t
f
or
t
he
ad
un
i
t
.
P
rop
e
rty
V
a
lu
e
A
d
F
orm
a
t
A
d
P
os
i
t
i
on
public AdPosition AdPosition { get; set; }
A
d
S
i
z
e
s
public IEnumerable<AdSize> AdSizes { set; }
A
d
U
n
i
t
F
orm
a
t
public AdFormat AdUnitFormat { set; }
85 / 257
A
d
f
orm
a
t
f
or
t
he
A
d
.
G
e
ts
or
s
e
ts
t
he
pos
i
t
i
on
ad
i
s
a
n
ch
or
ed
to
.
P
rop
e
rty
V
a
lu
e
A
n
ch
or
ed
A
d
P
os
i
t
i
on
W
he
r
e
t
he
ad
i
ts
e
l
f
s
h
oul
d
be
pl
aced
on
s
c
r
ee
n
(
edge
/
c
orn
e
r
).
S
ee
A
lso
A
n
ch
or
ed
P
os
i
t
i
on
G
e
ts
or
s
e
ts
a
uto
r
ef
r
e
s
h
de
l
a
y
(
i
nt
e
rv
a
l
).
P
rop
e
rty
V
a
lu
e
T
i
m
e
S
p
a
n
H
ow
o
f
t
e
n
to
r
ef
r
e
s
h
t
he
ad
c
ont
e
nt
.
S
e
ts
t
he
e
n
d
po
i
nt
ID
f
or
t
he
ad
.
P
rop
e
rty
V
a
lu
e
A
n
ch
or
ed
P
os
i
t
i
on
public AnchoredAdPosition AnchoredPosition { get; set; }
A
uto
R
ef
r
e
s
h
D
e
l
a
y
public TimeSpan AutoRefreshDelay { get; set; }
E
n
d
po
i
nt
ID
public string? EndpointID { set; }
86 / 257
str
i
n
g
U
n
i
qu
e
e
n
d
po
i
nt
ide
nt
ifie
r
ge
n
e
r
a
t
ed
on
t
he
A
ppsto
ck
pl
a
t
f
orm
ʼ
s
U
I
.
S
e
ts
t
he
pl
ace
m
e
nt
ID
f
or
t
he
ad
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
U
n
i
qu
e
pl
ace
m
e
nt
ide
nt
ifie
r
ge
n
e
r
a
t
ed
on
t
he
A
ppsto
ck
pl
a
t
f
orm
ʼ
s
U
I
.
M
e
t
h
o
d
s
P
e
r
f
orms
a
ppl
ica
t
i
on
-
defi
n
ed
t
a
s
k
s
a
sso
cia
t
ed
w
i
t
h
f
r
eei
n
g
,
r
e
l
ea
s
i
n
g
,
or
r
e
s
e
tt
i
n
g
unm
a
n
aged
r
e
sour
ce
s
.
R
e
l
ea
s
e
s
t
he
unm
a
n
aged
r
e
sour
ce
s
us
ed
b
y
t
he
c
l
a
ss
a
n
d
opt
i
on
a
lly
r
e
l
ea
s
e
s
t
he
m
a
n
aged
r
e
sour
ce
s
.
P
a
r
a
m
e
t
e
rs
disposing
b
ool
true
to
r
e
l
ea
s
e
b
ot
h
m
a
n
aged
a
n
d
unm
a
n
aged
r
e
sour
ce
s
;
false
to
r
e
l
ea
s
e
only
unm
a
n
aged
r
e
sour
ce
s
.
P
l
ace
m
e
nt
ID
public string? PlacementID { set; }
D
i
spos
e
()
public void Dispose()
D
i
spos
e
(
b
ool
)
protected virtual void Dispose(bool disposing)
87 / 257
S
e
t
t
he
ad
i
nv
i
s
ib
l
e
.
L
o
ad
t
he
c
ont
e
nt
o
f
t
he
ad
.
S
e
t
t
he
ad
v
i
s
ib
l
e
.
D
i
s
ab
l
e
a
uto
-
r
ef
r
e
s
hi
n
g
.
E
v
e
nts
F
i
r
ed
w
he
n
ad
w
a
s
c
l
icked
on
.
E
v
e
nt
T
yp
e
H
ide
()
public void Hide()
L
o
ad
A
d
()
public void LoadAd()
S
h
ow
()
public void Show()
S
top
A
uto
R
ef
r
e
s
h
()
public void StopAutoRefresh()
O
n
A
d
C
l
icked
public event Action? OnAdClicked
88 / 257
A
c
t
i
on
F
i
r
ed
w
he
n
ad
w
a
s
c
los
ed
(
f
rom
f
ulls
c
r
ee
n
mo
de
).
E
v
e
nt
T
yp
e
A
c
t
i
on
F
i
r
ed
w
he
n
ad
fai
l
ed
to
lo
ad
.
E
v
e
nt
T
yp
e
A
c
t
i
on
<
A
d
E
rror
?>
F
i
r
ed
w
he
n
ad
fi
n
i
s
hed
lo
adi
n
g
.
E
v
e
nt
T
yp
e
A
c
t
i
on
<
A
d
I
n
f
o
?>
O
n
A
d
C
los
ed
public event Action? OnAdClosed
O
n
A
d
F
ai
l
ed
public event Action<AdError?>? OnAdFailed
O
n
A
d
L
o
aded
public event Action<AdInfo?>? OnAdLoaded
89 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
E
xt
e
ns
i
ons
f
or
A
n
ch
or
ed
A
d
P
os
i
t
i
on
.
I
n
he
r
i
t
a
n
ce
o
bjec
t
B
a
nn
e
r
A
d
P
os
i
t
i
on
E
xt
e
ns
i
ons
I
n
he
r
i
t
ed
M
e
m
be
rs
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
)
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
H
a
s
h
C
o
de
()
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
M
e
m
be
rw
i
s
e
C
lon
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
T
o
S
tr
i
n
g
()
M
e
t
h
o
d
s
C
onv
e
rts
A
n
ch
or
ed
A
d
P
os
i
t
i
on
to
a
n
A
d
P
os
i
t
i
on
.
P
a
r
a
m
e
t
e
rs
adPosition
A
n
ch
or
ed
A
d
P
os
i
t
i
on
T
he
A
n
ch
or
ed
A
d
P
os
i
t
i
on
to
c
onv
e
rt
.
R
e
turns
A
d
P
os
i
t
i
on
T
he
c
onv
e
rt
ed
A
d
P
os
i
t
i
on
.
C
l
a
ss
B
a
nn
e
r
A
d
P
os
i
t
i
on
E
xt
e
ns
i
ons
public static class BannerAdPositionExtensions
T
o
A
d
P
os
i
t
i
on
(
A
n
ch
or
ed
A
d
P
os
i
t
i
on
)
public static AdPosition ToAdPosition(this AnchoredAdPosition adPosition)
90 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
D
a
t
a
c
ont
ai
n
e
r
f
or
e
x
cha
n
ge
-
sp
ecific
e
xt
e
ns
i
ons
to
O
p
e
n
R
T
B
.
I
mpl
e
m
e
nts
IE
qu
a
t
ab
l
e
<
E
xt
S
lot
>
I
n
he
r
i
t
ed
M
e
m
be
rs
V
a
lu
e
T
yp
e
.
T
o
S
tr
i
n
g
()
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
R
e
m
a
r
k
s
C
ustom
prop
e
rty
d
r
a
w
e
r
i
n
c
lu
ded
.
F
ie
l
d
s
JSON
to
be
di
r
ec
tly
us
ed
a
s
slot
v
a
lu
e
.
F
ie
l
d
V
a
lu
e
str
i
n
g
JSON
a
rr
a
y
/
o
bjec
t
to
be
us
ed
a
s
slot
v
a
lu
e
i
n
I
nl
i
n
e
S
tr
i
n
g
mo
de
.
S
tru
c
t
E
xt
S
lot
[Serializable]
public struct ExtSlot : IEquatable<ExtSlot>
c
ustom
J
son
S
tr
i
n
g
[TextArea]
public string? customJsonString
e
l
e
m
e
nts
91 / 257
G
e
ts
or
s
e
ts
mult
i
pl
e
e
l
e
m
e
nts
o
f
t
he
slot
v
a
lu
e
.
F
ie
l
d
V
a
lu
e
S
c
r
i
pt
ab
l
e
O
bjec
t
[]
D
a
t
a
a
ss
e
ts
to
be
s
e
r
ia
l
i
z
ed
i
nto
JSON
a
n
d
us
ed
a
s
a
rr
a
y
e
l
e
m
e
nt
f
or
slot
v
a
lu
e
i
n
M
ult
i
pl
e
mo
de
.
G
e
ts
or
s
e
ts
slot
mo
de
.
F
ie
l
d
V
a
lu
e
E
xt
S
lot
.
M
o
de
M
o
de
o
f
t
he
slot
.
S
ee
A
lso
E
xt
S
lot
.
M
o
de
G
e
ts
or
s
e
ts
s
i
n
g
l
e
v
a
lu
e
o
f
t
he
slot
.
F
ie
l
d
V
a
lu
e
S
c
r
i
pt
ab
l
e
O
bjec
t
D
a
t
a
a
ss
e
t
to
be
s
e
r
ia
l
i
z
ed
i
nto
JSON
a
n
d
us
ed
a
s
v
a
lu
e
o
f
t
he
slot
i
n
S
i
n
g
l
e
mo
de
.
public ScriptableObject?[]? elements
mo
de
public ExtSlot.Mode mode
v
a
lu
e
public ScriptableObject? value
92 / 257
P
rop
e
rt
ie
s
G
e
ts
t
he
effec
t
i
v
e
JSON
str
i
n
g
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
E
ffec
t
i
v
e
JSON
ba
s
ed
on
mo
de
a
n
d
da
t
a
fie
l
d
s
.
M
e
t
h
o
d
s
I
n
dica
t
e
s
w
he
t
he
r
t
he
c
urr
e
nt
o
bjec
t
i
s
e
qu
a
l
to
a
not
he
r
o
bjec
t
o
f
t
he
s
a
m
e
typ
e
.
P
a
r
a
m
e
t
e
rs
other
E
xt
S
lot
A
n
o
bjec
t
to
c
omp
a
r
e
w
i
t
h
t
hi
s
o
bjec
t
.
R
e
turns
b
ool
tru
e
if
t
he
c
urr
e
nt
o
bjec
t
i
s
e
qu
a
l
to
t
he
other
p
a
r
a
m
e
t
e
r
;
ot
he
rw
i
s
e
,
fa
ls
e
.
I
n
dica
t
e
s
w
he
t
he
r
t
hi
s
i
nst
a
n
ce
a
n
d
a
sp
ecified
o
bjec
t
a
r
e
e
qu
a
l
.
J
son
S
tr
i
n
g
public string? JsonString { get; }
E
qu
a
ls
(
E
xt
S
lot
)
public bool Equals(ExtSlot other)
E
qu
a
ls
(
o
bjec
t
?)
93 / 257
P
a
r
a
m
e
t
e
rs
obj
o
bjec
t
T
he
o
bjec
t
to
c
omp
a
r
e
w
i
t
h
t
he
c
urr
e
nt
i
nst
a
n
ce
.
R
e
turns
b
ool
tru
e
if
obj
a
n
d
t
hi
s
i
nst
a
n
ce
a
r
e
t
he
s
a
m
e
typ
e
a
n
d
r
e
pr
e
s
e
nt
t
he
s
a
m
e
v
a
lu
e
;
ot
he
rw
i
s
e
,
fa
ls
e
.
C
omp
a
r
e
s
v
a
lu
e
s
o
f
2
E
xt
S
lot
s
.
P
a
r
a
m
e
t
e
rs
other
E
xt
S
lot
T
he
o
bjec
t
to
c
omp
a
r
e
agai
nst
.
R
e
turns
str
i
n
g
null
if
effec
t
i
v
e
v
a
lu
e
s
a
r
e
e
qu
a
l
,
de
s
c
r
i
pt
i
v
e
m
e
ss
age
ot
he
rw
i
s
e
.
R
e
turns
t
he
ha
s
h
c
o
de
f
or
t
hi
s
i
nst
a
n
ce
.
public override bool Equals(object? obj)
G
e
t
D
iff
M
e
ss
age
(
E
xt
S
lot
)
public string? GetDiffMessage(ExtSlot other)
G
e
t
H
a
s
h
C
o
de
()
public override int GetHashCode()
94 / 257
R
e
turns
i
nt
A
32-
bi
t
s
ig
n
ed
i
nt
ege
r
t
ha
t
i
s
t
he
ha
s
h
c
o
de
f
or
t
hi
s
i
nst
a
n
ce
.
C
onv
e
rts
S
c
r
i
pt
ab
l
e
O
bjec
t
s
to
a
str
i
n
g
.
P
a
r
a
m
e
t
e
rs
scriptableObjects
IE
num
e
r
ab
l
e
<
S
c
r
i
pt
ab
l
e
O
bjec
t
>
T
he
S
c
r
i
pt
ab
l
e
O
bjec
t
s
to
c
onv
e
rt
.
prettyPrint
b
ool
W
he
t
he
r
to
m
ake
t
he
output
pr
e
tty
-
i
s
h
.
R
e
turns
str
i
n
g
S
e
r
ia
l
i
z
ed
JSON
a
rr
a
y
o
f
scriptableObjects
.
O
p
e
r
a
tors
D
efi
n
e
s
a
n
i
mpl
ici
t
c
onv
e
rs
i
on
o
f
str
i
n
g
to
a
E
xt
S
lot
.
P
a
r
a
m
e
t
e
rs
customJsonString
str
i
n
g
T
o
J
son
A
rr
a
y
S
tr
i
n
g
(
IE
num
e
r
ab
l
e
<
S
c
r
i
pt
ab
l
e
O
bjec
t
?>,
b
ool
)
public static string ToJsonArrayString(IEnumerable<ScriptableObject?>
scriptableObjects, bool prettyPrint)
i
mpl
ici
t
op
e
r
a
tor
E
xt
S
lot
(
str
i
n
g
?)
public static implicit operator ExtSlot(string? customJsonString)
95 / 257
T
he
str
i
n
g
to
c
onv
e
rt
.
R
e
turns
E
xt
S
lot
T
he
c
onv
e
rt
ed
E
xt
S
lot
.
D
efi
n
e
s
a
n
i
mpl
ici
t
c
onv
e
rs
i
on
o
f
S
c
r
i
pt
ab
l
e
O
bjec
t
to
a
E
xt
S
lot
.
P
a
r
a
m
e
t
e
rs
scriptableObject
S
c
r
i
pt
ab
l
e
O
bjec
t
T
he
S
c
r
i
pt
ab
l
e
O
bjec
t
to
c
onv
e
rt
.
R
e
turns
E
xt
S
lot
T
he
c
onv
e
rt
ed
E
xt
S
lot
.
D
efi
n
e
s
a
n
i
mpl
ici
t
c
onv
e
rs
i
on
o
f
S
c
r
i
pt
ab
l
e
O
bjec
t
s
to
a
E
xt
S
lot
.
P
a
r
a
m
e
t
e
rs
scriptableObjects
S
c
r
i
pt
ab
l
e
O
bjec
t
[]
T
he
S
c
r
i
pt
ab
l
e
O
bjec
t
s
to
c
onv
e
rt
.
R
e
turns
i
mpl
ici
t
op
e
r
a
tor
E
xt
S
lot
(
S
c
r
i
pt
ab
l
e
O
bjec
t
?)
public static implicit operator ExtSlot(ScriptableObject? scriptableObject)
i
mpl
ici
t
op
e
r
a
tor
E
xt
S
lot
(
S
c
r
i
pt
ab
l
e
O
bjec
t
[]?)
public static implicit operator ExtSlot(ScriptableObject[]? scriptableObjects)
96 / 257
E
xt
S
lot
T
he
c
onv
e
rt
ed
E
xt
S
lot
.
97 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
W
ha
t
fie
l
d
s
o
f
slots
s
h
oul
d
be
us
ed
to
b
u
i
l
d
t
he
v
a
lu
e
.
F
ie
l
d
s
InlineString = 3
S
e
n
d
JSON
a
s
e
xpl
ici
tly
prov
ided
--
us
e
c
ustom
J
son
S
tr
i
n
g
Multiple = 2
S
e
n
d
JSON
a
rr
a
y
--
us
e
e
l
e
m
e
nts
.
None = 0
N
o
v
a
lu
e
(
i
.
e
.
ext
i
s
null
)
Single = 1
S
e
n
d
JSON
o
bjec
t
--
us
e
v
a
lu
e
.
E
num
E
xt
S
lot
.
M
o
de
[Serializable]
public enum ExtSlot.Mode
98 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
E
xt
e
rn
a
l
ID
o
f
t
he
us
e
r
t
ha
t
c
oul
d
be
us
ed
f
or
ad
t
a
r
ge
t
i
n
g
.
h
ttps
://
gi
t
h
u
b
.
c
om
/
I
nt
e
r
ac
t
i
v
e
A
d
v
e
rt
i
s
i
n
g
B
ur
ea
u
/
op
e
nrt
b
/
b
lo
b
/
m
ai
n
/
e
xt
e
ns
i
ons
/2.
x
_
o
fficia
l
_
e
xt
e
ns
i
ons
/
eid
s
.
m
d
I
mpl
e
m
e
nts
IE
qu
a
t
ab
l
e
<
E
xt
e
rn
a
l
U
s
e
r
ID
>
I
n
he
r
i
t
ed
M
e
m
be
rs
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
F
ie
l
d
s
G
e
ts
or
s
e
ts
t
he
typ
e
o
f
us
e
r
age
nt
.
F
ie
l
d
V
a
lu
e
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
i
nt
>
T
yp
e
o
f
us
e
r
age
nt
t
he
m
a
t
ch
i
s
f
rom
.
I
t
i
s
high
ly
r
ec
omm
e
n
ded
to
s
e
t
t
hi
s
,
a
s
m
a
ny
DSP
s
s
e
p
a
r
a
t
e
a
pp
-
n
a
t
i
v
e
ID
s
f
rom
b
rows
e
r
-
ba
s
ed
ID
s
a
n
d
r
e
qu
i
r
e
a
typ
e
v
a
lu
e
f
or
ID
r
e
solut
i
on
.
R
e
m
a
r
k
s
R
efe
r
to
L
i
st
:
h
ttps
://
gi
t
h
u
b
.
c
om
/
I
nt
e
r
ac
t
i
v
e
A
d
v
e
rt
i
s
i
n
g
B
ur
ea
u
/
op
e
nrt
b
/
b
lo
b
/
m
ai
n
/
e
xt
e
ns
i
ons
/2.
x
_
o
fficia
l
_
e
xt
e
ns
i
ons
/
eid
s
.
m
d
#
l
i
st
_
age
nttyp
e
s
.
G
e
ts
or
s
e
ts
ext
c
ont
e
nt
.
S
tru
c
t
E
xt
e
rn
a
l
U
s
e
r
ID
[Serializable]
public struct ExternalUserID : IEquatable<ExternalUserID>
a
T
yp
e
[Tooltip("Type of user agent the match is from.\nIt is highly recommended to set this, as many DSPs
separate app-native IDs from browser-based IDs and require a type value for ID resolution.\nSee
https://github.com/InteractiveAdvertisingBureau/openrtb/blob/main/extensions/2.x_official_extensions/eids
.md#list_agenttypes")]
public SerializableOptional<int> aType
e
xt
[TextArea]
[Tooltip("Optional vendor-specific extensions.")]
99 / 257
F
ie
l
d
V
a
lu
e
str
i
n
g
O
pt
i
on
a
l
v
e
n
d
or
-
sp
ecific
e
xt
e
ns
i
ons
.
G
e
ts
or
s
e
ts
t
he
ID
.
F
ie
l
d
V
a
lu
e
str
i
n
g
C
oo
kie
or
pl
a
t
f
orm
-
n
a
t
i
v
e
ide
nt
ifie
r
.
G
e
ts
or
s
e
ts
t
he
sour
ce
o
f
ID
.
F
ie
l
d
V
a
lu
e
str
i
n
g
S
our
ce
or
t
ech
nolo
g
y
prov
ide
r
r
e
spons
ib
l
e
f
or
t
he
s
e
t
o
f
i
n
c
lu
ded
ID
s
.
R
e
m
a
r
k
s
E
xpr
e
ss
ed
a
s
a
top
-
l
e
v
e
l
d
om
ai
n
.
P
rop
e
rt
ie
s
S
tr
i
ps
a
w
a
y
w
hi
t
e
sp
ace
str
i
n
g
s
t
ha
t
U
n
i
ty
c
r
ea
t
e
s
on
s
e
r
ia
l
i
z
a
t
i
on
.
public string? ext
ide
nt
ifie
r
[Tooltip("Cookie or platform-native identifier.")]
public string? identifier
sour
ce
[Tooltip("Source or technology provider responsible for the set of included IDs.\nExpressed as a top-
level domain.")]
public string? source
W
i
t
h
out
D
efa
ults
public readonly ExternalUserID WithoutDefaults { get; }
100 / 257
P
rop
e
rty
V
a
lu
e
E
xt
e
rn
a
l
U
s
e
r
ID
"
C
lon
e
"
w
i
t
h
out
w
hi
t
e
sp
ace
str
i
n
g
s
.
M
e
t
h
o
d
s
I
n
dica
t
e
s
w
he
t
he
r
t
he
c
urr
e
nt
o
bjec
t
i
s
e
qu
a
l
to
a
not
he
r
o
bjec
t
o
f
t
he
s
a
m
e
typ
e
.
P
a
r
a
m
e
t
e
rs
other
E
xt
e
rn
a
l
U
s
e
r
ID
A
n
o
bjec
t
to
c
omp
a
r
e
w
i
t
h
t
hi
s
o
bjec
t
.
R
e
turns
b
ool
tru
e
if
t
he
c
urr
e
nt
o
bjec
t
i
s
e
qu
a
l
to
t
he
other
p
a
r
a
m
e
t
e
r
;
ot
he
rw
i
s
e
,
fa
ls
e
.
I
n
dica
t
e
s
w
he
t
he
r
t
hi
s
i
nst
a
n
ce
a
n
d
a
sp
ecified
o
bjec
t
a
r
e
e
qu
a
l
.
P
a
r
a
m
e
t
e
rs
obj
o
bjec
t
T
he
o
bjec
t
to
c
omp
a
r
e
w
i
t
h
t
he
c
urr
e
nt
i
nst
a
n
ce
.
R
e
turns
b
ool
tru
e
if
obj
a
n
d
t
hi
s
i
nst
a
n
ce
a
r
e
t
he
s
a
m
e
typ
e
a
n
d
r
e
pr
e
s
e
nt
t
he
s
a
m
e
v
a
lu
e
;
ot
he
rw
i
s
e
,
fa
ls
e
.
R
e
turns
t
he
ha
s
h
c
o
de
f
or
t
hi
s
i
nst
a
n
ce
.
E
qu
a
ls
(
E
xt
e
rn
a
l
U
s
e
r
ID
)
public readonly bool Equals(ExternalUserID other)
E
qu
a
ls
(
o
bjec
t
?)
public override readonly bool Equals(object? obj)
G
e
t
H
a
s
h
C
o
de
()
101 / 257
R
e
turns
i
nt
A
32-
bi
t
s
ig
n
ed
i
nt
ege
r
t
ha
t
i
s
t
he
ha
s
h
c
o
de
f
or
t
hi
s
i
nst
a
n
ce
.
R
e
turns
t
he
f
ully
qu
a
l
ified
typ
e
n
a
m
e
o
f
t
hi
s
i
nst
a
n
ce
.
R
e
turns
str
i
n
g
T
he
f
ully
qu
a
l
ified
typ
e
n
a
m
e
.
public override readonly int GetHashCode()
T
o
S
tr
i
n
g
()
public override readonly string ToString()
102 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
E
v
e
nts
s
ha
r
ed
b
y
a
ll
non
-
n
a
t
i
v
e
ad
s
.
E
v
e
nts
F
i
r
ed
w
he
n
ad
w
a
s
c
l
icked
on
.
E
v
e
nt
T
yp
e
A
c
t
i
on
F
i
r
ed
w
he
n
ad
w
a
s
c
los
ed
(
f
rom
f
ulls
c
r
ee
n
mo
de
).
E
v
e
nt
T
yp
e
A
c
t
i
on
F
i
r
ed
w
he
n
ad
fai
l
ed
to
lo
ad
.
I
nt
e
r
face
IA
d
E
v
e
nt
S
our
ce
public interface IAdEventSource
O
n
A
d
C
l
icked
event Action OnAdClicked
O
n
A
d
C
los
ed
event Action OnAdClosed
O
n
A
d
F
ai
l
ed
103 / 257
E
v
e
nt
T
yp
e
A
c
t
i
on
<
A
d
E
rror
?>
F
i
r
ed
w
he
n
ad
fi
n
i
s
hed
lo
adi
n
g
.
E
v
e
nt
T
yp
e
A
c
t
i
on
<
A
d
I
n
f
o
?>
event Action<AdError?> OnAdFailed
O
n
A
d
L
o
aded
event Action<AdInfo?> OnAdLoaded
104 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
P
rop
e
rt
ie
s
r
e
qu
i
r
ed
f
or
a
ny
ad
un
i
t
to
f
un
c
t
i
on
.
P
rop
e
rt
ie
s
S
e
ts
t
he
e
n
d
po
i
nt
ID
f
or
t
he
ad
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
U
n
i
qu
e
e
n
d
po
i
nt
ide
nt
ifie
r
ge
n
e
r
a
t
ed
on
t
he
A
ppsto
ck
pl
a
t
f
orm
ʼ
s
U
I
.
S
e
ts
t
he
pl
ace
m
e
nt
ID
f
or
t
he
ad
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
U
n
i
qu
e
pl
ace
m
e
nt
ide
nt
ifie
r
ge
n
e
r
a
t
ed
on
t
he
A
ppsto
ck
pl
a
t
f
orm
ʼ
s
U
I
.
I
nt
e
r
face
IA
d
U
n
i
t
public interface IAdUnit
E
n
d
po
i
nt
ID
string? EndpointID { set; }
P
l
ace
m
e
nt
ID
string? PlacementID { set; }
105 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
A
d
t
ha
t
i
s
a
n
ch
or
ed
to
t
he
s
c
r
ee
n
.
P
rop
e
rt
ie
s
G
e
ts
or
s
e
ts
ad
pos
i
t
i
on
(
f
or
e
x
cha
n
ge
purpos
e
s
).
P
rop
e
rty
V
a
lu
e
A
d
P
os
i
t
i
on
W
he
r
e
t
he
ad
i
ts
e
l
f
i
s
lo
gica
lly
(
heade
r
/
f
oot
e
r
e
t
c
.).
S
ee
A
lso
A
d
P
os
i
t
i
on
G
e
ts
or
s
e
ts
t
he
pos
i
t
i
on
ad
i
s
a
n
ch
or
ed
to
.
P
rop
e
rty
V
a
lu
e
A
n
ch
or
ed
A
d
P
os
i
t
i
on
W
he
r
e
t
he
ad
i
ts
e
l
f
s
h
oul
d
be
pl
aced
on
s
c
r
ee
n
(
edge
/
c
orn
e
r
).
I
nt
e
r
face
IA
n
ch
or
ed
A
d
public interface IAnchoredAd
A
d
P
os
i
t
i
on
AdPosition AdPosition { get; set; }
A
n
ch
or
ed
P
os
i
t
i
on
AnchoredAdPosition AnchoredPosition { get; set; }
106 / 257
S
ee
A
lso
A
n
ch
or
ed
P
os
i
t
i
on
107 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
A
d
t
ha
t
ca
n
a
uto
-
r
ef
r
e
s
h
.
P
rop
e
rt
ie
s
G
e
ts
or
s
e
ts
a
uto
r
ef
r
e
s
h
de
l
a
y
(
i
nt
e
rv
a
l
).
P
rop
e
rty
V
a
lu
e
T
i
m
e
S
p
a
n
H
ow
o
f
t
e
n
to
r
ef
r
e
s
h
t
he
ad
c
ont
e
nt
.
M
e
t
h
o
d
s
D
i
s
ab
l
e
a
uto
-
r
ef
r
e
s
hi
n
g
.
I
nt
e
r
face
IA
uto
R
ef
r
e
s
hab
l
e
A
d
public interface IAutoRefreshableAd
A
uto
R
ef
r
e
s
h
D
e
l
a
y
TimeSpan AutoRefreshDelay { get; set; }
S
top
A
uto
R
ef
r
e
s
h
()
void StopAutoRefresh()
108 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
C
ommon
prop
e
rt
ie
s
f
or
ba
nn
e
r
facade
a
n
d
pl
a
t
f
orm
-
sp
ecific
i
mpl
e
m
e
nt
a
t
i
ons
.
I
n
he
r
i
t
ed
M
e
m
be
rs
ID
i
spos
ab
l
e
.
D
i
spos
e
()
,
IA
d
U
n
i
t
.
P
l
ace
m
e
nt
ID
,
IA
d
U
n
i
t
.
E
n
d
po
i
nt
ID
,
IL
o
adab
l
e
A
d
.
L
o
ad
A
d
()
,
IM
ono
f
orm
a
tt
ed
A
d
.
A
d
U
n
i
t
F
orm
a
t
,
IR
e
s
i
z
ab
l
e
A
d
.
A
d
S
i
z
e
s
,
IC
on
cea
l
ab
l
e
A
d
.
S
h
ow
()
,
IC
on
cea
l
ab
l
e
A
d
.
H
ide
()
,
IA
n
ch
or
ed
A
d
.
A
n
ch
or
ed
P
os
i
t
i
on
,
IA
n
ch
or
ed
A
d
.
A
d
P
os
i
t
i
on
,
IA
uto
R
ef
r
e
s
hab
l
e
A
d
.
A
uto
R
ef
r
e
s
h
D
e
l
a
y
,
IA
uto
R
ef
r
e
s
hab
l
e
A
d
.
S
top
A
uto
R
ef
r
e
s
h
()
,
IA
d
E
v
e
nt
S
our
ce
.
O
n
A
d
L
o
aded
,
IA
d
E
v
e
nt
S
our
ce
.
O
n
A
d
F
ai
l
ed
,
IA
d
E
v
e
nt
S
our
ce
.
O
n
A
d
C
l
icked
,
IA
d
E
v
e
nt
S
our
ce
.
O
n
A
d
C
los
ed
I
nt
e
r
face
IB
a
nn
e
r
A
d
public interface IBannerAd : IDisposable, IAdUnit, ILoadableAd, IMonoformattedAd,
IResizableAd, IConcealableAd, IAnchoredAd, IAutoRefreshableAd, IAdEventSource
109 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
A
d
t
ha
t
ca
n
be
c
los
ed
.
P
rop
e
rt
ie
s
S
e
ts
c
los
e
b
utton
a
r
ea
fac
tor
.
P
rop
e
rty
V
a
lu
e
d
ou
b
l
e
t
he
p
e
r
ce
nt
age
o
f
t
he
de
v
ice
s
c
r
ee
n
t
ha
t
t
he
c
los
e
b
utton
s
h
oul
d
c
ov
e
r
.
R
e
m
a
r
k
s
A
llow
ed
r
a
n
ge
-
0...1
.
D
efa
ult
v
a
lu
e
i
s
~
0.1
.
S
e
ts
pos
i
t
i
on
o
f
t
he
c
los
e
b
utton
.
P
rop
e
rty
V
a
lu
e
I
nt
e
r
face
IC
los
eab
l
e
A
d
public interface ICloseableAd
C
los
e
B
utton
A
r
ea
double CloseButtonArea { set; }
C
los
e
B
utton
P
os
i
t
i
on
AdElementPosition CloseButtonPosition { set; }
110 / 257
A
d
E
l
e
m
e
nt
P
os
i
t
i
on
W
he
r
e
t
he
c
los
e
b
utton
a
pp
ea
rs
on
t
he
s
c
r
ee
n
.
R
e
m
a
r
k
s
A
llow
ed
v
a
lu
e
s
:
T
op
L
ef
t
,
T
op
R
igh
t
.
D
efa
ult
i
s
T
op
R
igh
t
.
111 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
A
d
t
ha
t
ca
n
be
lo
aded
a
n
d
s
h
own
.
M
e
t
h
o
d
s
S
e
t
t
he
ad
i
nv
i
s
ib
l
e
.
S
e
t
t
he
ad
v
i
s
ib
l
e
.
I
nt
e
r
face
IC
on
cea
l
ab
l
e
A
d
public interface IConcealableAd
H
ide
()
void Hide()
S
h
ow
()
void Show()
112 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
C
ommon
prop
e
rt
ie
s
f
or
i
nt
e
rst
i
t
ia
l
ad
facade
a
n
d
pl
a
t
f
orm
-
sp
ecific
i
mpl
e
m
e
nt
a
t
i
ons
.
I
n
he
r
i
t
ed
M
e
m
be
rs
ID
i
spos
ab
l
e
.
D
i
spos
e
()
,
IA
d
U
n
i
t
.
P
l
ace
m
e
nt
ID
,
IA
d
U
n
i
t
.
E
n
d
po
i
nt
ID
,
IM
ult
if
orm
a
tt
ed
A
d
.
A
d
U
n
i
t
F
orm
a
ts
,
IR
e
s
i
z
ab
l
e
A
d
.
A
d
S
i
z
e
s
,
IS
ki
pp
ab
l
e
A
d
.
S
ki
p
B
utton
A
r
ea
,
IS
ki
pp
ab
l
e
A
d
.
S
ki
p
B
utton
P
os
i
t
i
on
,
IS
ki
pp
ab
l
e
A
d
.
S
ki
p
D
e
l
a
y
,
IM
ut
eab
l
e
A
d
.
M
ut
ed
,
IM
ut
eab
l
e
A
d
.
S
oun
d
B
utton
V
i
s
ib
l
e
,
IC
los
eab
l
e
A
d
.
C
los
e
B
utton
A
r
ea
,
IC
los
eab
l
e
A
d
.
C
los
e
B
utton
P
os
i
t
i
on
,
IM
o
da
l
A
d
.
L
o
aded
,
IM
o
da
l
A
d
.
S
h
ow
(
A
c
t
i
on
)
,
IL
o
adab
l
e
A
d
.
L
o
ad
A
d
()
,
IA
d
E
v
e
nt
S
our
ce
.
O
n
A
d
L
o
aded
,
IA
d
E
v
e
nt
S
our
ce
.
O
n
A
d
F
ai
l
ed
,
IA
d
E
v
e
nt
S
our
ce
.
O
n
A
d
C
l
icked
,
IA
d
E
v
e
nt
S
our
ce
.
O
n
A
d
C
los
ed
,
IM
o
da
l
A
d
E
v
e
nt
S
our
ce
.
O
n
A
d
D
i
spl
a
y
ed
I
nt
e
r
face
II
nt
e
rst
i
t
ia
l
A
d
public interface IInterstitialAd : IDisposable, IAdUnit, IMultiformattedAd,
IResizableAd, ISkippableAd, IMuteableAd, ICloseableAd, IModalAd, ILoadableAd,
IAdEventSource, IModalAdEventSource
113 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
A
d
t
ha
t
ca
n
be
lo
aded
.
M
e
t
h
o
d
s
L
o
ad
t
he
c
ont
e
nt
o
f
t
he
ad
.
I
nt
e
r
face
IL
o
adab
l
e
A
d
public interface ILoadableAd
L
o
ad
A
d
()
void LoadAd()
114 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
A
d
t
ha
t
ca
n
be
lo
aded
a
n
d
s
h
own
.
I
n
he
r
i
t
ed
M
e
m
be
rs
IL
o
adab
l
e
A
d
.
L
o
ad
A
d
()
P
rop
e
rt
ie
s
G
e
ts
if
ad
ha
s
lo
aded
.
P
rop
e
rty
V
a
lu
e
b
ool
true
if
ad
ha
s
su
cce
ss
f
ully
lo
aded
,
false
ot
he
rw
i
s
e
.
M
e
t
h
o
d
s
S
h
ow
t
he
ad
on
s
c
r
ee
n
.
P
a
r
a
m
e
t
e
rs
I
nt
e
r
face
IM
o
da
l
A
d
public interface IModalAd : ILoadableAd
L
o
aded
bool Loaded { get; }
S
h
ow
(
A
c
t
i
on
?)
void Show(Action? actionOnUIThread = null)
115 / 257
actionOnUIThread
A
c
t
i
on
S
om
e
t
hi
n
g
you
w
a
nt
to
e
x
ec
ut
e
i
mm
edia
t
e
ly
w
he
n
t
he
ad
i
s
bei
n
g
added
to
t
he
s
c
r
ee
n
actionOnUIThread
i
s
i
nvo
ked
on
NA
T
I
V
E
U
I
T
HREAD
w
hich
MA
Y
DIFFER
f
rom
U
NI
TY
'
S MAIN
T
HREAD
.
116 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
E
v
e
nts
s
ha
r
ed
b
y
i
nt
e
rst
i
t
ia
l
a
n
d
r
e
w
a
r
ded
ad
s
.
E
v
e
nts
F
i
r
ed
w
he
n
ad
did
a
pp
ea
r
on
s
c
r
ee
n
.
E
v
e
nt
T
yp
e
A
c
t
i
on
I
nt
e
r
face
IM
o
da
l
A
d
E
v
e
nt
S
our
ce
public interface IModalAdEventSource
O
n
A
d
D
i
spl
a
y
ed
event Action OnAdDisplayed
117 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
S
i
n
g
l
e
f
orm
a
t
support
ed
.
P
rop
e
rt
ie
s
S
e
ts
f
orm
a
t
f
or
t
he
ad
un
i
t
.
P
rop
e
rty
V
a
lu
e
A
d
F
orm
a
t
A
d
f
orm
a
t
f
or
t
he
A
d
.
I
nt
e
r
face
IM
ono
f
orm
a
tt
ed
A
d
public interface IMonoformattedAd
A
d
U
n
i
t
F
orm
a
t
AdFormat AdUnitFormat { set; }
118 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
M
ult
i
pl
e
f
orm
a
ts
support
ed
.
P
rop
e
rt
ie
s
S
e
ts
f
orm
a
ts
f
or
t
he
ad
un
i
t
.
P
rop
e
rty
V
a
lu
e
IE
num
e
r
ab
l
e
<
A
d
F
orm
a
t
>
A
d
f
orm
a
ts
t
ha
t
a
r
e
a
llow
ed
i
nto
t
he
ad
.
I
nt
e
r
face
IM
ult
if
orm
a
tt
ed
A
d
public interface IMultiformattedAd
A
d
U
n
i
t
F
orm
a
ts
IEnumerable<AdFormat> AdUnitFormats { set; }
119 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
A
d
t
ha
t
ca
n
be
mut
ed
.
P
rop
e
rt
ie
s
S
e
ts
if
ad
i
s
to
be
mut
ed
.
P
rop
e
rty
V
a
lu
e
b
ool
true
if
mut
ed
,
false
ot
he
rw
i
s
e
.
S
e
ts
if
Mute
b
utton
i
s
v
i
s
ib
l
e
w
he
n
t
he
ad
i
s
on
di
spl
a
y
.
P
rop
e
rty
V
a
lu
e
b
ool
true
if
v
i
s
ib
l
e
,
false
ot
he
rw
i
s
e
.
I
nt
e
r
face
IM
ut
eab
l
e
A
d
public interface IMuteableAd
M
ut
ed
bool Muted { set; }
S
oun
d
B
utton
V
i
s
ib
l
e
bool SoundButtonVisible { set; }
120 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
A
n
a
t
i
v
e
o
bjec
t
t
ha
t
ca
n
be
us
ed
to
lo
ad
a
n
a
t
i
v
e
ad
(
on
ce
b
u
i
lt
).
I
n
he
r
i
t
ed
M
e
m
be
rs
ID
i
spos
ab
l
e
.
D
i
spos
e
()
M
e
t
h
o
d
s
S
e
n
d
s
a
r
e
qu
e
st
a
n
d
lo
ad
s
t
he
IN
a
t
i
v
e
A
d
.
P
a
r
a
m
e
t
e
rs
callback
A
c
t
i
on
<
IN
a
t
i
v
e
A
d
,
A
d
E
rror
?>
I
nvo
ked
w
he
n
lo
adi
n
g
su
cceed
s
or
fai
ls
.
R
e
m
a
r
k
s
S
u
cce
ss
i
n
dica
t
ed
b
y
non
-
null
IN
a
t
i
v
e
A
d
.
I
nt
e
r
face
IN
a
t
i
v
e
A
d
L
o
ade
r
public interface INativeAdLoader : IDisposable
L
o
ad
A
d
(
A
c
t
i
on
<
IN
a
t
i
v
e
A
d
?,
A
d
E
rror
?>)
void LoadAd(Action<INativeAd?, AdError?> callback)
121 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
S
ha
r
ed
b
y
non
-
n
a
t
i
v
e
ad
un
i
ts
.
P
rop
e
rt
ie
s
S
e
ts
ad
s
i
z
e
s
f
or
t
he
ad
.
P
rop
e
rty
V
a
lu
e
IE
num
e
r
ab
l
e
<
A
d
S
i
z
e
>
S
i
z
e
s
t
ha
t
ad
'
s
c
ont
e
nt
m
a
y
t
ake
.
I
nt
e
r
face
IR
e
s
i
z
ab
l
e
A
d
public interface IResizableAd
A
d
S
i
z
e
s
IEnumerable<AdSize> AdSizes { set; }
122 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
C
ommon
prop
e
rt
ie
s
f
or
r
e
w
a
r
ded
ad
facade
a
n
d
pl
a
t
f
orm
-
sp
ecific
i
mpl
e
m
e
nt
a
t
i
ons
.
I
n
he
r
i
t
ed
M
e
m
be
rs
ID
i
spos
ab
l
e
.
D
i
spos
e
()
,
IA
d
U
n
i
t
.
P
l
ace
m
e
nt
ID
,
IA
d
U
n
i
t
.
E
n
d
po
i
nt
ID
,
IM
ult
if
orm
a
tt
ed
A
d
.
A
d
U
n
i
t
F
orm
a
ts
,
IR
e
s
i
z
ab
l
e
A
d
.
A
d
S
i
z
e
s
,
IM
ut
eab
l
e
A
d
.
M
ut
ed
,
IM
ut
eab
l
e
A
d
.
S
oun
d
B
utton
V
i
s
ib
l
e
,
IC
los
eab
l
e
A
d
.
C
los
e
B
utton
A
r
ea
,
IC
los
eab
l
e
A
d
.
C
los
e
B
utton
P
os
i
t
i
on
,
IM
o
da
l
A
d
.
L
o
aded
,
IM
o
da
l
A
d
.
S
h
ow
(
A
c
t
i
on
)
,
IL
o
adab
l
e
A
d
.
L
o
ad
A
d
()
,
IA
d
E
v
e
nt
S
our
ce
.
O
n
A
d
L
o
aded
,
IA
d
E
v
e
nt
S
our
ce
.
O
n
A
d
F
ai
l
ed
,
IA
d
E
v
e
nt
S
our
ce
.
O
n
A
d
C
l
icked
,
IA
d
E
v
e
nt
S
our
ce
.
O
n
A
d
C
los
ed
,
IM
o
da
l
A
d
E
v
e
nt
S
our
ce
.
O
n
A
d
D
i
spl
a
y
ed
,
IR
e
w
a
r
di
n
g
A
d
E
v
e
nt
S
our
ce
.
O
n
R
e
w
a
r
d
I
nt
e
r
face
IR
e
w
a
r
ded
A
d
public interface IRewardedAd : IDisposable, IAdUnit, IMultiformattedAd,
IResizableAd, IMuteableAd, ICloseableAd, IModalAd, ILoadableAd, IAdEventSource,
IModalAdEventSource, IRewardingAdEventSource
123 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
E
v
e
nts
f
or
r
e
w
a
r
di
n
g
ad
s
.
E
v
e
nts
F
i
r
ed
w
he
n
us
e
r
de
s
e
rv
ed
t
he
r
e
w
a
r
d
.
E
v
e
nt
T
yp
e
A
c
t
i
on
<
A
d
R
e
w
a
r
d
?>
I
nt
e
r
face
IR
e
w
a
r
di
n
g
A
d
E
v
e
nt
S
our
ce
public interface IRewardingAdEventSource
O
n
R
e
w
a
r
d
event Action<AdReward?> OnReward
124 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
g
lo
ba
l
s
e
tt
i
n
g
s
o
f
n
a
t
i
v
e
SDK
.
E
xt
e
ns
i
on
M
e
t
h
o
d
s
S
dk
P
roxy
E
xt
e
ns
i
ons
.
A
pply
(
IS
dk
P
roxy
,
S
dk
C
on
fig
)
P
rop
e
rt
ie
s
G
e
ts
or
s
e
ts
t
i
m
e
out
f
or
c
r
ea
t
i
v
e
r
e
qu
e
sts
.
P
rop
e
rty
V
a
lu
e
T
i
m
e
S
p
a
n
T
he
t
i
m
e
i
nt
e
rv
a
l
a
llow
ed
f
or
a
c
r
ea
t
i
v
e
to
lo
ad
bef
or
e
i
t
i
s
c
ons
ide
r
ed
a
fai
lur
e
.
G
e
ts
or
s
e
ts
t
i
m
e
out
f
or
v
ide
o
a
n
d
i
nt
e
rst
i
t
ia
l
c
r
ea
tv
e
s
.
P
rop
e
rty
V
a
lu
e
T
i
m
e
S
p
a
n
T
he
t
i
m
e
i
nt
e
rv
a
l
a
llow
ed
f
or
v
ide
o
a
n
d
i
nt
e
rst
i
t
ia
l
c
r
ea
t
i
v
e
s
to
lo
ad
.
I
nt
e
r
face
IS
dk
P
roxy
public interface ISdkProxy
A
d
R
e
qu
e
st
T
i
m
e
out
TimeSpan AdRequestTimeout { get; set; }
A
d
R
e
qu
e
st
T
i
m
e
out
P
r
e
R
e
n
de
r
C
ont
e
nt
TimeSpan AdRequestTimeoutPreRenderContent { get; set; }
125 / 257
G
e
ts
or
s
e
ts
w
he
t
he
r
t
he
a
ss
e
t
ID
f
or
n
a
t
i
v
e
ad
s
s
h
oul
d
be
m
a
nu
a
lly
a
ss
ig
n
ed
.
P
rop
e
rty
V
a
lu
e
b
ool
true
if
ID
s
s
h
oul
d
be
a
ss
ig
n
ed
a
utom
a
t
ica
lly
,
false
if
m
a
nu
a
lly
.
G
e
ts
or
s
e
ts
deb
u
g
mo
de
f
or
r
e
qu
e
sts
.
P
rop
e
rty
V
a
lu
e
b
ool
true
if
deb
u
g
mo
de
i
s
e
n
ab
l
ed
,
false
ot
he
rw
i
s
e
G
e
ts
or
s
e
ts
e
n
d
po
i
nt
ID
f
or
ad
s
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
A
un
i
qu
e
ide
nt
ifie
r
ge
n
e
r
a
t
ed
on
t
he
pl
a
t
f
orm
ʼ
s
U
I
.
G
e
ts
or
s
e
ts
e
xt
e
rn
a
l
ID
s
o
f
t
he
us
e
r
.
A
ss
ig
n
N
a
t
i
v
e
A
ss
e
t
ID
bool AssignNativeAssetID { get; set; }
D
eb
u
g
R
e
qu
e
sts
bool DebugRequests { get; set; }
E
n
d
po
i
nt
ID
string? EndpointID { set; }
E
xt
e
rn
a
l
U
s
e
r
I
d
s
126 / 257
P
rop
e
rty
V
a
lu
e
IE
num
e
r
ab
l
e
<
E
xt
e
rn
a
l
U
s
e
r
ID
>
E
xt
e
rn
a
l
ID
s
o
f
t
he
us
e
r
t
ha
t
c
oul
d
be
us
ed
f
or
ad
t
a
r
ge
t
i
n
g
.
R
e
m
a
r
k
s
S
ee
h
ttps
://
gi
t
h
u
b
.
c
om
/
I
nt
e
r
ac
t
i
v
e
A
d
v
e
rt
i
s
i
n
g
B
ur
ea
u
/
op
e
nrt
b
/
b
lo
b
/
m
ai
n
/
e
xt
e
ns
i
ons
/2.
x
_
o
fficia
l
_
e
xt
e
ns
i
ons
/
eid
s
.
m
d
S
ee
A
lso
E
xt
e
rn
a
l
U
s
e
r
ID
,
E
xt
e
rn
a
l
U
s
e
r
I
d
s
G
e
ts
or
s
e
ts
t
he
lo
g
l
e
v
e
l
f
or
n
a
t
i
v
e
l
ib
r
a
ry
.
P
rop
e
rty
V
a
lu
e
L
o
g
L
e
v
e
l
T
he
de
s
i
r
ed
v
e
r
b
os
i
ty
o
f
t
he
lo
g
s
.
G
e
ts
t
he
OM SDK
v
e
rs
i
on
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
T
he
v
e
rs
i
on
o
f
n
a
t
i
v
e
OM SDK
l
ib
r
a
ry
.
IEnumerable<ExternalUserID> ExternalUserIds { get; set; }
L
o
g
L
e
v
e
l
LogLevel LogLevel { get; set; }
O
m
S
dk
V
e
rs
i
on
string? OmSdkVersion { get; }
127 / 257
G
e
ts
t
he
SDK
v
e
rs
i
on
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
T
he
v
e
rs
i
on
o
f
n
a
t
i
v
e
SDK
l
ib
r
a
ry
.
G
e
ts
or
s
e
ts
r
e
qu
e
st
t
i
m
e
out
.
P
rop
e
rty
V
a
lu
e
T
i
m
e
S
p
a
n
T
he
t
i
m
e
out
f
or
ad
r
e
qu
e
sts
.
S
dk
V
e
rs
i
on
string? SdkVersion { get; }
T
i
m
e
out
TimeSpan Timeout { get; set; }
128 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
A
d
t
ha
t
ca
n
be
s
ki
pp
ed
.
P
rop
e
rt
ie
s
S
e
ts
s
ki
p
b
utton
a
r
ea
fac
tor
.
P
rop
e
rty
V
a
lu
e
d
ou
b
l
e
t
he
p
e
r
ce
nt
age
o
f
t
he
de
v
ice
s
c
r
ee
n
t
ha
t
t
he
s
ki
p
b
utton
s
h
oul
d
c
ov
e
r
.
R
e
m
a
r
k
s
A
llow
ed
r
a
n
ge
-
0...1
.
D
efa
ult
v
a
lu
e
i
s
~
0.1
.
S
e
ts
pos
i
t
i
on
o
f
t
he
s
ki
p
b
utton
.
P
rop
e
rty
V
a
lu
e
I
nt
e
r
face
IS
ki
pp
ab
l
e
A
d
public interface ISkippableAd
S
ki
p
B
utton
A
r
ea
double SkipButtonArea { set; }
S
ki
p
B
utton
P
os
i
t
i
on
AdElementPosition SkipButtonPosition { set; }
129 / 257
A
d
E
l
e
m
e
nt
P
os
i
t
i
on
W
he
r
e
t
he
s
ki
p
b
utton
a
pp
ea
rs
on
t
he
s
c
r
ee
n
.
R
e
m
a
r
k
s
A
llow
ed
v
a
lu
e
s
:
T
op
L
ef
t
,
T
op
R
igh
t
.
D
efa
ult
i
s
T
op
R
igh
t
.
S
e
ts
s
ki
p
b
utton
a
pp
ea
r
i
n
g
de
l
a
y
f
or
t
he
ad
.
P
rop
e
rty
V
a
lu
e
i
nt
N
um
be
r
o
f
s
ec
on
d
s
af
t
e
r
t
he
st
a
rt
o
f
pl
a
y
back
bef
or
e
t
he
s
ki
p
or
c
los
e
b
utton
s
h
oul
d
a
pp
ea
r
.
R
e
m
a
r
k
s
D
efa
ult
v
a
lu
e
i
s
~
10.0
.
S
ki
p
D
e
l
a
y
int SkipDelay { set; }
130 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
t
a
r
ge
t
i
n
g
s
e
tt
i
n
g
s
o
f
n
a
t
i
v
e
SDK
.
E
xt
e
ns
i
on
M
e
t
h
o
d
s
T
a
r
ge
t
i
n
g
P
roxy
E
xt
e
ns
i
ons
.
A
pply
(
I
T
a
r
ge
t
i
n
g
P
roxy
,
T
a
r
ge
t
i
n
g
D
a
t
a
)
,
T
a
r
ge
t
i
n
g
P
roxy
E
xt
e
ns
i
ons
.
T
ake
S
n
a
ps
h
ot
(
I
T
a
r
ge
t
i
n
g
P
roxy
)
P
rop
e
rt
ie
s
G
e
ts
or
s
e
ts
us
e
r
'
s
ba
s
e
lo
ca
t
i
on
.
P
rop
e
rty
V
a
lu
e
V
ec
tor
2
?
L
o
ca
t
i
on
o
f
t
he
us
e
r
ʼ
s
h
om
e
ba
s
e
.
R
e
m
a
r
k
s
T
hi
s
i
s
not
n
ece
ss
a
r
i
ly
t
hei
r
c
urr
e
nt
lo
ca
t
i
on
.
G
e
ts
or
s
e
ts
a
pp
d
om
ai
n
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
I
nt
e
r
face
I
T
a
r
ge
t
i
n
g
P
roxy
public interface ITargetingProxy
C
oor
di
n
a
t
e
Vector2? Coordinate { get; set; }
D
om
ai
n
string? Domain { get; set; }
131 / 257
D
om
ai
n
o
f
t
he
a
pp
(
e
.
g
.,
mygame.foo.com
).
G
e
ts
or
s
e
ts
e
xt
e
rn
a
l
ID
s
o
f
t
he
us
e
r
.
P
rop
e
rty
V
a
lu
e
IE
num
e
r
ab
l
e
<
E
xt
e
rn
a
l
U
s
e
r
ID
>
E
xt
e
rn
a
l
ID
s
o
f
t
he
us
e
r
t
ha
t
c
oul
d
be
us
ed
f
or
ad
t
a
r
ge
t
i
n
g
.
R
e
m
a
r
k
s
S
ee
h
ttps
://
gi
t
h
u
b
.
c
om
/
I
nt
e
r
ac
t
i
v
e
A
d
v
e
rt
i
s
i
n
g
B
ur
ea
u
/
op
e
nrt
b
/
b
lo
b
/
m
ai
n
/
e
xt
e
ns
i
ons
/2.
x
_
o
fficia
l
_
e
xt
e
ns
i
ons
/
eid
s
.
m
d
S
ee
A
lso
E
xt
e
rn
a
l
U
s
e
r
ID
G
e
ts
or
s
e
ts
if
r
e
qu
e
st
i
s
su
bjec
t
to
t
he
COPPA
.
P
rop
e
rty
V
a
lu
e
b
ool
?
true
if
t
hi
s
r
e
qu
e
st
i
s
su
bjec
t
to
t
he
COPPA
r
eg
ul
a
t
i
ons
e
st
ab
l
i
s
hed
b
y
t
he
U
SA F
T
C
,
false
ot
he
rw
i
s
e
.
G
e
ts
or
s
e
ts
i
T
un
e
s
ID
.
E
xt
e
rn
a
l
U
s
e
r
I
d
s
IEnumerable<ExternalUserID> ExternalUserIds { get; set; }
I
s
S
u
bjec
t
T
o
COPPA
bool? IsSubjectToCOPPA { get; set; }
I
tun
e
s
ID
string? ItunesID { get; set; }
132 / 257
P
rop
e
rty
V
a
lu
e
str
i
n
g
T
he
a
pp
ide
nt
ifie
r
i
n
i
T
un
e
s
.
G
e
ts
c
urr
e
nt
ke
ywor
d
s
.
P
rop
e
rty
V
a
lu
e
IE
num
e
r
ab
l
e
<
str
i
n
g
>
K
e
ywor
d
s
,
i
nt
e
r
e
sts
,
or
i
nt
e
nt
.
S
ee
A
lso
A
dd
K
e
ywor
d
(
str
i
n
g
)
G
e
ts
or
s
e
ts
pu
b
l
i
s
he
r
n
a
m
e
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
A
pp
ʼ
s
pu
b
l
i
s
he
r
n
a
m
e
.
G
e
ts
or
s
e
ts
sour
ce
a
pp
.
P
rop
e
rty
V
a
lu
e
K
e
ywor
d
s
IEnumerable<string?> Keywords { get; }
P
u
b
l
i
s
he
r
N
a
m
e
string? PublisherName { get; set; }
S
our
ce
A
pp
string? SourceApp { get; set; }
133 / 257
str
i
n
g
ID
o
f
pu
b
l
i
s
he
r
a
pp
i
n
A
ppl
e
ʼ
s
A
pp
S
tor
e
.
G
e
ts
or
s
e
ts
stor
e
U
RL
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
A
pp
stor
e
U
RL
f
or
a
n
i
nst
a
ll
ed
a
pp
.
G
e
ts
or
s
e
ts
c
ustom
da
t
a
f
or
us
e
r
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
O
pt
i
on
a
l
fea
tur
e
to
p
a
ss
bidde
r
da
t
a
t
ha
t
w
a
s
s
e
t
i
n
t
he
e
x
cha
n
ge
ʼ
s
c
oo
kie
.
R
e
m
a
r
k
s
T
he
str
i
n
g
must
be
i
n
ba
s
e
85
c
oo
kie
s
afe
cha
r
ac
t
e
rs
a
n
d
be
i
n
a
ny
f
orm
a
t
.
G
e
ts
or
s
e
ts
ext
c
ont
e
nt
f
or
OR
T
B
user
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
S
tor
e
U
RL
string? StoreURL { get; set; }
U
s
e
r
C
ustom
D
a
t
a
string? UserCustomData { get; set; }
U
s
e
r
E
xt
J
son
string? UserExtJson { get; set; }
134 / 257
E
x
cha
n
ge
-
sp
ecific
e
xt
e
ns
i
ons
to
O
p
e
n
R
T
B
.
R
e
m
a
r
k
s
S
h
oul
d
be
a
v
a
l
id
JSON
o
bjec
t
or
a
rr
a
y
.
M
e
t
h
o
d
s
A
dd
s
a
ke
ywor
d
.
P
a
r
a
m
e
t
e
rs
keyword
str
i
n
g
K
e
ywor
d
,
i
nt
e
r
e
st
,
or
i
nt
e
nt
.
S
ee
A
lso
K
e
ywor
d
s
A
dd
K
e
ywor
d
(
str
i
n
g
)
void AddKeyword(string keyword)
135 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
A
p
i
.
d
ll
A
f
ull
p
age
ad
e
xp
e
r
ie
n
ce
a
t
n
a
tur
a
l
tr
a
ns
i
t
i
on
po
i
nts
,
su
ch
a
s
a
p
age
cha
n
ge
or
a
n
a
pp
l
a
un
ch
.
I
nt
e
rst
i
t
ia
ls
us
e
a
c
los
e
b
utton
t
ha
t
r
e
mov
e
s
t
he
ad
f
rom
t
he
us
e
r
'
s
e
xp
e
r
ie
n
ce
.
I
n
he
r
i
t
a
n
ce
o
bjec
t
I
nt
e
rst
i
t
ia
l
A
d
I
mpl
e
m
e
nts
II
nt
e
rst
i
t
ia
l
A
d
,
ID
i
spos
ab
l
e
,
IA
d
U
n
i
t
,
IM
ult
if
orm
a
tt
ed
A
d
,
IR
e
s
i
z
ab
l
e
A
d
,
IS
ki
pp
ab
l
e
A
d
,
IM
ut
eab
l
e
A
d
,
IC
los
eab
l
e
A
d
,
IM
o
da
l
A
d
,
IL
o
adab
l
e
A
d
,
IA
d
E
v
e
nt
S
our
ce
,
IM
o
da
l
A
d
E
v
e
nt
S
our
ce
I
n
he
r
i
t
ed
M
e
m
be
rs
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
)
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
H
a
s
h
C
o
de
()
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
M
e
m
be
rw
i
s
e
C
lon
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
T
o
S
tr
i
n
g
()
C
onstru
c
tors
I
n
i
t
ia
l
i
z
e
s
a
n
e
w
i
nst
a
n
ce
o
f
t
he
I
nt
e
rst
i
t
ia
l
A
d
c
l
a
ss
.
P
rop
e
rt
ie
s
S
e
ts
ad
s
i
z
e
s
f
or
t
he
ad
.
C
l
a
ss
I
nt
e
rst
i
t
ia
l
A
d
public class InterstitialAd : IInterstitialAd, IDisposable, IAdUnit,
IMultiformattedAd, IResizableAd, ISkippableAd, IMuteableAd, ICloseableAd, IModalAd,
ILoadableAd, IAdEventSource, IModalAdEventSource
I
nt
e
rst
i
t
ia
l
A
d
()
public InterstitialAd()
A
d
S
i
z
e
s
136 / 257
P
rop
e
rty
V
a
lu
e
IE
num
e
r
ab
l
e
<
A
d
S
i
z
e
>
S
i
z
e
s
t
ha
t
ad
'
s
c
ont
e
nt
m
a
y
t
ake
.
S
e
ts
f
orm
a
ts
f
or
t
he
ad
un
i
t
.
P
rop
e
rty
V
a
lu
e
IE
num
e
r
ab
l
e
<
A
d
F
orm
a
t
>
A
d
f
orm
a
ts
t
ha
t
a
r
e
a
llow
ed
i
nto
t
he
ad
.
S
e
ts
c
los
e
b
utton
a
r
ea
fac
tor
.
P
rop
e
rty
V
a
lu
e
d
ou
b
l
e
t
he
p
e
r
ce
nt
age
o
f
t
he
de
v
ice
s
c
r
ee
n
t
ha
t
t
he
c
los
e
b
utton
s
h
oul
d
c
ov
e
r
.
R
e
m
a
r
k
s
A
llow
ed
r
a
n
ge
-
0...1
.
D
efa
ult
v
a
lu
e
i
s
~
0.1
.
public IEnumerable<AdSize> AdSizes { set; }
A
d
U
n
i
t
F
orm
a
ts
public IEnumerable<AdFormat> AdUnitFormats { set; }
C
los
e
B
utton
A
r
ea
public double CloseButtonArea { set; }
137 / 257
S
e
ts
pos
i
t
i
on
o
f
t
he
c
los
e
b
utton
.
P
rop
e
rty
V
a
lu
e
A
d
E
l
e
m
e
nt
P
os
i
t
i
on
W
he
r
e
t
he
c
los
e
b
utton
a
pp
ea
rs
on
t
he
s
c
r
ee
n
.
R
e
m
a
r
k
s
A
llow
ed
v
a
lu
e
s
:
T
op
L
ef
t
,
T
op
R
igh
t
.
D
efa
ult
i
s
T
op
R
igh
t
.
S
e
ts
t
he
e
n
d
po
i
nt
ID
f
or
t
he
ad
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
U
n
i
qu
e
e
n
d
po
i
nt
ide
nt
ifie
r
ge
n
e
r
a
t
ed
on
t
he
A
ppsto
ck
pl
a
t
f
orm
ʼ
s
U
I
.
G
e
ts
if
ad
ha
s
lo
aded
.
P
rop
e
rty
V
a
lu
e
b
ool
C
los
e
B
utton
P
os
i
t
i
on
public AdElementPosition CloseButtonPosition { set; }
E
n
d
po
i
nt
ID
public string? EndpointID { set; }
L
o
aded
public bool Loaded { get; }
138 / 257
true
if
ad
ha
s
su
cce
ss
f
ully
lo
aded
,
false
ot
he
rw
i
s
e
.
S
e
ts
if
ad
i
s
to
be
mut
ed
.
P
rop
e
rty
V
a
lu
e
b
ool
true
if
mut
ed
,
false
ot
he
rw
i
s
e
.
S
e
ts
t
he
pl
ace
m
e
nt
ID
f
or
t
he
ad
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
U
n
i
qu
e
pl
ace
m
e
nt
ide
nt
ifie
r
ge
n
e
r
a
t
ed
on
t
he
A
ppsto
ck
pl
a
t
f
orm
ʼ
s
U
I
.
S
e
ts
s
ki
p
b
utton
a
r
ea
fac
tor
.
P
rop
e
rty
V
a
lu
e
d
ou
b
l
e
t
he
p
e
r
ce
nt
age
o
f
t
he
de
v
ice
s
c
r
ee
n
t
ha
t
t
he
s
ki
p
b
utton
s
h
oul
d
c
ov
e
r
.
M
ut
ed
public bool Muted { set; }
P
l
ace
m
e
nt
ID
public string? PlacementID { set; }
S
ki
p
B
utton
A
r
ea
public double SkipButtonArea { set; }
139 / 257
R
e
m
a
r
k
s
A
llow
ed
r
a
n
ge
-
0...1
.
D
efa
ult
v
a
lu
e
i
s
~
0.1
.
S
e
ts
pos
i
t
i
on
o
f
t
he
s
ki
p
b
utton
.
P
rop
e
rty
V
a
lu
e
A
d
E
l
e
m
e
nt
P
os
i
t
i
on
W
he
r
e
t
he
s
ki
p
b
utton
a
pp
ea
rs
on
t
he
s
c
r
ee
n
.
R
e
m
a
r
k
s
A
llow
ed
v
a
lu
e
s
:
T
op
L
ef
t
,
T
op
R
igh
t
.
D
efa
ult
i
s
T
op
R
igh
t
.
S
e
ts
s
ki
p
b
utton
a
pp
ea
r
i
n
g
de
l
a
y
f
or
t
he
ad
.
P
rop
e
rty
V
a
lu
e
i
nt
N
um
be
r
o
f
s
ec
on
d
s
af
t
e
r
t
he
st
a
rt
o
f
pl
a
y
back
bef
or
e
t
he
s
ki
p
or
c
los
e
b
utton
s
h
oul
d
a
pp
ea
r
.
R
e
m
a
r
k
s
D
efa
ult
v
a
lu
e
i
s
~
10.0
.
S
ki
p
B
utton
P
os
i
t
i
on
public AdElementPosition SkipButtonPosition { set; }
S
ki
p
D
e
l
a
y
public int SkipDelay { set; }
140 / 257
S
e
ts
if
Mute
b
utton
i
s
v
i
s
ib
l
e
w
he
n
t
he
ad
i
s
on
di
spl
a
y
.
P
rop
e
rty
V
a
lu
e
b
ool
true
if
v
i
s
ib
l
e
,
false
ot
he
rw
i
s
e
.
M
e
t
h
o
d
s
P
e
r
f
orms
a
ppl
ica
t
i
on
-
defi
n
ed
t
a
s
k
s
a
sso
cia
t
ed
w
i
t
h
f
r
eei
n
g
,
r
e
l
ea
s
i
n
g
,
or
r
e
s
e
tt
i
n
g
unm
a
n
aged
r
e
sour
ce
s
.
R
e
l
ea
s
e
s
t
he
unm
a
n
aged
r
e
sour
ce
s
us
ed
b
y
t
he
c
l
a
ss
a
n
d
opt
i
on
a
lly
r
e
l
ea
s
e
s
t
he
m
a
n
aged
r
e
sour
ce
s
.
P
a
r
a
m
e
t
e
rs
disposing
b
ool
true
to
r
e
l
ea
s
e
b
ot
h
m
a
n
aged
a
n
d
unm
a
n
aged
r
e
sour
ce
s
;
false
to
r
e
l
ea
s
e
only
unm
a
n
aged
r
e
sour
ce
s
.
S
oun
d
B
utton
V
i
s
ib
l
e
public bool SoundButtonVisible { set; }
D
i
spos
e
()
public void Dispose()
D
i
spos
e
(
b
ool
)
protected virtual void Dispose(bool disposing)
~
I
nt
e
rst
i
t
ia
l
A
d
()
141 / 257
L
o
ad
t
he
c
ont
e
nt
o
f
t
he
ad
.
S
h
ow
t
he
ad
on
s
c
r
ee
n
.
P
a
r
a
m
e
t
e
rs
actionOnUIThread
A
c
t
i
on
S
om
e
t
hi
n
g
you
w
a
nt
to
e
x
ec
ut
e
i
mm
edia
t
e
ly
w
he
n
t
he
ad
i
s
bei
n
g
added
to
t
he
s
c
r
ee
n
actionOnUIThread
i
s
i
nvo
ked
on
NA
T
I
V
E
U
I
T
HREAD
w
hich
MA
Y
DIFFER
f
rom
U
NI
TY
'
S MAIN
T
HREAD
.
E
v
e
nts
F
i
r
ed
w
he
n
ad
w
a
s
c
l
icked
on
.
E
v
e
nt
T
yp
e
A
c
t
i
on
protected ~InterstitialAd()
L
o
ad
A
d
()
public void LoadAd()
S
h
ow
(
A
c
t
i
on
?)
public void Show(Action? actionOnUIThread = null)
O
n
A
d
C
l
icked
public event Action? OnAdClicked
142 / 257
F
i
r
ed
w
he
n
ad
w
a
s
c
los
ed
(
f
rom
f
ulls
c
r
ee
n
mo
de
).
E
v
e
nt
T
yp
e
A
c
t
i
on
F
i
r
ed
w
he
n
ad
did
a
pp
ea
r
on
s
c
r
ee
n
.
E
v
e
nt
T
yp
e
A
c
t
i
on
F
i
r
ed
w
he
n
ad
fai
l
ed
to
lo
ad
.
E
v
e
nt
T
yp
e
A
c
t
i
on
<
A
d
E
rror
?>
F
i
r
ed
w
he
n
ad
fi
n
i
s
hed
lo
adi
n
g
.
O
n
A
d
C
los
ed
public event Action? OnAdClosed
O
n
A
d
D
i
spl
a
y
ed
public event Action? OnAdDisplayed
O
n
A
d
F
ai
l
ed
public event Action<AdError?>? OnAdFailed
O
n
A
d
L
o
aded
public event Action<AdInfo?>? OnAdLoaded
143 / 257
E
v
e
nt
T
yp
e
A
c
t
i
on
<
A
d
I
n
f
o
?>
144 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
T
he
de
s
i
r
ed
v
e
r
b
os
i
ty
o
f
lo
g
s
b
y
n
a
t
i
v
e
l
ib
r
a
ry
.
F
ie
l
d
s
Debug = 3
E
rrors
,
w
a
rn
i
n
g
s
a
n
d
deb
u
g
.
Error = 1
E
rrors
only
.
None = 0
N
o
lo
g
s
.
Warning = 2
E
rrors
a
n
d
w
a
rn
i
n
g
s
.
S
ee
A
lso
L
o
g
L
e
v
e
l
lo
g
L
e
v
e
l
lo
g
L
e
v
e
l
E
num
L
o
g
L
e
v
e
l
public enum LogLevel
145 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
R
e
pr
e
s
e
nts
bool?
--
i
.
e
.
N
ull
ab
l
e
<
T
>
o
f
b
ool
--
t
ha
t
ca
n
be
true
,
false
or
null
.
E
xt
e
ns
i
on
M
e
t
h
o
d
s
O
pt
i
on
a
l
B
ool
E
xt
e
ns
i
ons
.
I
s
T
ru
e
(
O
pt
i
on
a
l
B
ool
)
,
O
pt
i
on
a
l
B
ool
E
xt
e
ns
i
ons
.
T
o
N
ull
ab
l
e
B
ool
(
O
pt
i
on
a
l
B
ool
)
F
ie
l
d
s
False = 1
false
NotAssigned = 0
null
True = 2
true
E
num
O
pt
i
on
a
l
B
ool
[Serializable]
public enum OptionalBool
146 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
E
xt
e
ns
i
ons
f
or
O
pt
i
on
a
l
B
ool
.
I
n
he
r
i
t
a
n
ce
o
bjec
t
O
pt
i
on
a
l
B
ool
E
xt
e
ns
i
ons
I
n
he
r
i
t
ed
M
e
m
be
rs
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
)
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
H
a
s
h
C
o
de
()
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
M
e
m
be
rw
i
s
e
C
lon
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
T
o
S
tr
i
n
g
()
M
e
t
h
o
d
s
C
heck
s
if
O
pt
i
on
a
l
B
ool
i
s
T
ru
e
.
P
a
r
a
m
e
t
e
rs
value
O
pt
i
on
a
l
B
ool
O
pt
i
on
a
l
B
ool
to
check
.
R
e
turns
b
ool
true
if
value
i
s
T
ru
e
,
false
ot
he
rw
i
s
e
.
C
l
a
ss
O
pt
i
on
a
l
B
ool
E
xt
e
ns
i
ons
public static class OptionalBoolExtensions
I
s
T
ru
e
(
O
pt
i
on
a
l
B
ool
)
public static bool IsTrue(this OptionalBool value)
147 / 257
C
onv
e
rts
O
pt
i
on
a
l
B
ool
to
a
N
ull
ab
l
e
<
T
>
o
f
b
ool
.
P
a
r
a
m
e
t
e
rs
value
O
pt
i
on
a
l
B
ool
T
he
O
pt
i
on
a
l
B
ool
to
c
onv
e
rt
.
R
e
turns
b
ool
?
T
he
c
onv
e
rt
ed
N
ull
ab
l
e
<
T
>
o
f
b
ool
.
C
onv
e
rts
N
ull
ab
l
e
<
T
>
o
f
b
ool
to
a
n
O
pt
i
on
a
l
B
ool
.
P
a
r
a
m
e
t
e
rs
value
b
ool
?
T
he
N
ull
ab
l
e
<
T
>
o
f
b
ool
to
c
onv
e
rt
.
R
e
turns
O
pt
i
on
a
l
B
ool
T
he
c
onv
e
rt
ed
O
pt
i
on
a
l
B
ool
.
T
o
N
ull
ab
l
e
B
ool
(
O
pt
i
on
a
l
B
ool
)
public static bool? ToNullableBool(this OptionalBool value)
T
o
O
pt
i
on
a
l
B
ool
(
b
ool
?)
public static OptionalBool ToOptionalBool(this bool? value)
148 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
A
p
i
.
d
ll
R
e
w
a
r
ded
ad
s
r
e
w
a
r
d
us
e
rs
w
i
t
h
i
n
-
a
pp
i
t
e
ms
f
or
i
nt
e
r
ac
t
i
n
g
w
i
t
h
v
ide
o
ad
s
,
pl
a
y
ab
l
e
ad
s
,
or
surv
e
ys
.
I
n
he
r
i
t
a
n
ce
o
bjec
t
R
e
w
a
r
ded
A
d
I
mpl
e
m
e
nts
IR
e
w
a
r
ded
A
d
,
ID
i
spos
ab
l
e
,
IA
d
U
n
i
t
,
IM
ult
if
orm
a
tt
ed
A
d
,
IR
e
s
i
z
ab
l
e
A
d
,
IM
ut
eab
l
e
A
d
,
IC
los
eab
l
e
A
d
,
IM
o
da
l
A
d
,
IL
o
adab
l
e
A
d
,
IA
d
E
v
e
nt
S
our
ce
,
IM
o
da
l
A
d
E
v
e
nt
S
our
ce
,
IR
e
w
a
r
di
n
g
A
d
E
v
e
nt
S
our
ce
I
n
he
r
i
t
ed
M
e
m
be
rs
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
)
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
H
a
s
h
C
o
de
()
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
M
e
m
be
rw
i
s
e
C
lon
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
T
o
S
tr
i
n
g
()
C
onstru
c
tors
I
n
i
t
ia
l
i
z
e
s
a
n
e
w
i
nst
a
n
ce
o
f
t
he
R
e
w
a
r
ded
A
d
c
l
a
ss
.
P
rop
e
rt
ie
s
S
e
ts
ad
s
i
z
e
s
f
or
t
he
ad
.
C
l
a
ss
R
e
w
a
r
ded
A
d
public class RewardedAd : IRewardedAd, IDisposable, IAdUnit, IMultiformattedAd,
IResizableAd, IMuteableAd, ICloseableAd, IModalAd, ILoadableAd, IAdEventSource,
IModalAdEventSource, IRewardingAdEventSource
R
e
w
a
r
ded
A
d
()
public RewardedAd()
A
d
S
i
z
e
s
149 / 257
P
rop
e
rty
V
a
lu
e
IE
num
e
r
ab
l
e
<
A
d
S
i
z
e
>
S
i
z
e
s
t
ha
t
ad
'
s
c
ont
e
nt
m
a
y
t
ake
.
S
e
ts
f
orm
a
ts
f
or
t
he
ad
un
i
t
.
P
rop
e
rty
V
a
lu
e
IE
num
e
r
ab
l
e
<
A
d
F
orm
a
t
>
A
d
f
orm
a
ts
t
ha
t
a
r
e
a
llow
ed
i
nto
t
he
ad
.
S
e
ts
c
los
e
b
utton
a
r
ea
fac
tor
.
P
rop
e
rty
V
a
lu
e
d
ou
b
l
e
t
he
p
e
r
ce
nt
age
o
f
t
he
de
v
ice
s
c
r
ee
n
t
ha
t
t
he
c
los
e
b
utton
s
h
oul
d
c
ov
e
r
.
R
e
m
a
r
k
s
A
llow
ed
r
a
n
ge
-
0...1
.
D
efa
ult
v
a
lu
e
i
s
~
0.1
.
public IEnumerable<AdSize> AdSizes { set; }
A
d
U
n
i
t
F
orm
a
ts
public IEnumerable<AdFormat> AdUnitFormats { set; }
C
los
e
B
utton
A
r
ea
public double CloseButtonArea { set; }
150 / 257
S
e
ts
pos
i
t
i
on
o
f
t
he
c
los
e
b
utton
.
P
rop
e
rty
V
a
lu
e
A
d
E
l
e
m
e
nt
P
os
i
t
i
on
W
he
r
e
t
he
c
los
e
b
utton
a
pp
ea
rs
on
t
he
s
c
r
ee
n
.
R
e
m
a
r
k
s
A
llow
ed
v
a
lu
e
s
:
T
op
L
ef
t
,
T
op
R
igh
t
.
D
efa
ult
i
s
T
op
R
igh
t
.
S
e
ts
t
he
e
n
d
po
i
nt
ID
f
or
t
he
ad
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
U
n
i
qu
e
e
n
d
po
i
nt
ide
nt
ifie
r
ge
n
e
r
a
t
ed
on
t
he
A
ppsto
ck
pl
a
t
f
orm
ʼ
s
U
I
.
G
e
ts
if
ad
ha
s
lo
aded
.
P
rop
e
rty
V
a
lu
e
b
ool
C
los
e
B
utton
P
os
i
t
i
on
public AdElementPosition CloseButtonPosition { set; }
E
n
d
po
i
nt
ID
public string? EndpointID { set; }
L
o
aded
public bool Loaded { get; }
151 / 257
true
if
ad
ha
s
su
cce
ss
f
ully
lo
aded
,
false
ot
he
rw
i
s
e
.
S
e
ts
if
ad
i
s
to
be
mut
ed
.
P
rop
e
rty
V
a
lu
e
b
ool
true
if
mut
ed
,
false
ot
he
rw
i
s
e
.
S
e
ts
t
he
pl
ace
m
e
nt
ID
f
or
t
he
ad
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
U
n
i
qu
e
pl
ace
m
e
nt
ide
nt
ifie
r
ge
n
e
r
a
t
ed
on
t
he
A
ppsto
ck
pl
a
t
f
orm
ʼ
s
U
I
.
S
e
ts
if
Mute
b
utton
i
s
v
i
s
ib
l
e
w
he
n
t
he
ad
i
s
on
di
spl
a
y
.
P
rop
e
rty
V
a
lu
e
b
ool
true
if
v
i
s
ib
l
e
,
false
ot
he
rw
i
s
e
.
M
ut
ed
public bool Muted { set; }
P
l
ace
m
e
nt
ID
public string? PlacementID { set; }
S
oun
d
B
utton
V
i
s
ib
l
e
public bool SoundButtonVisible { set; }
152 / 257
M
e
t
h
o
d
s
P
e
r
f
orms
a
ppl
ica
t
i
on
-
defi
n
ed
t
a
s
k
s
a
sso
cia
t
ed
w
i
t
h
f
r
eei
n
g
,
r
e
l
ea
s
i
n
g
,
or
r
e
s
e
tt
i
n
g
unm
a
n
aged
r
e
sour
ce
s
.
R
e
l
ea
s
e
s
t
he
unm
a
n
aged
r
e
sour
ce
s
us
ed
b
y
t
he
c
l
a
ss
a
n
d
opt
i
on
a
lly
r
e
l
ea
s
e
s
t
he
m
a
n
aged
r
e
sour
ce
s
.
P
a
r
a
m
e
t
e
rs
disposing
b
ool
true
to
r
e
l
ea
s
e
b
ot
h
m
a
n
aged
a
n
d
unm
a
n
aged
r
e
sour
ce
s
;
false
to
r
e
l
ea
s
e
only
unm
a
n
aged
r
e
sour
ce
s
.
L
o
ad
t
he
c
ont
e
nt
o
f
t
he
ad
.
S
h
ow
t
he
ad
on
s
c
r
ee
n
.
D
i
spos
e
()
public void Dispose()
D
i
spos
e
(
b
ool
)
protected virtual void Dispose(bool disposing)
~
R
e
w
a
r
ded
A
d
()
protected ~RewardedAd()
L
o
ad
A
d
()
public void LoadAd()
S
h
ow
(
A
c
t
i
on
?)
153 / 257
P
a
r
a
m
e
t
e
rs
actionOnUIThread
A
c
t
i
on
S
om
e
t
hi
n
g
you
w
a
nt
to
e
x
ec
ut
e
i
mm
edia
t
e
ly
w
he
n
t
he
ad
i
s
bei
n
g
added
to
t
he
s
c
r
ee
n
actionOnUIThread
i
s
i
nvo
ked
on
NA
T
I
V
E
U
I
T
HREAD
w
hich
MA
Y
DIFFER
f
rom
U
NI
TY
'
S MAIN
T
HREAD
.
E
v
e
nts
F
i
r
ed
w
he
n
ad
w
a
s
c
l
icked
on
.
E
v
e
nt
T
yp
e
A
c
t
i
on
F
i
r
ed
w
he
n
ad
w
a
s
c
los
ed
(
f
rom
f
ulls
c
r
ee
n
mo
de
).
E
v
e
nt
T
yp
e
A
c
t
i
on
F
i
r
ed
w
he
n
ad
did
a
pp
ea
r
on
s
c
r
ee
n
.
public void Show(Action? actionOnUIThread = null)
O
n
A
d
C
l
icked
public event Action? OnAdClicked
O
n
A
d
C
los
ed
public event Action? OnAdClosed
O
n
A
d
D
i
spl
a
y
ed
154 / 257
E
v
e
nt
T
yp
e
A
c
t
i
on
F
i
r
ed
w
he
n
ad
fai
l
ed
to
lo
ad
.
E
v
e
nt
T
yp
e
A
c
t
i
on
<
A
d
E
rror
?>
F
i
r
ed
w
he
n
ad
fi
n
i
s
hed
lo
adi
n
g
.
E
v
e
nt
T
yp
e
A
c
t
i
on
<
A
d
I
n
f
o
?>
F
i
r
ed
w
he
n
us
e
r
de
s
e
rv
ed
t
he
r
e
w
a
r
d
.
E
v
e
nt
T
yp
e
A
c
t
i
on
<
A
d
R
e
w
a
r
d
?>
public event Action? OnAdDisplayed
O
n
A
d
F
ai
l
ed
public event Action<AdError?>? OnAdFailed
O
n
A
d
L
o
aded
public event Action<AdInfo?>? OnAdLoaded
O
n
R
e
w
a
r
d
public event Action<AdReward?>? OnReward
155 / 257
156 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
D
a
t
a
c
ont
ai
n
e
r
f
or
wr
i
t
eab
l
e
prop
e
rt
ie
s
o
f
IS
dk
P
roxy
.
I
n
he
r
i
t
a
n
ce
o
bjec
t
S
dk
C
on
fig
I
n
he
r
i
t
ed
M
e
m
be
rs
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
)
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
H
a
s
h
C
o
de
()
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
M
e
m
be
rw
i
s
e
C
lon
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
T
o
S
tr
i
n
g
()
R
e
m
a
r
k
s
F
or
e
xpos
i
n
g
c
ontrols
v
ia
U
n
i
ty
E
di
tor
.
F
ie
l
d
s
G
e
ts
or
s
e
ts
t
i
m
e
out
f
or
c
r
ea
t
i
v
e
r
e
qu
e
sts
.
F
ie
l
d
V
a
lu
e
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
f
lo
a
t
>
T
he
t
i
m
e
i
nt
e
rv
a
l
a
llow
ed
f
or
a
c
r
ea
t
i
v
e
to
lo
ad
bef
or
e
i
t
i
s
c
ons
ide
r
ed
a
fai
lur
e
.
R
e
m
a
r
k
s
I
n
s
ec
on
d
s
S
ee
A
lso
A
d
R
e
qu
e
st
T
i
m
e
out
C
l
a
ss
S
dk
C
on
fig
[Serializable]
public class SdkConfig
ad
R
e
qu
e
st
T
i
m
e
out
[Tooltip("The time interval allowed for a creative to load before it is considered
a failure.")]
public SerializableOptional<float> adRequestTimeout
157 / 257
G
e
ts
or
s
e
ts
t
i
m
e
out
f
or
v
ide
o
a
n
d
i
nt
e
rst
i
t
ia
l
c
r
ea
tv
e
s
.
F
ie
l
d
V
a
lu
e
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
f
lo
a
t
>
T
he
t
i
m
e
i
nt
e
rv
a
l
a
llow
ed
f
or
v
ide
o
a
n
d
i
nt
e
rst
i
t
ia
l
c
r
ea
t
i
v
e
s
to
lo
ad
.
R
e
m
a
r
k
s
I
n
s
ec
on
d
s
S
ee
A
lso
A
d
R
e
qu
e
st
T
i
m
e
out
P
r
e
R
e
n
de
r
C
ont
e
nt
G
e
ts
or
s
e
ts
w
he
t
he
r
t
he
a
ss
e
t
ID
f
or
n
a
t
i
v
e
ad
s
s
h
oul
d
be
m
a
nu
a
lly
a
ss
ig
n
ed
.
F
ie
l
d
V
a
lu
e
O
pt
i
on
a
l
B
ool
true
if
ID
s
s
h
oul
d
be
a
ss
ig
n
ed
a
utom
a
t
ica
lly
,
false
if
m
a
nu
a
lly
.
S
ee
A
lso
A
ss
ig
n
N
a
t
i
v
e
A
ss
e
t
ID
G
e
ts
or
s
e
ts
deb
u
g
mo
de
f
or
r
e
qu
e
sts
.
ad
R
e
qu
e
st
T
i
m
e
out
P
r
e
R
e
n
de
r
C
ont
e
nt
[Tooltip("The time interval allowed for video and interstitial creatives to load.")]
public SerializableOptional<float> adRequestTimeoutPreRenderContent
a
ss
ig
n
N
a
t
i
v
e
A
ss
e
t
ID
[Tooltip("Determines whether the asset ID for native ads should be manually assigned.")]
public OptionalBool assignNativeAssetID
deb
u
g
R
e
qu
e
sts
[Tooltip("Enables or disables debug mode for requests.")]
public OptionalBool debugRequests
158 / 257
F
ie
l
d
V
a
lu
e
O
pt
i
on
a
l
B
ool
true
if
deb
u
g
mo
de
i
s
e
n
ab
l
ed
,
false
ot
he
rw
i
s
e
S
ee
A
lso
D
eb
u
g
R
e
qu
e
sts
G
e
ts
or
s
e
ts
e
n
d
po
i
nt
ID
f
or
ad
s
.
F
ie
l
d
V
a
lu
e
str
i
n
g
A
un
i
qu
e
ide
nt
ifie
r
ge
n
e
r
a
t
ed
on
t
he
pl
a
t
f
orm
ʼ
s
U
I
.
S
ee
A
lso
E
n
d
po
i
nt
ID
G
e
ts
or
s
e
ts
e
xt
e
rn
a
l
ID
s
o
f
t
he
us
e
r
.
F
ie
l
d
V
a
lu
e
L
i
st
<
E
xt
e
rn
a
l
U
s
e
r
ID
>
E
xt
e
rn
a
l
ID
s
o
f
t
he
us
e
r
t
ha
t
c
oul
d
be
us
ed
f
or
ad
t
a
r
ge
t
i
n
g
.
R
e
m
a
r
k
s
S
ee
h
ttps
://
gi
t
h
u
b
.
c
om
/
I
nt
e
r
ac
t
i
v
e
A
d
v
e
rt
i
s
i
n
g
B
ur
ea
u
/
op
e
nrt
b
/
b
lo
b
/
m
ai
n
/
e
xt
e
ns
i
ons
/2.
x
_
o
fficia
l
_
e
xt
e
ns
i
ons
/
eid
s
.
m
d
e
n
d
po
i
nt
ID
[Tooltip("A unique identifier generated on the platform’s UI.")]
public string? endpointID
e
xt
e
rn
a
l
U
s
e
r
I
d
s
[Tooltip("External IDs of the user that could be used for ad targeting.")]
public List<ExternalUserID>? externalUserIds
159 / 257
S
ee
A
lso
E
xt
e
rn
a
l
U
s
e
r
ID
,
E
xt
e
rn
a
l
U
s
e
r
I
d
s
,
E
xt
e
rn
a
l
U
s
e
r
I
d
s
G
e
ts
or
s
e
ts
t
he
lo
g
l
e
v
e
l
f
or
n
a
t
i
v
e
l
ib
r
a
ry
.
F
ie
l
d
V
a
lu
e
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
L
o
g
L
e
v
e
l
>
T
he
de
s
i
r
ed
v
e
r
b
os
i
ty
o
f
t
he
lo
g
s
.
S
ee
A
lso
L
o
g
L
e
v
e
l
G
e
ts
or
s
e
ts
r
e
qu
e
st
t
i
m
e
out
.
F
ie
l
d
V
a
lu
e
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
f
lo
a
t
>
T
he
t
i
m
e
out
f
or
ad
r
e
qu
e
sts
.
R
e
m
a
r
k
s
I
n
s
ec
on
d
s
S
ee
A
lso
T
i
m
e
out
lo
g
L
e
v
e
l
[Tooltip("Sets the desired verbosity of the logs.")]
public SerializableOptional<LogLevel> logLevel
t
i
m
e
out
[Header("Timeouts in seconds")]
[Tooltip("The timeout for ad requests.")]
public SerializableOptional<float> timeout
160 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
D
a
t
a
c
ont
ai
n
e
r
f
or
r
eadab
l
e
prop
e
rt
ie
s
o
f
IS
dk
P
roxy
.
I
n
he
r
i
t
a
n
ce
o
bjec
t
S
dk
C
on
fig
S
n
a
ps
h
ot
I
mpl
e
m
e
nts
IE
qu
a
t
ab
l
e
<
S
dk
C
on
fig
S
n
a
ps
h
ot
>,
IE
qu
a
t
ab
l
e
<
S
dk
C
on
fig
>
I
n
he
r
i
t
ed
M
e
m
be
rs
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
M
e
m
be
rw
i
s
e
C
lon
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
T
o
S
tr
i
n
g
()
R
e
m
a
r
k
s
T
o
s
i
mpl
if
y
lo
ggi
n
g
t
he
st
a
t
e
.
C
onstru
c
tors
C
oll
ec
ts
a
ll
r
eadab
l
e
prop
e
rt
ie
s
f
rom
sdkProxy
.
P
a
r
a
m
e
t
e
rs
sdkProxy
IS
dk
P
roxy
P
roxy
to
ge
t
prop
e
rt
ie
s
f
rom
.
F
ie
l
d
s
C
l
a
ss
S
dk
C
on
fig
S
n
a
ps
h
ot
[Serializable]
public class SdkConfigSnapshot : IEquatable<SdkConfigSnapshot>, IEquatable<SdkConfig>
S
dk
C
on
fig
S
n
a
ps
h
ot
(
IS
dk
P
roxy
)
public SdkConfigSnapshot(ISdkProxy sdkProxy)
ad
R
e
qu
e
st
T
i
m
e
out
S
ec
on
d
s
161 / 257
G
e
ts
or
s
e
ts
t
i
m
e
out
f
or
c
r
ea
t
i
v
e
r
e
qu
e
sts
.
F
ie
l
d
V
a
lu
e
d
ou
b
l
e
T
he
t
i
m
e
i
nt
e
rv
a
l
a
llow
ed
f
or
a
c
r
ea
t
i
v
e
to
lo
ad
bef
or
e
i
t
i
s
c
ons
ide
r
ed
a
fai
lur
e
.
R
e
m
a
r
k
s
I
n
s
ec
on
d
s
S
ee
A
lso
A
d
R
e
qu
e
st
T
i
m
e
out
G
e
ts
or
s
e
ts
t
i
m
e
out
f
or
v
ide
o
a
n
d
i
nt
e
rst
i
t
ia
l
c
r
ea
tv
e
s
.
F
ie
l
d
V
a
lu
e
d
ou
b
l
e
T
he
t
i
m
e
i
nt
e
rv
a
l
a
llow
ed
f
or
v
ide
o
a
n
d
i
nt
e
rst
i
t
ia
l
c
r
ea
t
i
v
e
s
to
lo
ad
.
R
e
m
a
r
k
s
I
n
s
ec
on
d
s
S
ee
A
lso
A
d
R
e
qu
e
st
T
i
m
e
out
P
r
e
R
e
n
de
r
C
ont
e
nt
G
e
ts
or
s
e
ts
w
he
t
he
r
t
he
a
ss
e
t
ID
f
or
n
a
t
i
v
e
ad
s
s
h
oul
d
be
m
a
nu
a
lly
a
ss
ig
n
ed
.
public double adRequestTimeoutSeconds
ad
R
e
qu
e
st
T
i
m
e
out
S
ec
on
d
s
P
r
e
R
e
n
de
r
C
ont
e
nt
public double adRequestTimeoutSecondsPreRenderContent
a
ss
ig
n
N
a
t
i
v
e
A
ss
e
t
ID
public bool assignNativeAssetID
162 / 257
F
ie
l
d
V
a
lu
e
b
ool
true
if
ID
s
s
h
oul
d
be
a
ss
ig
n
ed
a
utom
a
t
ica
lly
,
false
if
m
a
nu
a
lly
.
S
ee
A
lso
A
ss
ig
n
N
a
t
i
v
e
A
ss
e
t
ID
G
e
ts
or
s
e
ts
deb
u
g
mo
de
f
or
r
e
qu
e
sts
.
F
ie
l
d
V
a
lu
e
b
ool
true
if
deb
u
g
mo
de
i
s
e
n
ab
l
ed
,
false
ot
he
rw
i
s
e
S
ee
A
lso
D
eb
u
g
R
e
qu
e
sts
G
e
ts
or
s
e
ts
e
xt
e
rn
a
l
ID
s
o
f
t
he
us
e
r
.
F
ie
l
d
V
a
lu
e
L
i
st
<
E
xt
e
rn
a
l
U
s
e
r
ID
>
E
xt
e
rn
a
l
ID
s
o
f
t
he
us
e
r
t
ha
t
c
oul
d
be
us
ed
f
or
ad
t
a
r
ge
t
i
n
g
.
R
e
m
a
r
k
s
S
ee
h
ttps
://
gi
t
h
u
b
.
c
om
/
I
nt
e
r
ac
t
i
v
e
A
d
v
e
rt
i
s
i
n
g
B
ur
ea
u
/
op
e
nrt
b
/
b
lo
b
/
m
ai
n
/
e
xt
e
ns
i
ons
/2.
x
_
o
fficia
l
_
e
xt
e
ns
i
ons
/
eid
s
.
m
d
S
ee
A
lso
deb
u
g
R
e
qu
e
sts
public bool debugRequests
e
xt
e
rn
a
l
U
s
e
r
I
d
s
public List<ExternalUserID> externalUserIds
163 / 257
E
xt
e
rn
a
l
U
s
e
r
ID
,
E
xt
e
rn
a
l
U
s
e
r
I
d
s
,
E
xt
e
rn
a
l
U
s
e
r
I
d
s
G
e
ts
or
s
e
ts
t
he
lo
g
l
e
v
e
l
f
or
n
a
t
i
v
e
l
ib
r
a
ry
.
F
ie
l
d
V
a
lu
e
L
o
g
L
e
v
e
l
T
he
de
s
i
r
ed
v
e
r
b
os
i
ty
o
f
t
he
lo
g
s
.
S
ee
A
lso
L
o
g
L
e
v
e
l
G
e
ts
t
he
OM SDK
v
e
rs
i
on
.
F
ie
l
d
V
a
lu
e
str
i
n
g
T
he
v
e
rs
i
on
o
f
n
a
t
i
v
e
OM SDK
l
ib
r
a
ry
.
S
ee
A
lso
O
m
S
dk
V
e
rs
i
on
G
e
ts
t
he
SDK
v
e
rs
i
on
.
F
ie
l
d
V
a
lu
e
str
i
n
g
lo
g
L
e
v
e
l
public LogLevel logLevel
om
S
dk
V
e
rs
i
on
public string? omSdkVersion
s
dk
V
e
rs
i
on
public string? sdkVersion
164 / 257
T
he
v
e
rs
i
on
o
f
n
a
t
i
v
e
SDK
l
ib
r
a
ry
.
S
ee
A
lso
S
dk
V
e
rs
i
on
G
e
ts
or
s
e
ts
r
e
qu
e
st
t
i
m
e
out
.
F
ie
l
d
V
a
lu
e
d
ou
b
l
e
T
he
t
i
m
e
out
f
or
ad
r
e
qu
e
sts
.
R
e
m
a
r
k
s
I
n
s
ec
on
d
s
S
ee
A
lso
T
i
m
e
out
M
e
t
h
o
d
s
I
n
dica
t
e
s
w
he
t
he
r
t
he
c
urr
e
nt
o
bjec
t
i
s
e
qu
a
l
to
a
not
he
r
o
bjec
t
o
f
t
he
s
a
m
e
typ
e
.
P
a
r
a
m
e
t
e
rs
other
S
dk
C
on
fig
A
n
o
bjec
t
to
c
omp
a
r
e
w
i
t
h
t
hi
s
o
bjec
t
.
R
e
turns
b
ool
tru
e
if
t
he
c
urr
e
nt
o
bjec
t
i
s
e
qu
a
l
to
t
he
other
p
a
r
a
m
e
t
e
r
;
ot
he
rw
i
s
e
,
fa
ls
e
.
t
i
m
e
out
S
ec
on
d
s
public double timeoutSeconds
E
qu
a
ls
(
S
dk
C
on
fig
)
public bool Equals(SdkConfig other)
165 / 257
I
n
dica
t
e
s
w
he
t
he
r
t
he
c
urr
e
nt
o
bjec
t
i
s
e
qu
a
l
to
a
not
he
r
o
bjec
t
o
f
t
he
s
a
m
e
typ
e
.
P
a
r
a
m
e
t
e
rs
other
S
dk
C
on
fig
S
n
a
ps
h
ot
A
n
o
bjec
t
to
c
omp
a
r
e
w
i
t
h
t
hi
s
o
bjec
t
.
R
e
turns
b
ool
tru
e
if
t
he
c
urr
e
nt
o
bjec
t
i
s
e
qu
a
l
to
t
he
other
p
a
r
a
m
e
t
e
r
;
ot
he
rw
i
s
e
,
fa
ls
e
.
D
e
t
e
rm
i
n
e
s
w
he
t
he
r
t
he
sp
ecified
o
bjec
t
i
s
e
qu
a
l
to
t
he
c
urr
e
nt
o
bjec
t
.
P
a
r
a
m
e
t
e
rs
obj
o
bjec
t
T
he
o
bjec
t
to
c
omp
a
r
e
w
i
t
h
t
he
c
urr
e
nt
o
bjec
t
.
R
e
turns
b
ool
tru
e
if
t
he
sp
ecified
o
bjec
t
i
s
e
qu
a
l
to
t
he
c
urr
e
nt
o
bjec
t
;
ot
he
rw
i
s
e
,
fa
ls
e
.
S
e
rv
e
s
a
s
t
he
defa
ult
ha
s
h
f
un
c
t
i
on
.
E
qu
a
ls
(
S
dk
C
on
fig
S
n
a
ps
h
ot
)
public bool Equals(SdkConfigSnapshot other)
E
qu
a
ls
(
o
bjec
t
?)
public override bool Equals(object? obj)
G
e
t
H
a
s
h
C
o
de
()
public override int GetHashCode()
166 / 257
R
e
turns
i
nt
A
ha
s
h
c
o
de
f
or
t
he
c
urr
e
nt
o
bjec
t
.
S
ea
r
che
s
f
or
v
a
lu
e
diffe
r
e
n
ce
s
be
tw
ee
n
r
ead
a
n
d
wr
i
tt
e
n
c
on
fig
s
.
P
a
r
a
m
e
t
e
rs
other
S
dk
C
on
fig
R
efe
r
e
n
ce
c
on
fig
f
or
c
omp
a
r
i
n
g
t
he
sn
a
ps
h
ot
w
i
t
h
.
fieldsToIgnore
str
i
n
g
[]
W
ha
t
fie
l
d
s
s
h
oul
d
not
be
r
e
turn
ed
e
v
e
n
w
he
n
v
a
lu
e
s
diffe
r
.
R
e
turns
IE
num
e
r
ab
l
e
<
str
i
n
g
>
F
ie
l
d
(
prop
e
rty
)
n
a
m
e
s
.
O
cca
s
i
on
a
lly
w
i
t
h
addi
t
i
on
a
l
i
n
f
o
.
U
n
e
qu
a
l
F
ie
l
d
s
(
S
dk
C
on
fig
,
str
i
n
g
[]?)
public IEnumerable<string> UnequalFields(SdkConfig other, string[]? fieldsToIgnore = null)
167 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
E
xt
e
ns
i
on
m
e
t
h
o
d
s
f
or
IS
dk
P
roxy
.
I
n
he
r
i
t
a
n
ce
o
bjec
t
S
dk
P
roxy
E
xt
e
ns
i
ons
I
n
he
r
i
t
ed
M
e
m
be
rs
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
)
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
H
a
s
h
C
o
de
()
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
M
e
m
be
rw
i
s
e
C
lon
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
T
o
S
tr
i
n
g
()
M
e
t
h
o
d
s
S
e
ts
prop
e
rt
ie
s
i
n
sdkProxy
to
v
a
lu
e
s
t
ha
t
a
r
e
s
e
t
i
n
sdkConfig
.
P
a
r
a
m
e
t
e
rs
sdkProxy
IS
dk
P
roxy
P
roxy
to
s
e
t
prop
e
rt
ie
s
i
n
.
sdkConfig
S
dk
C
on
fig
S
e
r
ia
l
i
z
ab
l
e
c
ont
ai
n
e
r
o
f
v
a
lu
e
s
.
C
l
a
ss
S
dk
P
roxy
E
xt
e
ns
i
ons
public static class SdkProxyExtensions
A
pply
(
IS
dk
P
roxy
,
S
dk
C
on
fig
)
public static void Apply(this ISdkProxy sdkProxy, SdkConfig sdkConfig)
168 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
R
e
pr
e
s
e
nts
N
ull
ab
l
e
<
T
>
f
or
s
i
mpl
e
v
a
lu
e
typ
e
s
.
T
yp
e
P
a
r
a
m
e
t
e
rs
T
T
yp
e
o
f
pot
e
nt
ia
lly
c
ont
ai
n
ed
v
a
lu
e
.
I
mpl
e
m
e
nts
IE
qu
a
t
ab
l
e
<
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
T
>>
I
n
he
r
i
t
ed
M
e
m
be
rs
V
a
lu
e
T
yp
e
.
T
o
S
tr
i
n
g
()
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
R
e
m
a
r
k
s
C
ustom
prop
e
rty
d
r
a
w
e
r
i
n
c
lu
ded
.
F
ie
l
d
s
G
e
ts
or
s
e
ts
if
v
a
lu
e
i
s
pr
e
s
e
nt
.
F
ie
l
d
V
a
lu
e
b
ool
S
tru
c
t
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
T
>
[Serializable]
public struct SerializableOptional<T> : IEquatable<SerializableOptional<T>> where T
: struct
e
n
ab
l
ed
public bool enabled
169 / 257
true
if
v
a
lu
e
i
s
t
he
v
a
lu
e
o
f
w
h
ol
e
prop
e
rty
,
false
if
t
he
w
h
ol
e
prop
e
rty
i
s
null
.
G
e
ts
or
s
e
ts
v
a
lu
e
o
f
i
nt
e
rn
a
l
c
ont
ai
n
e
r
.
F
ie
l
d
V
a
lu
e
T
V
a
lu
e
c
ont
ai
n
e
r
f
or
w
he
n
e
n
ab
l
ed
i
s
true
.
R
e
m
a
r
k
s
I
g
nor
ed
if
e
n
ab
l
ed
i
s
false
.
M
e
t
h
o
d
s
I
n
dica
t
e
s
w
he
t
he
r
t
he
c
urr
e
nt
o
bjec
t
i
s
e
qu
a
l
to
a
not
he
r
o
bjec
t
o
f
t
he
s
a
m
e
typ
e
.
P
a
r
a
m
e
t
e
rs
other
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
T
>
A
n
o
bjec
t
to
c
omp
a
r
e
w
i
t
h
t
hi
s
o
bjec
t
.
R
e
turns
b
ool
tru
e
if
t
he
c
urr
e
nt
o
bjec
t
i
s
e
qu
a
l
to
t
he
other
p
a
r
a
m
e
t
e
r
;
ot
he
rw
i
s
e
,
fa
ls
e
.
v
a
lu
e
public T value
E
qu
a
ls
(
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
T
>)
public readonly bool Equals(SerializableOptional<T> other)
170 / 257
I
n
dica
t
e
s
w
he
t
he
r
t
hi
s
i
nst
a
n
ce
a
n
d
a
sp
ecified
o
bjec
t
a
r
e
e
qu
a
l
.
P
a
r
a
m
e
t
e
rs
obj
o
bjec
t
T
he
o
bjec
t
to
c
omp
a
r
e
w
i
t
h
t
he
c
urr
e
nt
i
nst
a
n
ce
.
R
e
turns
b
ool
tru
e
if
obj
a
n
d
t
hi
s
i
nst
a
n
ce
a
r
e
t
he
s
a
m
e
typ
e
a
n
d
r
e
pr
e
s
e
nt
t
he
s
a
m
e
v
a
lu
e
;
ot
he
rw
i
s
e
,
fa
ls
e
.
R
e
turns
t
he
ha
s
h
c
o
de
f
or
t
hi
s
i
nst
a
n
ce
.
R
e
turns
i
nt
A
32-
bi
t
s
ig
n
ed
i
nt
ege
r
t
ha
t
i
s
t
he
ha
s
h
c
o
de
f
or
t
hi
s
i
nst
a
n
ce
.
O
p
e
r
a
tors
C
onv
e
rts
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
T
>
to
a
N
ull
ab
l
e
<
T
>
.
E
qu
a
ls
(
o
bjec
t
?)
public override readonly bool Equals(object? obj)
G
e
t
H
a
s
h
C
o
de
()
public override readonly int GetHashCode()
e
xpl
ici
t
op
e
r
a
tor
T
?(
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
T
>)
public static explicit operator T?(SerializableOptional<T> optional)
171 / 257
P
a
r
a
m
e
t
e
rs
optional
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
T
>
T
he
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
T
>
to
c
onv
e
rt
.
R
e
turns
T
?
T
he
c
onv
e
rt
ed
N
ull
ab
l
e
<
T
>
.
C
onv
e
rts
N
ull
ab
l
e
<
T
>
to
a
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
T
>
.
P
a
r
a
m
e
t
e
rs
nullableValue
T
?
T
he
N
ull
ab
l
e
<
T
>
to
c
onv
e
rt
.
R
e
turns
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
T
>
T
he
c
onv
e
rt
ed
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
T
>
.
i
mpl
ici
t
op
e
r
a
tor
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
T
>(
T
?)
public static implicit operator SerializableOptional<T>(T? nullableValue)
172 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
I
n
he
r
i
t
a
n
ce
o
bjec
t
T
a
r
ge
t
i
n
g
D
a
t
a
I
mpl
e
m
e
nts
IE
qu
a
t
ab
l
e
<
T
a
r
ge
t
i
n
g
D
a
t
a
>
I
n
he
r
i
t
ed
M
e
m
be
rs
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
M
e
m
be
rw
i
s
e
C
lon
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
T
o
S
tr
i
n
g
()
F
ie
l
d
s
G
e
ts
or
s
e
ts
us
e
r
'
s
ba
s
e
lo
ca
t
i
on
.
F
ie
l
d
V
a
lu
e
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
V
ec
tor
2
>
L
o
ca
t
i
on
o
f
t
he
us
e
r
ʼ
s
h
om
e
ba
s
e
.
R
e
m
a
r
k
s
T
hi
s
i
s
not
n
ece
ss
a
r
i
ly
t
hei
r
c
urr
e
nt
lo
ca
t
i
on
.
S
ee
A
lso
C
oor
di
n
a
t
e
C
l
a
ss
T
a
r
ge
t
i
n
g
D
a
t
a
[Serializable]
public class TargetingData : IEquatable<TargetingData>
c
oor
di
n
a
t
e
[Tooltip("ORTB: user.geo.lat, user.geo.lon")]
public SerializableOptional<Vector2> coordinate
d
om
ai
n
173 / 257
G
e
ts
or
s
e
ts
a
pp
d
om
ai
n
.
F
ie
l
d
V
a
lu
e
str
i
n
g
D
om
ai
n
o
f
t
he
a
pp
(
e
.
g
.,
mygame.foo.com
).
S
ee
A
lso
D
om
ai
n
G
e
ts
or
s
e
ts
e
xt
e
rn
a
l
ID
s
o
f
t
he
us
e
r
.
F
ie
l
d
V
a
lu
e
L
i
st
<
E
xt
e
rn
a
l
U
s
e
r
ID
>
E
xt
e
rn
a
l
ID
s
o
f
t
he
us
e
r
t
ha
t
c
oul
d
be
us
ed
f
or
ad
t
a
r
ge
t
i
n
g
.
R
e
m
a
r
k
s
S
ee
h
ttps
://
gi
t
h
u
b
.
c
om
/
I
nt
e
r
ac
t
i
v
e
A
d
v
e
rt
i
s
i
n
g
B
ur
ea
u
/
op
e
nrt
b
/
b
lo
b
/
m
ai
n
/
e
xt
e
ns
i
ons
/2.
x
_
o
fficia
l
_
e
xt
e
ns
i
ons
/
eid
s
.
m
d
S
ee
A
lso
E
xt
e
rn
a
l
U
s
e
r
ID
,
E
xt
e
rn
a
l
U
s
e
r
I
d
s
G
e
ts
or
s
e
ts
if
r
e
qu
e
st
i
s
su
bjec
t
to
t
he
COPPA
.
[Header("Application")]
[Tooltip("ORTB: app.domain")]
public string? domain
e
xt
e
rn
a
l
U
s
e
r
I
d
s
[Tooltip("ORTB: usr.ext.eids")]
public List<ExternalUserID>? externalUserIds
i
s
S
u
bjec
t
T
o
COPPA
[Header("Regulations")]
[Tooltip("ORTB: regs.coppa")]
174 / 257
F
ie
l
d
V
a
lu
e
O
pt
i
on
a
l
B
ool
true
if
t
hi
s
r
e
qu
e
st
i
s
su
bjec
t
to
t
he
COPPA
r
eg
ul
a
t
i
ons
e
st
ab
l
i
s
hed
b
y
t
he
U
SA F
T
C
,
false
ot
he
rw
i
s
e
.
S
ee
A
lso
I
s
S
u
bjec
t
T
o
COPPA
G
e
ts
or
s
e
ts
i
T
un
e
s
ID
.
F
ie
l
d
V
a
lu
e
str
i
n
g
T
he
a
pp
ide
nt
ifie
r
i
n
i
T
un
e
s
.
S
ee
A
lso
I
tun
e
s
ID
G
e
ts
or
s
e
ts
ke
ywor
d
s
.
F
ie
l
d
V
a
lu
e
L
i
st
<
str
i
n
g
>
K
e
ywor
d
s
,
i
nt
e
r
e
sts
,
or
i
nt
e
nt
.
S
ee
A
lso
K
e
ywor
d
s
,
A
dd
K
e
ywor
d
(
str
i
n
g
)
public OptionalBool isSubjectToCOPPA
i
tun
e
s
ID
[Header("Application (iOS)")]
[Tooltip("ORTB: app.bundle")]
public string? itunesID
ke
ywor
d
s
[Tooltip("user.keywords")]
public List<string?>? keywords
175 / 257
G
e
ts
or
s
e
ts
pu
b
l
i
s
he
r
n
a
m
e
.
F
ie
l
d
V
a
lu
e
str
i
n
g
A
pp
ʼ
s
pu
b
l
i
s
he
r
n
a
m
e
.
S
ee
A
lso
P
u
b
l
i
s
he
r
N
a
m
e
G
e
ts
or
s
e
ts
sour
ce
a
pp
.
F
ie
l
d
V
a
lu
e
str
i
n
g
ID
o
f
pu
b
l
i
s
he
r
a
pp
i
n
A
ppl
e
ʼ
s
A
pp
S
tor
e
.
S
ee
A
lso
S
our
ce
A
pp
G
e
ts
or
s
e
ts
stor
e
U
RL
.
F
ie
l
d
V
a
lu
e
str
i
n
g
pu
b
l
i
s
he
r
N
a
m
e
[Tooltip("ORTB: app.publisher.name")]
public string? publisherName
sour
ce
A
pp
[Tooltip("ORTB: imp[].ext.skadn.sourceapp")]
public string? sourceApp
stor
e
U
RL
[Tooltip("ORTB: app.storeurl")]
public string? storeURL
176 / 257
A
pp
stor
e
U
RL
f
or
a
n
i
nst
a
ll
ed
a
pp
.
S
ee
A
lso
S
tor
e
U
RL
G
e
ts
or
s
e
ts
c
ustom
da
t
a
f
or
us
e
r
.
F
ie
l
d
V
a
lu
e
str
i
n
g
O
pt
i
on
a
l
fea
tur
e
to
p
a
ss
bidde
r
da
t
a
t
ha
t
w
a
s
s
e
t
i
n
t
he
e
x
cha
n
ge
ʼ
s
c
oo
kie
.
R
e
m
a
r
k
s
T
he
str
i
n
g
must
be
i
n
ba
s
e
85
c
oo
kie
s
afe
cha
r
ac
t
e
rs
a
n
d
be
i
n
a
ny
f
orm
a
t
.
S
ee
A
lso
U
s
e
r
C
ustom
D
a
t
a
G
e
ts
or
s
e
ts
ext
c
ont
e
nt
f
or
OR
T
B
user
.
F
ie
l
d
V
a
lu
e
E
xt
S
lot
E
x
cha
n
ge
-
sp
ecific
e
xt
e
ns
i
ons
to
O
p
e
n
R
T
B
.
R
e
m
a
r
k
s
S
h
oul
d
be
a
v
a
l
id
JSON
o
bjec
t
or
a
rr
a
y
.
us
e
r
C
ustom
D
a
t
a
[Header("User")]
[Tooltip("ORTB: user.customdata")]
public string? userCustomData
us
e
r
E
xt
J
son
[Header("User (iOS)")]
[Tooltip("ORTB: user.ext")]
public ExtSlot userExtJson
177 / 257
S
ee
A
lso
U
s
e
r
E
xt
J
son
M
e
t
h
o
d
s
I
n
dica
t
e
s
w
he
t
he
r
t
he
c
urr
e
nt
o
bjec
t
i
s
e
qu
a
l
to
a
not
he
r
o
bjec
t
o
f
t
he
s
a
m
e
typ
e
.
P
a
r
a
m
e
t
e
rs
other
T
a
r
ge
t
i
n
g
D
a
t
a
A
n
o
bjec
t
to
c
omp
a
r
e
w
i
t
h
t
hi
s
o
bjec
t
.
R
e
turns
b
ool
tru
e
if
t
he
c
urr
e
nt
o
bjec
t
i
s
e
qu
a
l
to
t
he
other
p
a
r
a
m
e
t
e
r
;
ot
he
rw
i
s
e
,
fa
ls
e
.
D
e
t
e
rm
i
n
e
s
w
he
t
he
r
t
he
sp
ecified
o
bjec
t
i
s
e
qu
a
l
to
t
he
c
urr
e
nt
o
bjec
t
.
P
a
r
a
m
e
t
e
rs
obj
o
bjec
t
T
he
o
bjec
t
to
c
omp
a
r
e
w
i
t
h
t
he
c
urr
e
nt
o
bjec
t
.
R
e
turns
b
ool
tru
e
if
t
he
sp
ecified
o
bjec
t
i
s
e
qu
a
l
to
t
he
c
urr
e
nt
o
bjec
t
;
ot
he
rw
i
s
e
,
fa
ls
e
.
E
qu
a
ls
(
T
a
r
ge
t
i
n
g
D
a
t
a
?)
public bool Equals(TargetingData? other)
E
qu
a
ls
(
o
bjec
t
?)
public override bool Equals(object? obj)
178 / 257
S
e
rv
e
s
a
s
t
he
defa
ult
ha
s
h
f
un
c
t
i
on
.
R
e
turns
i
nt
A
ha
s
h
c
o
de
f
or
t
he
c
urr
e
nt
o
bjec
t
.
S
ea
r
che
s
f
or
v
a
lu
e
diffe
r
e
n
ce
s
be
tw
ee
n
r
ead
a
n
d
wr
i
tt
e
n
da
t
a
.
P
a
r
a
m
e
t
e
rs
other
T
a
r
ge
t
i
n
g
D
a
t
a
R
efe
r
e
n
ce
da
t
a
f
or
c
omp
a
r
i
n
g
w
i
t
h
.
fieldsToIgnore
str
i
n
g
[]
W
ha
t
fie
l
d
s
s
h
oul
d
not
be
r
e
turn
ed
e
v
e
n
w
he
n
v
a
lu
e
s
diffe
r
.
R
e
turns
IE
num
e
r
ab
l
e
<
str
i
n
g
>
F
ie
l
d
(
prop
e
rty
)
n
a
m
e
s
.
O
cca
s
i
on
a
lly
w
i
t
h
addi
t
i
on
a
l
i
n
f
o
.
G
e
t
H
a
s
h
C
o
de
()
public override int GetHashCode()
U
n
e
qu
a
l
F
ie
l
d
s
(
T
a
r
ge
t
i
n
g
D
a
t
a
,
str
i
n
g
[]?)
public IEnumerable<string> UnequalFields(TargetingData other, string[]? fieldsToIgnore
= null)
179 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
E
xt
e
ns
i
on
m
e
t
h
o
d
s
f
or
I
T
a
r
ge
t
i
n
g
P
roxy
.
I
n
he
r
i
t
a
n
ce
o
bjec
t
T
a
r
ge
t
i
n
g
P
roxy
E
xt
e
ns
i
ons
I
n
he
r
i
t
ed
M
e
m
be
rs
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
)
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
H
a
s
h
C
o
de
()
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
M
e
m
be
rw
i
s
e
C
lon
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
T
o
S
tr
i
n
g
()
M
e
t
h
o
d
s
S
e
ts
prop
e
rt
ie
s
i
n
targetingProxy
to
v
a
lu
e
s
t
ha
t
a
r
e
s
e
t
i
n
targetingData
.
P
a
r
a
m
e
t
e
rs
targetingProxy
I
T
a
r
ge
t
i
n
g
P
roxy
P
roxy
to
s
e
t
prop
e
rt
ie
s
i
n
.
targetingData
T
a
r
ge
t
i
n
g
D
a
t
a
S
e
r
ia
l
i
z
ab
l
e
c
ont
ai
n
e
r
o
f
v
a
lu
e
s
.
C
l
a
ss
T
a
r
ge
t
i
n
g
P
roxy
E
xt
e
ns
i
ons
public static class TargetingProxyExtensions
A
pply
(
I
T
a
r
ge
t
i
n
g
P
roxy
,
T
a
r
ge
t
i
n
g
D
a
t
a
)
public static void Apply(this ITargetingProxy targetingProxy,
TargetingData targetingData)
T
ake
S
n
a
ps
h
ot
(
I
T
a
r
ge
t
i
n
g
P
roxy
)
180 / 257
G
e
ts
prop
e
rt
ie
s
f
rom
targetingProxy
.
P
a
r
a
m
e
t
e
rs
targetingProxy
I
T
a
r
ge
t
i
n
g
P
roxy
P
roxy
to
ge
t
prop
e
rt
ie
s
f
rom
.
R
e
turns
T
a
r
ge
t
i
n
g
D
a
t
a
S
e
r
ia
l
i
z
ab
l
e
c
ont
ai
n
e
r
o
f
v
a
lu
e
s
.
public static TargetingData TakeSnapshot(this ITargetingProxy targetingProxy)
181 / 257
C
l
a
ss
e
s
A
d
U
n
i
t
D
a
t
a
E
xt
e
ns
i
ons
E
xt
e
ns
i
ons
f
or
A
d
U
n
i
t
D
a
t
a
.
S
tru
c
ts
A
d
U
n
i
t
D
a
t
a
T
op
-
l
e
v
e
l
o
bjec
t
to
b
u
i
l
d
n
a
t
i
v
e
ad
r
e
qu
e
st
(
aka
IN
a
t
i
v
e
A
d
L
o
ade
r
)
f
rom
.
D
e
s
c
r
ibe
s
b
ot
h
W
HA
T
a
n
d
W
HERE
to
r
e
qu
e
st
.
A
ss
e
t
D
a
t
a
D
e
s
c
r
ibe
s
a
r
e
qu
e
st
ed
da
t
a
a
ss
e
t
.
A
ss
e
t
I
m
age
D
e
s
c
r
ibe
s
a
r
e
qu
e
st
ed
i
m
age
a
ss
e
t
.
A
ss
e
t
T
i
tl
e
D
e
s
c
r
ibe
s
a
r
e
qu
e
st
ed
t
i
tl
e
a
ss
e
t
.
A
ss
e
ts
A
c
oll
ec
t
i
on
o
f
a
ss
e
ts
to
be
r
e
qu
e
st
ed
.
C
on
fig
W
a
rn
i
n
g
s
H
ol
d
s
v
a
l
ida
t
i
on
w
a
rn
i
n
g
s
f
or
di
spl
a
y
i
n
g
i
n
U
n
i
ty
E
di
tor
.
E
v
e
nt
T
r
acke
r
T
he
e
v
e
nt
tr
acke
rs
o
bjec
t
sp
ecifie
s
t
he
typ
e
s
o
f
e
v
e
nts
t
he
bidde
r
ca
n
r
e
qu
e
st
to
be
tr
acked
i
n
t
he
bid
r
e
spons
e
.
E
v
e
nt
T
r
acke
rs
C
oll
ec
t
i
on
o
f
e
v
e
nt
tr
acke
rs
.
P
a
r
a
m
e
t
e
rs
C
ont
e
nt
p
a
rt
o
f
N
a
t
i
v
e
A
d
r
e
qu
e
st
.
E
nums
A
ss
e
t
D
a
t
a
.
D
a
t
a
T
yp
e
T
yp
e
o
f
da
t
a
a
ss
e
t
.
A
ss
e
t
I
m
age
.
I
m
age
T
yp
e
N
a
m
e
sp
ace
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
qu
e
st
182 / 257
T
yp
e
o
f
i
m
age
a
ss
e
t
.
E
v
e
nt
T
r
acke
r
.
E
v
e
nt
T
yp
e
T
yp
e
o
f
e
v
e
nt
a
v
ai
l
ab
l
e
f
or
tr
acki
n
g
.
E
v
e
nt
T
r
acke
r
.
T
r
acki
n
g
M
e
t
h
o
d
T
yp
e
s
o
f
tr
acki
n
g
a
v
ai
l
ab
l
e
f
or
t
he
gi
v
e
n
e
v
e
nt
.
P
a
r
a
m
e
t
e
rs
.
C
ont
e
xt
S
u
b
T
yp
e
N
e
xt
-
l
e
v
e
l
c
ont
e
xt
i
n
w
hich
t
he
ad
a
pp
ea
rs
.
P
a
r
a
m
e
t
e
rs
.
C
ont
e
xt
T
yp
e
T
he
c
ont
e
xt
i
n
w
hich
t
he
ad
a
pp
ea
rs
-
w
ha
t
typ
e
o
f
c
ont
e
nt
i
s
surroun
di
n
g
t
he
ad
on
t
he
p
age
a
t
a
high
l
e
v
e
l
.
P
a
r
a
m
e
t
e
rs
.
P
l
ace
m
e
nt
T
yp
e
T
he
FORMA
T
o
f
t
he
ad
,
s
e
p
a
r
a
t
e
f
rom
t
he
surroun
di
n
g
c
ont
e
xt
.
183 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
qu
e
st
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
T
op
-
l
e
v
e
l
o
bjec
t
to
b
u
i
l
d
n
a
t
i
v
e
ad
r
e
qu
e
st
(
aka
IN
a
t
i
v
e
A
d
L
o
ade
r
)
f
rom
.
D
e
s
c
r
ibe
s
b
ot
h
W
HA
T
a
n
d
W
HERE
to
r
e
qu
e
st
.
I
n
he
r
i
t
ed
M
e
m
be
rs
V
a
lu
e
T
yp
e
.
E
qu
a
ls
(
o
bjec
t
)
,
V
a
lu
e
T
yp
e
.
G
e
t
H
a
s
h
C
o
de
()
,
V
a
lu
e
T
yp
e
.
T
o
S
tr
i
n
g
()
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
F
ie
l
d
s
S
e
ts
t
he
e
n
d
po
i
nt
ID
f
or
t
he
ad
.
F
ie
l
d
V
a
lu
e
str
i
n
g
U
n
i
qu
e
e
n
d
po
i
nt
ide
nt
ifie
r
ge
n
e
r
a
t
ed
on
t
he
A
ppsto
ck
pl
a
t
f
orm
ʼ
s
U
I
.
G
e
ts
or
s
e
ts
ad
p
a
r
a
m
e
t
e
rs
.
S
tru
c
t
A
d
U
n
i
t
D
a
t
a
[Serializable]
public struct AdUnitData
e
n
d
po
i
nt
ID
[Tooltip("Unique endpoint identifier generated on the Appstock platform’s UI.")]
public string? endpointID
p
a
r
a
m
e
t
e
rs
public Parameters parameters
184 / 257
F
ie
l
d
V
a
lu
e
P
a
r
a
m
e
t
e
rs
N
a
t
i
v
e
ad
c
ont
e
nt
p
a
r
a
m
e
t
e
rs
.
S
e
ts
t
he
pl
ace
m
e
nt
ID
f
or
t
he
ad
.
F
ie
l
d
V
a
lu
e
str
i
n
g
U
n
i
qu
e
pl
ace
m
e
nt
ide
nt
ifie
r
ge
n
e
r
a
t
ed
on
t
he
A
ppsto
ck
pl
a
t
f
orm
ʼ
s
U
I
.
P
rop
e
rt
ie
s
G
e
ts
t
he
w
a
rn
i
n
g
s
f
or
c
urr
e
nt
st
a
t
e
.
P
rop
e
rty
V
a
lu
e
IE
num
e
r
ab
l
e
<
str
i
n
g
>
W
a
rn
i
n
g
s
f
or
unpopul
a
t
ed
or
c
on
f
l
ic
t
i
n
g
v
a
lu
e
s
i
ns
ide
.
pl
ace
m
e
nt
ID
[Tooltip("Unique placement identifier generated on the Appstock platform’s UI.")]
public string? placementID
W
a
rn
i
n
g
s
public readonly IEnumerable<string> Warnings { get; }
185 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
qu
e
st
A
ss
e
m
b
ly
:
A
ppsto
ck
.
A
p
i
.
d
ll
E
xt
e
ns
i
ons
f
or
A
d
U
n
i
t
D
a
t
a
.
I
n
he
r
i
t
a
n
ce
o
bjec
t
A
d
U
n
i
t
D
a
t
a
E
xt
e
ns
i
ons
I
n
he
r
i
t
ed
M
e
m
be
rs
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
)
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
H
a
s
h
C
o
de
()
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
M
e
m
be
rw
i
s
e
C
lon
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
T
o
S
tr
i
n
g
()
M
e
t
h
o
d
s
U
s
e
s
a
da
t
a
f
rom
adUnitData
to
b
u
i
l
d
a
lo
ade
r
f
or
n
a
t
i
v
e
ad
.
P
a
r
a
m
e
t
e
rs
adUnitData
A
d
U
n
i
t
D
a
t
a
S
e
r
ia
l
i
z
ab
l
e
da
t
a
c
ont
ai
n
e
r
w
i
t
h
n
a
t
i
v
e
ad
r
e
qu
e
st
s
e
tt
i
n
g
s
to
b
u
i
l
d
lo
ade
r
f
or
.
R
e
turns
IN
a
t
i
v
e
A
d
L
o
ade
r
B
u
i
lt
IN
a
t
i
v
e
A
d
L
o
ade
r
.
C
l
a
ss
A
d
U
n
i
t
D
a
t
a
E
xt
e
ns
i
ons
public static class AdUnitDataExtensions
B
u
i
l
d
A
d
L
o
ade
r
(
A
d
U
n
i
t
D
a
t
a
)
public static INativeAdLoader BuildAdLoader(this AdUnitData adUnitData)
186 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
qu
e
st
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
D
e
s
c
r
ibe
s
a
r
e
qu
e
st
ed
da
t
a
a
ss
e
t
.
I
n
he
r
i
t
ed
M
e
m
be
rs
V
a
lu
e
T
yp
e
.
E
qu
a
ls
(
o
bjec
t
)
,
V
a
lu
e
T
yp
e
.
G
e
t
H
a
s
h
C
o
de
()
,
V
a
lu
e
T
yp
e
.
T
o
S
tr
i
n
g
()
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
F
ie
l
d
s
A
n
opt
i
on
a
l
e
xt
e
ns
i
on
f
or
addi
t
i
on
a
l
da
t
a
.
F
ie
l
d
V
a
lu
e
E
xt
S
lot
T
hi
s
o
bjec
t
i
s
a
pl
aceh
ol
de
r
t
ha
t
m
a
y
c
ont
ai
n
c
ustom
JSON
ag
r
eed
to
b
y
t
he
p
a
rt
ie
s
to
support
f
l
e
x
ibi
l
i
ty
be
yon
d
t
he
st
a
n
da
r
d
defi
n
ed
i
n
OR
T
B
sp
ecifica
t
i
on
.
R
e
m
a
r
k
s
OR
T
B
:
assets[i].data.ext
G
e
ts
or
s
e
ts
da
t
a
typ
e
.
S
tru
c
t
A
ss
e
t
D
a
t
a
[Serializable]
public struct AssetData
da
t
a
E
xt
[Tooltip("An optional extension for additional data.\nORTB: assets[i].data.ext")]
public ExtSlot dataExt
da
t
a
T
yp
e
187 / 257
F
ie
l
d
V
a
lu
e
A
ss
e
t
D
a
t
a
.
D
a
t
a
T
yp
e
T
yp
e
ID
o
f
t
he
e
l
e
m
e
nt
support
ed
b
y
t
he
pu
b
l
i
s
he
r
.
T
he
pu
b
l
i
s
he
r
ca
n
di
spl
a
y
t
hi
s
i
n
f
orm
a
t
i
on
i
n
a
n
a
ppropr
ia
t
e
f
orm
a
t
.
R
e
m
a
r
k
s
OR
T
B
:
assets[i].data.type
S
ee
A
lso
A
ss
e
t
D
a
t
a
.
D
a
t
a
T
yp
e
A
n
opt
i
on
a
l
e
xt
e
ns
i
on
f
or
addi
t
i
on
a
l
da
t
a
.
F
ie
l
d
V
a
lu
e
E
xt
S
lot
T
hi
s
o
bjec
t
i
s
a
pl
aceh
ol
de
r
t
ha
t
m
a
y
c
ont
ai
n
c
ustom
JSON
ag
r
eed
to
b
y
t
he
p
a
rt
ie
s
to
support
f
l
e
x
ibi
l
i
ty
be
yon
d
t
he
st
a
n
da
r
d
defi
n
ed
i
n
OR
T
B
sp
ecifica
t
i
on
.
R
e
m
a
r
k
s
OR
T
B
:
assets[i].ext
G
e
ts
or
s
e
ts
t
he
m
a
x
i
mum
l
e
n
g
t
h
.
[Tooltip("Type of the data element supported by the publisher.\nThe publisher can
display this information in an appropriate format.\nORTB: assets[i].data.type")]
public AssetData.DataType dataType
e
xt
[Tooltip("An optional extension for additional data.\nORTB: assets[i].ext")]
public ExtSlot ext
l
e
n
g
t
h
188 / 257
F
ie
l
d
V
a
lu
e
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
i
nt
>
M
a
x
i
mum
l
e
n
g
t
h
o
f
t
he
t
e
xt
i
n
t
he
e
l
e
m
e
nt
ʼ
s
r
e
spons
e
.
R
e
m
a
r
k
s
OR
T
B
:
assets[i].data.len
G
e
ts
or
s
e
ts
if
a
ss
e
t
i
s
r
e
qu
i
r
ed
.
F
ie
l
d
V
a
lu
e
b
ool
true
if
r
e
qu
i
r
ed
(
e
x
cha
n
ge
w
i
ll
not
acce
pt
a
bid
w
i
t
h
out
i
t
),
false
ot
he
rw
i
s
e
.
R
e
m
a
r
k
s
OR
T
B
:
assets[i].required
[Tooltip("Maximum length of the text in the element’s response.\nORTB:
assets[i].data.len")]
public SerializableOptional<int> length
r
e
qu
i
r
ed
[Tooltip("If checked, exchange will not accept a bid without this
asset.\nORTB: assets[i].required")]
public bool required
189 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
qu
e
st
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
T
yp
e
o
f
da
t
a
a
ss
e
t
.
F
ie
l
d
s
Address = 9
A
dd
r
e
ss
.
CallToAction = 12
C
T
A
de
s
c
r
i
pt
i
on
-
de
s
c
r
i
pt
i
v
e
t
e
xt
de
s
c
r
ibi
n
g
a
ca
ll
to
ac
t
i
on
ʼ
b
utton
f
or
t
he
de
st
i
n
a
t
i
on
U
RL
.
O
pt
i
on
a
l
.
M
a
x
15
or
lon
ge
r
.
Custom = 500
R
e
s
e
rv
ed
f
or
E
x
cha
n
ge
sp
ecific
us
age
num
be
r
ed
ab
ov
e
500
Description = 2
D
e
s
c
r
i
pt
i
v
e
t
e
xt
a
sso
cia
t
ed
w
i
t
h
t
he
pro
d
u
c
t
or
s
e
rv
ice
bei
n
g
ad
v
e
rt
i
s
ed
.
L
on
ge
r
l
e
n
g
t
h
o
f
t
e
xt
i
n
r
e
spons
e
m
a
y
be
trun
ca
t
ed
or
e
ll
i
ps
ed
b
y
t
he
e
x
cha
n
ge
.
R
ec
omm
e
n
ded
.
M
a
x
140
or
lon
ge
r
.
Description2 = 10
A
ddi
t
i
on
a
l
de
s
c
r
i
pt
i
v
e
t
e
xt
a
sso
cia
t
ed
w
i
t
h
t
he
pro
d
u
c
t
or
s
e
rv
ice
bei
n
g
ad
v
e
rt
i
s
ed
.
DisplayURL = 11
D
i
spl
a
y
U
RL
f
or
t
he
t
e
xt
ad
.
T
o
be
us
ed
w
he
n
sponsor
i
n
g
e
nt
i
ty
d
o
e
sn
'
t
own
t
he
c
ont
e
nt
.
IE
sponsor
ed
b
y
BRAND
on
SI
T
E
(
w
he
r
e
SI
T
E
i
s
tr
a
nsm
i
tt
ed
i
n
t
hi
s
fie
l
d
).
Downloads = 5
E
num
A
ss
e
t
D
a
t
a
.
D
a
t
a
T
yp
e
[Serializable]
public enum AssetData.DataType
190 / 257
N
um
be
r
d
ownlo
ad
s
/
i
nst
a
lls
o
f
t
hi
s
pro
d
u
c
t
Likes = 4
N
um
be
r
o
f
so
cia
l
r
a
t
i
n
g
s
or
l
ike
s
o
f
t
he
pro
d
u
c
t
bei
n
g
o
ffe
r
ed
to
t
he
us
e
r
.
None = 0
N
ot
a
ss
ig
n
ed
.
S
h
oul
d
not
be
us
ed
.
Phone = 8
P
h
on
e
num
be
r
.
Price = 6
P
r
ice
f
or
pro
d
u
c
t
/
a
pp
/
i
n
-
a
pp
pur
cha
s
e
.
V
a
lu
e
s
h
oul
d
i
n
c
lu
de
c
urr
e
n
c
y
sym
b
ol
i
n
lo
ca
l
i
s
ed
f
orm
a
t
.
Rating = 3
R
a
t
i
n
g
o
f
t
he
pro
d
u
c
t
bei
n
g
o
ffe
r
ed
to
t
he
us
e
r
.
F
or
e
x
a
mpl
e
a
n
a
pp
ʼ
s
r
a
t
i
n
g
i
n
a
n
a
pp
stor
e
f
rom
0-
5.
O
pt
i
on
a
l
.
0-5
i
nt
ege
r
f
orm
a
tt
ed
a
s
str
i
n
g
.
SalePrice = 7
S
a
l
e
pr
ice
t
ha
t
ca
n
be
us
ed
to
ge
t
he
r
w
i
t
h
pr
ice
to
i
n
dica
t
e
a
di
s
c
ount
ed
pr
ice
c
omp
a
r
ed
to
a
r
eg
ul
a
r
pr
ice
.
V
a
lu
e
s
h
oul
d
i
n
c
lu
de
c
urr
e
n
c
y
sym
b
ol
i
n
lo
ca
l
i
s
ed
f
orm
a
t
.
Sponsored = 1
S
ponsor
ed
B
y
m
e
ss
age
w
he
r
e
r
e
spons
e
s
h
oul
d
c
ont
ai
n
t
he
b
r
a
n
d
n
a
m
e
o
f
t
he
sponsor
.
R
e
qu
i
r
ed
.
M
a
x
25
or
lon
ge
r
.
S
ee
A
lso
da
t
a
T
yp
e
191 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
qu
e
st
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
D
e
s
c
r
ibe
s
a
r
e
qu
e
st
ed
i
m
age
a
ss
e
t
.
I
n
he
r
i
t
ed
M
e
m
be
rs
V
a
lu
e
T
yp
e
.
E
qu
a
ls
(
o
bjec
t
)
,
V
a
lu
e
T
yp
e
.
G
e
t
H
a
s
h
C
o
de
()
,
V
a
lu
e
T
yp
e
.
T
o
S
tr
i
n
g
()
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
F
ie
l
d
s
A
n
opt
i
on
a
l
e
xt
e
ns
i
on
f
or
addi
t
i
on
a
l
da
t
a
.
F
ie
l
d
V
a
lu
e
E
xt
S
lot
T
hi
s
o
bjec
t
i
s
a
pl
aceh
ol
de
r
t
ha
t
m
a
y
c
ont
ai
n
c
ustom
JSON
ag
r
eed
to
b
y
t
he
p
a
rt
ie
s
to
support
f
l
e
x
ibi
l
i
ty
be
yon
d
t
he
st
a
n
da
r
d
defi
n
ed
i
n
OR
T
B
sp
ecifica
t
i
on
.
R
e
m
a
r
k
s
OR
T
B
:
assets[i].ext
G
e
ts
or
s
e
ts
i
m
age
heigh
t
.
S
tru
c
t
A
ss
e
t
I
m
age
[Serializable]
public struct AssetImage
e
xt
[Tooltip("An optional extension for additional data.\nORTB: assets[i].ext")]
public ExtSlot ext
heigh
t
192 / 257
F
ie
l
d
V
a
lu
e
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
i
nt
>
H
eigh
t
o
f
t
he
i
m
age
i
n
p
i
x
e
ls
.
R
e
m
a
r
k
s
OR
T
B
:
assets[i].img.h
A
n
opt
i
on
a
l
e
xt
e
ns
i
on
f
or
addi
t
i
on
a
l
da
t
a
.
F
ie
l
d
V
a
lu
e
E
xt
S
lot
T
hi
s
o
bjec
t
i
s
a
pl
aceh
ol
de
r
t
ha
t
m
a
y
c
ont
ai
n
c
ustom
JSON
ag
r
eed
to
b
y
t
he
p
a
rt
ie
s
to
support
f
l
e
x
ibi
l
i
ty
be
yon
d
t
he
st
a
n
da
r
d
defi
n
ed
i
n
OR
T
B
sp
ecifica
t
i
on
.
R
e
m
a
r
k
s
OR
T
B
:
assets[i].img.ext
G
e
ts
or
s
e
ts
i
m
age
typ
e
.
[Tooltip("Height of the image in pixels.\nORTB: assets[i].img.h")]
public SerializableOptional<int> height
i
m
age
E
xt
[Tooltip("An optional extension for additional data.\nORTB: assets[i].img.ext")]
public ExtSlot imageExt
i
m
age
T
yp
e
[Tooltip("Type of the image element supported by the publisher.\nThe publisher can
display this information in an appropriate format.\nORTB: assets[i].img.type")]
public AssetImage.ImageType imageType
193 / 257
F
ie
l
d
V
a
lu
e
A
ss
e
t
I
m
age
.
I
m
age
T
yp
e
T
yp
e
ID
o
f
t
he
i
m
age
e
l
e
m
e
nt
support
ed
b
y
t
he
pu
b
l
i
s
he
r
.
T
he
pu
b
l
i
s
he
r
ca
n
di
spl
a
y
t
hi
s
i
n
f
orm
a
t
i
on
i
n
a
n
a
ppropr
ia
t
e
f
orm
a
t
.
R
e
m
a
r
k
s
OR
T
B
:
assets[i].img.type
S
ee
A
lso
A
ss
e
t
I
m
age
.
I
m
age
T
yp
e
G
e
ts
or
s
e
ts
m
i
m
e
typ
e
s
.
F
ie
l
d
V
a
lu
e
str
i
n
g
[]
W
hi
t
e
l
i
st
o
f
c
ont
e
nt
MIME
typ
e
s
support
ed
.
R
e
m
a
r
k
s
OR
T
B
:
assets[i].img.mimes
G
e
ts
or
s
e
ts
m
i
n
i
m
a
l
i
m
age
s
i
z
e
.
m
i
m
e
T
yp
e
s
[Tooltip("Whitelist of content MIME types supported.\nORTB: assets[i].img.mimes")]
public string[]? mimeTypes
m
i
n
S
i
z
e
[Tooltip("The minimum requested width and height of the image in pixels.\nThis
option should be used for any rescaling of images by the client.\nORTB:
assets[i].img.wmin, assets[i].img.hmin")]
public Vector2Int minSize
194 / 257
F
ie
l
d
V
a
lu
e
V
ec
tor
2
I
nt
T
he
m
i
n
i
mum
r
e
qu
e
st
ed
w
id
t
h
a
n
d
heigh
t
o
f
t
he
i
m
age
i
n
p
i
x
e
ls
.
T
hi
s
opt
i
on
s
h
oul
d
be
us
ed
f
or
a
ny
r
e
s
ca
l
i
n
g
o
f
i
m
age
s
b
y
t
he
c
l
ie
nt
.
R
e
m
a
r
k
s
OR
T
B
:
assets[i].img.wmin
,
assets[i].img.hmin
G
e
ts
or
s
e
ts
if
a
ss
e
t
i
s
r
e
qu
i
r
ed
.
F
ie
l
d
V
a
lu
e
b
ool
true
if
r
e
qu
i
r
ed
(
e
x
cha
n
ge
w
i
ll
not
acce
pt
a
bid
w
i
t
h
out
i
t
),
false
ot
he
rw
i
s
e
.
R
e
m
a
r
k
s
OR
T
B
:
assets[i].required
G
e
ts
or
s
e
ts
i
m
age
w
id
t
h
.
F
ie
l
d
V
a
lu
e
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
i
nt
>
r
e
qu
i
r
ed
[Tooltip("If checked, exchange will not accept a bid without this
asset.\nORTB: assets[i].required")]
public bool required
w
id
t
h
[Tooltip("Width of the image in pixels.\nORTB: assets[i].img.w")]
public SerializableOptional<int> width
195 / 257
W
id
t
h
o
f
t
he
i
m
age
i
n
p
i
x
e
ls
.
R
e
m
a
r
k
s
OR
T
B
:
assets[i].img.w
196 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
qu
e
st
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
T
yp
e
o
f
i
m
age
a
ss
e
t
.
F
ie
l
d
s
Custom = 500
R
e
s
e
rv
ed
f
or
E
x
cha
n
ge
sp
ecific
us
age
num
be
r
ed
ab
ov
e
500.
Icon = 1
I
c
on
i
m
age
.
O
pt
i
on
a
l
.
m
a
x
heigh
t
:
a
t
l
ea
st
50
a
sp
ec
t
r
a
t
i
o
:
1
:
1
Main = 3
L
a
r
ge
i
m
age
pr
e
v
ie
w
f
or
t
he
ad
.
A
t
l
ea
st
on
e
o
f
2
s
i
z
e
v
a
r
ia
nts
r
e
qu
i
r
ed
:
S
m
a
ll
v
a
r
ia
nt
m
a
x
heigh
t
a
t
l
ea
st
200
m
a
x
w
id
t
h
a
t
l
ea
st
200,
267,
or
382
a
sp
ec
t
r
a
t
i
o
1
:
1,
4
:
3,
or
1.91
:
1
L
a
r
ge
v
a
r
ia
nt
m
a
x
heigh
t
a
t
l
ea
st
627
m
a
x
w
id
t
h
a
t
l
ea
st
627,
836,
or
1198
E
num
A
ss
e
t
I
m
age
.
I
m
age
T
yp
e
[Serializable]
public enum AssetImage.ImageType
197 / 257
a
sp
ec
t
r
a
t
i
o
1
:
1,
4
:
3,
or
1.91
:
1
None = 0
N
ot
a
ss
ig
n
ed
.
S
h
oul
d
not
be
us
ed
.
S
ee
A
lso
i
m
age
T
yp
e
198 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
qu
e
st
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
D
e
s
c
r
ibe
s
a
r
e
qu
e
st
ed
t
i
tl
e
a
ss
e
t
.
I
n
he
r
i
t
ed
M
e
m
be
rs
V
a
lu
e
T
yp
e
.
E
qu
a
ls
(
o
bjec
t
)
,
V
a
lu
e
T
yp
e
.
G
e
t
H
a
s
h
C
o
de
()
,
V
a
lu
e
T
yp
e
.
T
o
S
tr
i
n
g
()
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
F
ie
l
d
s
G
e
ts
or
s
e
ts
t
he
m
a
x
i
mum
l
e
n
g
t
h
.
F
ie
l
d
V
a
lu
e
i
nt
M
a
x
i
mum
l
e
n
g
t
h
o
f
t
he
t
e
xt
i
n
t
he
t
i
tl
e
e
l
e
m
e
nt
.
R
e
m
a
r
k
s
R
ec
omm
e
n
ded
to
be
25,
90,
or
140.
OR
T
B
:
assets[i].title.len
S
tru
c
t
A
ss
e
t
T
i
tl
e
[Serializable]
public struct AssetTitle
l
e
n
g
t
h
[Tooltip("Maximum length of the text in the title element.\nORTB:
assets[i].title.len")]
public int length
r
e
qu
i
r
ed
199 / 257
G
e
ts
or
s
e
ts
if
a
ss
e
t
i
s
r
e
qu
i
r
ed
.
F
ie
l
d
V
a
lu
e
b
ool
true
if
r
e
qu
i
r
ed
(
e
x
cha
n
ge
w
i
ll
not
acce
pt
a
bid
w
i
t
h
out
i
t
),
false
ot
he
rw
i
s
e
.
R
e
m
a
r
k
s
OR
T
B
:
assets[i].required
[Tooltip("If checked, exchange will not accept a bid without this
asset.\nORTB: assets[i].required")]
public bool required
200 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
qu
e
st
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
A
c
oll
ec
t
i
on
o
f
a
ss
e
ts
to
be
r
e
qu
e
st
ed
.
I
n
he
r
i
t
ed
M
e
m
be
rs
V
a
lu
e
T
yp
e
.
E
qu
a
ls
(
o
bjec
t
)
,
V
a
lu
e
T
yp
e
.
G
e
t
H
a
s
h
C
o
de
()
,
V
a
lu
e
T
yp
e
.
T
o
S
tr
i
n
g
()
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
F
ie
l
d
s
G
e
ts
or
s
e
ts
if
e
mpty
c
oll
ec
t
i
on
i
s
a
v
a
l
id
v
a
lu
e
.
F
ie
l
d
V
a
lu
e
b
ool
false
if
e
mpty
c
oll
ec
t
i
on
pr
e
v
e
nts
ca
ll
i
n
g
t
he
r
e
sp
ec
t
i
v
e
s
e
tt
e
r
i
n
n
a
t
i
v
e
l
ib
r
a
ry
.
true
if
n
a
t
i
v
e
s
e
tt
e
r
s
h
oul
d
be
ca
ll
ed
e
v
e
n
w
he
n
c
oll
ec
t
i
on
i
s
e
mpty
.
G
e
ts
or
s
e
ts
t
he
da
t
a
a
ss
e
ts
.
S
tru
c
t
A
ss
e
ts
[Serializable]
public struct Assets
a
llow
E
mpty
[Tooltip("Whether collection should be forwarded to native library even
when empty.")]
public bool allowEmpty
da
t
a
[Tooltip("Data assets to request.")]
201 / 257
F
ie
l
d
V
a
lu
e
A
ss
e
t
D
a
t
a
[]
D
a
t
a
a
ss
e
ts
to
r
e
qu
e
st
.
S
ee
A
lso
A
ss
e
t
D
a
t
a
G
e
ts
or
s
e
ts
t
he
i
m
age
s
.
F
ie
l
d
V
a
lu
e
A
ss
e
t
I
m
age
[]
I
m
age
a
ss
e
ts
to
r
e
qu
e
st
.
S
ee
A
lso
A
ss
e
t
I
m
age
G
e
ts
or
s
e
ts
t
he
t
i
tl
e
s
.
F
ie
l
d
V
a
lu
e
A
ss
e
t
T
i
tl
e
[]
T
i
tl
e
a
ss
e
ts
to
r
e
qu
e
st
.
public AssetData[]? data
i
m
age
s
[Tooltip("Image assets to request.")]
public AssetImage[]? images
t
i
tl
e
s
[Tooltip("Title assets to request.")]
public AssetTitle[]? titles
202 / 257
S
ee
A
lso
A
ss
e
t
T
i
tl
e
P
rop
e
rt
ie
s
G
e
ts
t
he
c
ount
o
f
a
ss
e
ts
i
n
c
oll
ec
t
i
on
.
P
rop
e
rty
V
a
lu
e
i
nt
A
ss
e
ts
c
ount
.
C
ount
public readonly int Count { get; }
203 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
qu
e
st
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
H
ol
d
s
v
a
l
ida
t
i
on
w
a
rn
i
n
g
s
f
or
di
spl
a
y
i
n
g
i
n
U
n
i
ty
E
di
tor
.
I
n
he
r
i
t
ed
M
e
m
be
rs
V
a
lu
e
T
yp
e
.
E
qu
a
ls
(
o
bjec
t
)
,
V
a
lu
e
T
yp
e
.
G
e
t
H
a
s
h
C
o
de
()
,
V
a
lu
e
T
yp
e
.
T
o
S
tr
i
n
g
()
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
R
e
m
a
r
k
s
C
ustom
prop
e
rty
d
r
a
w
e
r
i
n
c
lu
ded
.
F
ie
l
d
s
G
e
ts
or
s
e
ts
w
a
rn
i
n
g
s
.
F
ie
l
d
V
a
lu
e
L
i
st
<
str
i
n
g
>
V
a
l
ida
t
i
on
w
a
rn
i
n
g
s
b
y
c
ont
ai
n
ed
c
l
a
ss
.
R
e
m
a
r
k
s
S
e
t
i
n
OnValidate
.
D
i
spl
a
y
ed
i
n
i
nsp
ec
tor
.
S
ee
A
lso
h
ttps
://
d
o
c
s
.
un
i
ty
3
d
.
c
om
/
M
a
nu
a
l
/
e
x
ec
ut
i
on
-
or
de
r
.
h
tml
#
E
di
tor
S
tru
c
t
C
on
fig
W
a
rn
i
n
g
s
[Serializable]
public struct ConfigWarnings
w
a
rn
i
n
g
s
public List<string>? warnings
204 / 257
205 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
qu
e
st
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
T
he
e
v
e
nt
tr
acke
rs
o
bjec
t
sp
ecifie
s
t
he
typ
e
s
o
f
e
v
e
nts
t
he
bidde
r
ca
n
r
e
qu
e
st
to
be
tr
acked
i
n
t
he
bid
r
e
spons
e
.
I
n
he
r
i
t
ed
M
e
m
be
rs
V
a
lu
e
T
yp
e
.
E
qu
a
ls
(
o
bjec
t
)
,
V
a
lu
e
T
yp
e
.
G
e
t
H
a
s
h
C
o
de
()
,
V
a
lu
e
T
yp
e
.
T
o
S
tr
i
n
g
()
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
F
ie
l
d
s
G
e
ts
or
s
e
ts
e
v
e
nt
typ
e
.
F
ie
l
d
V
a
lu
e
E
v
e
nt
T
r
acke
r
.
E
v
e
nt
T
yp
e
T
yp
e
o
f
e
v
e
nt
a
v
ai
l
ab
l
e
f
or
tr
acki
n
g
.
R
e
m
a
r
k
s
OR
T
B
:
eventtrackers[i].event
G
e
ts
or
s
e
ts
e
v
e
nt
tr
acki
n
g
m
e
t
h
o
d
s
.
S
tru
c
t
E
v
e
nt
T
r
acke
r
[Serializable]
public struct EventTracker
e
v
e
nt
T
yp
e
[Tooltip("Type of event available for tracking.\nORTB: eventtrackers[i].event")]
public EventTracker.EventType eventType
m
e
t
h
o
d
s
206 / 257
F
ie
l
d
V
a
lu
e
T
r
acki
n
g
M
e
t
h
o
d
[]
T
yp
e
s
o
f
tr
acki
n
g
a
v
ai
l
ab
l
e
f
or
t
he
gi
v
e
n
e
v
e
nt
.
R
e
m
a
r
k
s
OR
T
B
:
eventtrackers[i].methods
S
ee
A
lso
E
v
e
nt
T
r
acke
r
.
T
r
acki
n
g
M
e
t
h
o
d
[Tooltip("Types of tracking available for the given event.\nORTB:
eventtrackers[i].methods")]
public EventTracker.TrackingMethod[]? methods
207 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
qu
e
st
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
T
yp
e
o
f
e
v
e
nt
a
v
ai
l
ab
l
e
f
or
tr
acki
n
g
.
F
ie
l
d
s
Custom = 500
E
x
cha
n
ge
-
sp
ecific
.
Impression = 1
I
mpr
e
ss
i
on
.
None = 0
N
ot
a
ss
ig
n
ed
.
S
h
oul
d
not
be
us
ed
.
ViewableImpression100 = 3
100
%
i
n
v
ie
w
f
or
1
s
ec
on
d
(
ie
G
roup
M
st
a
n
da
r
d
).
ViewableImpression50 = 2
V
i
s
ib
l
e
i
mpr
e
ss
i
on
us
i
n
g
MRC
defi
n
i
t
i
on
a
t
50
%
i
n
v
ie
w
f
or
1
s
ec
on
d
.
ViewableVideoImpression50 = 4
V
i
s
ib
l
e
i
mpr
e
ss
i
on
f
or
v
ide
o
us
i
n
g
MRC
defi
n
i
t
i
on
a
t
50
%
i
n
v
ie
w
f
or
2
s
ec
on
d
s
.
E
num
E
v
e
nt
T
r
acke
r
.
E
v
e
nt
T
yp
e
[Serializable]
public enum EventTracker.EventType
208 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
qu
e
st
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
T
yp
e
s
o
f
tr
acki
n
g
a
v
ai
l
ab
l
e
f
or
t
he
gi
v
e
n
e
v
e
nt
.
F
ie
l
d
s
Custom = 500
E
x
cha
n
ge
-
sp
ecific
.
C
oul
d
i
n
c
lu
de
c
ustom
m
ea
sur
e
m
e
nt
c
omp
a
n
ie
s
su
ch
a
s
mo
a
t
,
d
ou
b
l
e
v
e
r
if
y
,
IAS
,
e
t
c
.
-
i
n
t
hi
s
ca
s
e
addi
t
i
on
a
l
e
l
e
m
e
nts
w
i
ll
o
f
t
e
n
be
p
a
ss
ed
Image = 1
I
m
age
-
p
i
x
e
l
tr
acki
n
g
-
U
RL
prov
ided
w
i
ll
be
i
ns
e
rt
ed
a
s
a
1
x
1
p
i
x
e
l
a
t
t
he
t
i
m
e
o
f
t
he
e
v
e
nt
.
Js = 2
J
a
v
a
s
c
r
i
pt
-
ba
s
ed
tr
acki
n
g
-
U
RL
prov
ided
w
i
ll
be
i
ns
e
rt
ed
a
s
a
j
s
t
ag
a
t
t
he
t
i
m
e
o
f
t
he
e
v
e
nt
.
None = 0
N
ot
a
ss
ig
n
ed
.
S
h
oul
d
not
be
us
ed
.
E
num
E
v
e
nt
T
r
acke
r
.
T
r
acki
n
g
M
e
t
h
o
d
[Serializable]
public enum EventTracker.TrackingMethod
209 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
qu
e
st
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
C
oll
ec
t
i
on
o
f
e
v
e
nt
tr
acke
rs
.
I
n
he
r
i
t
ed
M
e
m
be
rs
V
a
lu
e
T
yp
e
.
E
qu
a
ls
(
o
bjec
t
)
,
V
a
lu
e
T
yp
e
.
G
e
t
H
a
s
h
C
o
de
()
,
V
a
lu
e
T
yp
e
.
T
o
S
tr
i
n
g
()
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
F
ie
l
d
s
G
e
ts
or
s
e
ts
if
e
mpty
c
oll
ec
t
i
on
i
s
a
v
a
l
id
v
a
lu
e
.
F
ie
l
d
V
a
lu
e
b
ool
false
if
e
mpty
c
oll
ec
t
i
on
pr
e
v
e
nts
ca
ll
i
n
g
t
he
r
e
sp
ec
t
i
v
e
s
e
tt
e
r
i
n
n
a
t
i
v
e
l
ib
r
a
ry
.
true
if
n
a
t
i
v
e
s
e
tt
e
r
s
h
oul
d
be
ca
ll
ed
e
v
e
n
w
he
n
c
oll
ec
t
i
on
i
s
e
mpty
.
S
tru
c
t
E
v
e
nt
T
r
acke
rs
[Serializable]
public struct EventTrackers
a
llow
E
mpty
[Tooltip("Whether collection should be forwarded to native library even
when empty.")]
public bool allowEmpty
e
l
e
m
e
nts
public EventTracker[]? elements
210 / 257
F
ie
l
d
V
a
lu
e
E
v
e
nt
T
r
acke
r
[]
N
a
t
i
v
e
e
v
e
nt
tr
acke
rs
O
p
e
r
a
tors
D
efi
n
e
s
a
n
i
mpl
ici
t
c
onv
e
rs
i
on
o
f
E
v
e
nt
T
r
acke
r
a
rr
a
y
to
a
E
v
e
nt
T
r
acke
rs
.
P
a
r
a
m
e
t
e
rs
elements
E
v
e
nt
T
r
acke
r
[]
T
he
E
v
e
nt
T
r
acke
r
a
rr
a
y
to
c
onv
e
rt
.
R
e
turns
E
v
e
nt
T
r
acke
rs
T
he
c
onv
e
rt
ed
E
v
e
nt
T
r
acke
rs
.
S
ee
A
lso
E
v
e
nt
T
r
acke
r
i
mpl
ici
t
op
e
r
a
tor
E
v
e
nt
T
r
acke
rs
(
E
v
e
nt
T
r
acke
r
[]?)
public static implicit operator EventTrackers(EventTracker[]? elements)
211 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
qu
e
st
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
C
ont
e
nt
p
a
rt
o
f
N
a
t
i
v
e
A
d
r
e
qu
e
st
.
I
n
he
r
i
t
ed
M
e
m
be
rs
V
a
lu
e
T
yp
e
.
E
qu
a
ls
(
o
bjec
t
)
,
V
a
lu
e
T
yp
e
.
G
e
t
H
a
s
h
C
o
de
()
,
V
a
lu
e
T
yp
e
.
T
o
S
tr
i
n
g
()
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
F
ie
l
d
s
G
e
ts
or
s
e
ts
a
urlsupport
f
l
ag
.
F
ie
l
d
V
a
lu
e
O
pt
i
on
a
l
B
ool
W
he
t
he
r
t
he
supply
sour
ce
/
i
mpr
e
ss
i
on
supports
r
e
turn
i
n
g
a
n
a
ss
e
tsurl
i
nst
ead
o
f
a
n
a
ss
e
t
o
bjec
t
.
R
e
m
a
r
k
s
OR
T
B
:
aurlsupport
G
e
ts
or
s
e
ts
a
ss
e
ts
.
S
tru
c
t
P
a
r
a
m
e
t
e
rs
[Serializable]
public struct Parameters
a
ss
e
t
U
rl
S
upport
[Tooltip("Whether the supply source / impression supports returning an assetsurl
instead of an asset object.\nORTB: aurlsupport")]
public OptionalBool assetUrlSupport
a
ss
e
ts
212 / 257
F
ie
l
d
V
a
lu
e
A
ss
e
ts
A
n
a
rr
a
y
o
f
A
ss
e
t
O
bjec
ts
.
A
ny
bid
r
e
spons
e
must
c
omply
w
i
t
h
t
he
a
rr
a
y
o
f
e
l
e
m
e
nts
e
xpr
e
ss
ed
i
n
t
he
bid
r
e
qu
e
st
.
R
e
m
a
r
k
s
OR
T
B
:
assets
G
e
ts
or
s
e
ts
c
ont
e
xt
su
b
typ
e
.
F
ie
l
d
V
a
lu
e
P
a
r
a
m
e
t
e
rs
.
C
ont
e
xt
S
u
b
T
yp
e
A
mor
e
de
t
ai
l
ed
c
ont
e
xt
i
n
w
hich
t
he
ad
a
pp
ea
rs
R
e
m
a
r
k
s
OR
T
B
:
contextsubtype
S
ee
A
lso
P
a
r
a
m
e
t
e
rs
.
C
ont
e
xt
S
u
b
T
yp
e
G
e
ts
or
s
e
ts
c
ont
e
xt
typ
e
.
[Tooltip("An array of Asset Objects.\nAny bid response must comply with the array of
elements expressed in the bid request.\nORTB: assets")]
public Assets assets
c
ont
e
xt
S
u
b
T
yp
e
[Tooltip("A more detailed context in which the ad appears\nORTB: contextsubtype")]
public Parameters.ContextSubType contextSubType
c
ont
e
xt
T
yp
e
213 / 257
F
ie
l
d
V
a
lu
e
P
a
r
a
m
e
t
e
rs
.
C
ont
e
xt
T
yp
e
T
he
c
ont
e
xt
i
n
w
hich
t
he
ad
a
pp
ea
rs
.
R
e
m
a
r
k
s
OR
T
B
:
context
S
ee
A
lso
P
a
r
a
m
e
t
e
rs
.
C
ont
e
xt
T
yp
e
G
e
ts
or
s
e
ts
d
urlsupport
f
l
ag
.
F
ie
l
d
V
a
lu
e
O
pt
i
on
a
l
B
ool
W
he
t
he
r
t
he
supply
sour
ce
/
i
mpr
e
ss
i
on
supports
r
e
turn
i
n
g
a
dc
o
url
i
nst
ead
o
f
a
n
a
ss
e
t
o
bjec
t
.
R
e
m
a
r
k
s
OR
T
B
:
durlsupport
G
e
ts
or
s
e
ts
e
v
e
nt
tr
acke
rs
.
[Tooltip("The context in which the ad appears.\nORTB: context")]
public Parameters.ContextType contextType
d
U
rl
S
upport
[Tooltip("Whether the supply source / impression supports returning a dco url
instead of an asset object.\nORTB: durlsupport")]
public OptionalBool dUrlSupport
e
v
e
nt
T
r
acke
rs
[Tooltip("Specifies what type of event tracking is supported.\nORTB:
eventtrackers")]
214 / 257
F
ie
l
d
V
a
lu
e
E
v
e
nt
T
r
acke
rs
S
p
ecifie
s
w
ha
t
typ
e
o
f
e
v
e
nt
tr
acki
n
g
i
s
support
ed
.
R
e
m
a
r
k
s
OR
T
B
:
eventtrackers
S
ee
A
lso
E
v
e
nt
T
r
acke
r
A
n
opt
i
on
a
l
e
xt
e
ns
i
on
f
or
addi
t
i
on
a
l
da
t
a
.
F
ie
l
d
V
a
lu
e
E
xt
S
lot
T
hi
s
o
bjec
t
i
s
a
pl
aceh
ol
de
r
t
ha
t
m
a
y
c
ont
ai
n
c
ustom
JSON
ag
r
eed
to
b
y
t
he
p
a
rt
ie
s
to
support
f
l
e
x
ibi
l
i
ty
be
yon
d
t
he
st
a
n
da
r
d
defi
n
ed
i
n
OR
T
B
sp
ecifica
t
i
on
.
R
e
m
a
r
k
s
OR
T
B
:
ext
G
e
ts
or
s
e
ts
pl
ace
m
e
nts
c
ount
.
public EventTrackers eventTrackers
e
xt
[Tooltip("An optional extension for additional data.\nORTB: ext")]
public ExtSlot ext
pl
ace
m
e
nt
C
ount
[Tooltip("The number of identical placements in this Layout.\nORTB: plcmtcnt")]
public SerializableOptional<int> placementCount
215 / 257
F
ie
l
d
V
a
lu
e
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
i
nt
>
T
he
num
be
r
o
f
ide
nt
ica
l
pl
ace
m
e
nts
i
n
t
hi
s
L
a
yout
.
R
e
m
a
r
k
s
OR
T
B
:
plcmtcnt
G
e
ts
or
s
e
ts
pl
ace
m
e
nt
typ
e
.
F
ie
l
d
V
a
lu
e
P
a
r
a
m
e
t
e
rs
.
P
l
ace
m
e
nt
T
yp
e
T
he
de
s
ig
n
/
f
orm
a
t
/
l
a
yout
o
f
t
he
ad
un
i
t
.
R
e
m
a
r
k
s
OR
T
B
:
plcmttype
S
ee
A
lso
P
a
r
a
m
e
t
e
rs
.
P
l
ace
m
e
nt
T
yp
e
G
e
ts
or
s
e
ts
pr
i
v
ac
y
support
f
l
ag
.
F
ie
l
d
V
a
lu
e
pl
ace
m
e
nt
T
yp
e
[Tooltip("The design/format/layout of the ad unit.\nORTB: plcmttype")]
public Parameters.PlacementType placementType
pr
i
v
ac
y
[Tooltip("Set to 1 when the native ad supports buyer-specific privacy
notice.\nORTB: privacy")]
public OptionalBool privacy
216 / 257
O
pt
i
on
a
l
B
ool
S
e
t
to
1
w
he
n
t
he
n
a
t
i
v
e
ad
supports
b
uy
e
r
-
sp
ecific
pr
i
v
ac
y
not
ice
.
R
e
m
a
r
k
s
OR
T
B
:
privacy
G
e
ts
or
s
e
ts
s
e
qu
e
n
ce
num
be
r
.
F
ie
l
d
V
a
lu
e
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
i
nt
>
0
f
or
t
he
fi
rst
ad
,
1
f
or
t
he
s
ec
on
d
ad
,
a
n
d
so
on
.
R
e
m
a
r
k
s
OR
T
B
:
seq
S
ee
A
lso
p
a
r
a
m
e
t
e
rs
s
e
qu
e
n
ce
[Tooltip("0 for the first ad, 1 for the second ad, and so on.\nORTB: seq")]
public SerializableOptional<int> sequence
217 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
qu
e
st
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
N
e
xt
-
l
e
v
e
l
c
ont
e
xt
i
n
w
hich
t
he
ad
a
pp
ea
rs
.
F
ie
l
d
s
AppStore = 31
A
ppl
ica
t
i
on
stor
e
/
m
a
r
ke
tpl
ace
.
Article = 11
P
r
i
m
a
r
i
ly
a
rt
ic
l
e
c
ont
e
nt
(
w
hich
o
f
c
ours
e
c
oul
d
i
n
c
lu
de
i
m
age
s
,
e
t
c
a
s
p
a
rt
o
f
t
he
a
rt
ic
l
e
).
Audio = 13
P
r
i
m
a
r
i
ly
a
u
di
o
c
ont
e
nt
.
ChatInstantMessage = 22
P
r
i
m
a
r
i
ly
cha
t
/
IM
c
ont
e
nt
.
Custom = 500
T
o
be
defi
n
ed
b
y
t
he
e
x
cha
n
ge
.
Email = 21
P
r
i
m
a
r
i
ly
e
m
ai
l
c
ont
e
nt
.
General = 10
G
e
n
e
r
a
l
or
m
i
x
ed
c
ont
e
nt
.
Image = 14
P
r
i
m
a
r
i
ly
i
m
age
c
ont
e
nt
.
None = 0
E
num
P
a
r
a
m
e
t
e
rs
.
C
ont
e
xt
S
u
b
T
yp
e
public enum Parameters.ContextSubType
218 / 257
N
ot
a
ss
ig
n
ed
.
ReviewSite = 32
P
ro
d
u
c
t
r
e
v
ie
ws
s
i
t
e
pr
i
m
a
r
i
ly
(
w
hich
m
a
y
s
e
ll
pro
d
u
c
t
s
ec
on
da
r
i
ly
).
SellingProduct = 30
C
ont
e
nt
f
o
c
us
ed
on
s
e
ll
i
n
g
pro
d
u
c
ts
,
w
he
t
he
r
digi
t
a
l
or
p
h
ys
ica
l
.
Social = 20
G
e
n
e
r
a
l
so
cia
l
c
ont
e
nt
su
ch
a
s
a
ge
n
e
r
a
l
so
cia
l
n
e
twor
k
.
UserGenerated = 15
U
s
e
r
-
ge
n
e
r
a
t
ed
c
ont
e
nt
-
f
orums
,
c
omm
e
nts
,
e
t
c
.
Video = 12
P
r
i
m
a
r
i
ly
v
ide
o
c
ont
e
nt
.
R
e
m
a
r
k
s
T
hi
s
r
ef
l
ec
ts
t
he
pr
i
m
a
ry
c
ont
e
xt
,
a
n
d
d
o
e
s
not
i
mply
no
pr
e
s
e
n
ce
o
f
ot
he
r
e
l
e
m
e
nts
.
S
ee
A
lso
c
ont
e
xt
S
u
b
T
yp
e
219 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
qu
e
st
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
T
he
c
ont
e
xt
i
n
w
hich
t
he
ad
a
pp
ea
rs
-
w
ha
t
typ
e
o
f
c
ont
e
nt
i
s
surroun
di
n
g
t
he
ad
on
t
he
p
age
a
t
a
high
l
e
v
e
l
.
F
ie
l
d
s
Content = 1
C
ont
e
nt
-
ce
ntr
ic
c
ont
e
xt
su
ch
a
s
n
e
ws
feed
,
a
rt
ic
l
e
,
i
m
age
ga
ll
e
ry
,
v
ide
o
ga
ll
e
ry
,
or
s
i
m
i
l
a
r
.
Custom = 500
T
o
be
defi
n
ed
b
y
t
he
e
x
cha
n
ge
.
None = 0
N
ot
a
ss
ig
n
ed
.
Product = 3
P
ro
d
u
c
t
c
ont
e
xt
su
ch
a
s
pro
d
u
c
t
l
i
st
i
n
g
s
,
de
t
ai
ls
,
r
ec
omm
e
n
da
t
i
ons
,
r
e
v
ie
ws
,
or
s
i
m
i
l
a
r
.
Social = 2
S
o
cia
l
-
ce
ntr
ic
c
ont
e
xt
su
ch
a
s
so
cia
l
n
e
twor
k
feed
,
e
m
ai
l
,
cha
t
,
or
s
i
m
i
l
a
r
.
S
ee
A
lso
c
ont
e
xt
T
yp
e
E
num
P
a
r
a
m
e
t
e
rs
.
C
ont
e
xt
T
yp
e
[Serializable]
public enum Parameters.ContextType
220 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
qu
e
st
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
T
he
FORMA
T
o
f
t
he
ad
,
s
e
p
a
r
a
t
e
f
rom
t
he
surroun
di
n
g
c
ont
e
xt
.
F
ie
l
d
s
AtomicContent = 2
I
n
t
he
a
tom
ic
un
i
t
o
f
t
he
c
ont
e
nt
-
IE
i
n
t
he
a
rt
ic
l
e
p
age
or
s
i
n
g
l
e
i
m
age
p
age
.
Custom = 500
T
o
be
defi
n
ed
b
y
t
he
e
x
cha
n
ge
.
FeedContent = 1
I
n
t
he
feed
o
f
c
ont
e
nt
-
f
or
e
x
a
mpl
e
a
s
a
n
i
t
e
m
i
ns
ide
t
he
or
ga
n
ic
feed
/
g
r
id
/
l
i
st
i
n
g
/
ca
rous
e
l
.
None = 0
N
ot
a
ss
ig
n
ed
.
OutsideContent = 3
O
uts
ide
t
he
c
or
e
c
ont
e
nt
-
f
or
e
x
a
mpl
e
i
n
t
he
ad
s
s
ec
t
i
on
on
t
he
r
igh
t
r
ai
l
,
a
s
a
ba
nn
e
r
-
styl
e
pl
ace
m
e
nt
n
ea
r
t
he
c
ont
e
nt
,
e
t
c
.
RecommendationWidget = 4
R
ec
omm
e
n
da
t
i
on
w
idge
t
,
most
c
ommonly
pr
e
s
e
nt
ed
be
low
t
he
a
rt
ic
l
e
c
ont
e
nt
.
S
ee
A
lso
pl
ace
m
e
nt
T
yp
e
E
num
P
a
r
a
m
e
t
e
rs
.
P
l
ace
m
e
nt
T
yp
e
[Serializable]
public enum Parameters.PlacementType
221 / 257
I
nt
e
r
face
s
ID
a
t
a
C
ont
e
nt
C
orr
e
spon
d
s
to
t
he
D
a
t
a
O
bjec
t
i
n
t
he
r
e
qu
e
st
,
w
i
t
h
t
he
v
a
lu
e
fi
ll
ed
i
n
.
II
m
age
C
ont
e
nt
C
orr
e
spon
d
s
to
t
he
I
m
age
O
bjec
t
i
n
t
he
r
e
qu
e
st
,
w
i
t
h
t
he
v
a
lu
e
fi
ll
ed
i
n
.
IN
a
t
i
v
e
A
d
N
a
t
i
v
e
o
bjec
t
t
ha
t
e
xpos
e
s
prop
e
rt
ie
s
o
f
t
he
n
a
t
i
v
e
ad
r
e
spons
e
.
I
T
i
tl
e
C
ont
e
nt
C
orr
e
spon
d
s
to
t
he
T
i
tl
e
O
bjec
t
i
n
t
he
r
e
qu
e
st
,
w
i
t
h
t
he
v
a
lu
e
fi
ll
ed
i
n
.
E
nums
D
a
t
a
C
ont
e
nt
T
yp
e
T
yp
e
o
f
da
t
a
a
ss
e
t
.
I
m
age
C
ont
e
nt
T
yp
e
T
yp
e
o
f
i
m
age
a
ss
e
t
.
N
a
m
e
sp
ace
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
spons
e
222 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
spons
e
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
T
yp
e
o
f
da
t
a
a
ss
e
t
.
F
ie
l
d
s
Address = 9
A
dd
r
e
ss
.
CallToAction = 12
C
T
A
de
s
c
r
i
pt
i
on
-
de
s
c
r
i
pt
i
v
e
t
e
xt
de
s
c
r
ibi
n
g
a
ca
ll
to
ac
t
i
on
ʼ
b
utton
f
or
t
he
de
st
i
n
a
t
i
on
U
RL
.
O
pt
i
on
a
l
.
M
a
x
15
or
lon
ge
r
.
Custom = 500
R
e
s
e
rv
ed
f
or
E
x
cha
n
ge
sp
ecific
us
age
num
be
r
ed
ab
ov
e
500
Description = 2
D
e
s
c
r
i
pt
i
v
e
t
e
xt
a
sso
cia
t
ed
w
i
t
h
t
he
pro
d
u
c
t
or
s
e
rv
ice
bei
n
g
ad
v
e
rt
i
s
ed
.
L
on
ge
r
l
e
n
g
t
h
o
f
t
e
xt
i
n
r
e
spons
e
m
a
y
be
trun
ca
t
ed
or
e
ll
i
ps
ed
b
y
t
he
e
x
cha
n
ge
.
R
ec
omm
e
n
ded
.
M
a
x
140
or
lon
ge
r
.
Description2 = 10
A
ddi
t
i
on
a
l
de
s
c
r
i
pt
i
v
e
t
e
xt
a
sso
cia
t
ed
w
i
t
h
t
he
pro
d
u
c
t
or
s
e
rv
ice
bei
n
g
ad
v
e
rt
i
s
ed
.
DisplayURL = 11
D
i
spl
a
y
U
RL
f
or
t
he
t
e
xt
ad
.
T
o
be
us
ed
w
he
n
sponsor
i
n
g
e
nt
i
ty
d
o
e
sn
'
t
own
t
he
c
ont
e
nt
.
IE
sponsor
ed
b
y
BRAND
on
SI
T
E
(
w
he
r
e
SI
T
E
i
s
tr
a
nsm
i
tt
ed
i
n
t
hi
s
fie
l
d
).
Downloads = 5
E
num
D
a
t
a
C
ont
e
nt
T
yp
e
[Serializable]
public enum DataContentType
223 / 257
N
um
be
r
d
ownlo
ad
s
/
i
nst
a
lls
o
f
t
hi
s
pro
d
u
c
t
Likes = 4
N
um
be
r
o
f
so
cia
l
r
a
t
i
n
g
s
or
l
ike
s
o
f
t
he
pro
d
u
c
t
bei
n
g
o
ffe
r
ed
to
t
he
us
e
r
.
Phone = 8
P
h
on
e
num
be
r
.
Price = 6
P
r
ice
f
or
pro
d
u
c
t
/
a
pp
/
i
n
-
a
pp
pur
cha
s
e
.
V
a
lu
e
s
h
oul
d
i
n
c
lu
de
c
urr
e
n
c
y
sym
b
ol
i
n
lo
ca
l
i
s
ed
f
orm
a
t
.
Rating = 3
R
a
t
i
n
g
o
f
t
he
pro
d
u
c
t
bei
n
g
o
ffe
r
ed
to
t
he
us
e
r
.
F
or
e
x
a
mpl
e
a
n
a
pp
ʼ
s
r
a
t
i
n
g
i
n
a
n
a
pp
stor
e
f
rom
0-
5.
O
pt
i
on
a
l
.
0-5
i
nt
ege
r
f
orm
a
tt
ed
a
s
str
i
n
g
.
SalePrice = 7
S
a
l
e
pr
ice
t
ha
t
ca
n
be
us
ed
to
ge
t
he
r
w
i
t
h
pr
ice
to
i
n
dica
t
e
a
di
s
c
ount
ed
pr
ice
c
omp
a
r
ed
to
a
r
eg
ul
a
r
pr
ice
.
V
a
lu
e
s
h
oul
d
i
n
c
lu
de
c
urr
e
n
c
y
sym
b
ol
i
n
lo
ca
l
i
s
ed
f
orm
a
t
.
Sponsored = 1
S
ponsor
ed
B
y
m
e
ss
age
w
he
r
e
r
e
spons
e
s
h
oul
d
c
ont
ai
n
t
he
b
r
a
n
d
n
a
m
e
o
f
t
he
sponsor
.
R
e
qu
i
r
ed
.
M
a
x
25
or
lon
ge
r
.
Undefined = 0
N
ot
a
ss
ig
n
ed
.
S
h
oul
d
not
be
us
ed
.
S
ee
A
lso
da
t
a
T
yp
e
A
ss
e
t
D
a
t
a
.
D
a
t
a
T
yp
e
224 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
spons
e
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
C
orr
e
spon
d
s
to
t
he
D
a
t
a
O
bjec
t
i
n
t
he
r
e
qu
e
st
,
w
i
t
h
t
he
v
a
lu
e
fi
ll
ed
i
n
.
I
n
he
r
i
t
ed
M
e
m
be
rs
ID
i
spos
ab
l
e
.
D
i
spos
e
()
P
rop
e
rt
ie
s
G
e
ts
or
s
e
ts
da
t
a
typ
e
.
P
rop
e
rty
V
a
lu
e
D
a
t
a
C
ont
e
nt
T
yp
e
?
T
he
typ
e
o
f
da
t
a
e
l
e
m
e
nt
.
S
ee
A
lso
da
t
a
T
yp
e
G
e
ts
or
s
e
ts
da
t
a
v
a
lu
e
.
P
rop
e
rty
V
a
lu
e
I
nt
e
r
face
ID
a
t
a
C
ont
e
nt
public interface IDataContent : IDisposable
D
a
t
a
T
yp
e
DataContentType? DataType { get; }
V
a
lu
e
string? Value { get; }
225 / 257
str
i
n
g
T
he
f
orm
a
tt
ed
str
i
n
g
o
f
da
t
a
to
be
di
spl
a
y
ed
.
R
e
m
a
r
k
s
C
a
n
c
ont
ai
n
a
f
orm
a
tt
ed
v
a
lu
e
su
ch
a
s
5
st
a
rs
or
$
10
or
3.4
st
a
rs
out
o
f
5.
S
ee
A
lso
A
ss
e
t
D
a
t
a
226 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
spons
e
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
C
orr
e
spon
d
s
to
t
he
I
m
age
O
bjec
t
i
n
t
he
r
e
qu
e
st
,
w
i
t
h
t
he
v
a
lu
e
fi
ll
ed
i
n
.
I
n
he
r
i
t
ed
M
e
m
be
rs
ID
i
spos
ab
l
e
.
D
i
spos
e
()
P
rop
e
rt
ie
s
G
e
ts
or
s
e
ts
i
m
age
typ
e
.
P
rop
e
rty
V
a
lu
e
I
m
age
C
ont
e
nt
T
yp
e
?
T
he
typ
e
o
f
i
m
age
e
l
e
m
e
nt
.
S
ee
A
lso
i
m
age
T
yp
e
G
e
ts
or
s
e
ts
i
m
age
U
RL
.
P
rop
e
rty
V
a
lu
e
I
nt
e
r
face
II
m
age
C
ont
e
nt
public interface IImageContent : IDisposable
I
m
age
T
yp
e
ImageContentType? ImageType { get; }
U
RL
string? URL { get; }
227 / 257
str
i
n
g
U
RL
o
f
t
he
i
m
age
a
ss
e
t
.
S
ee
A
lso
A
ss
e
t
I
m
age
228 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
spons
e
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
N
a
t
i
v
e
o
bjec
t
t
ha
t
e
xpos
e
s
prop
e
rt
ie
s
o
f
t
he
n
a
t
i
v
e
ad
r
e
spons
e
.
I
n
he
r
i
t
ed
M
e
m
be
rs
ID
i
spos
ab
l
e
.
D
i
spos
e
()
P
rop
e
rt
ie
s
G
e
ts
t
he
C
a
ll
T
o
A
c
t
i
on
t
e
xt
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
V
a
lu
e
o
f
fi
rst
ID
a
t
a
C
ont
e
nt
a
ss
e
t
w
i
t
h
D
a
t
a
T
yp
e
e
qu
a
l
to
C
a
ll
T
o
A
c
t
i
on
.
G
e
ts
da
t
a
a
ss
e
ts
.
P
rop
e
rty
V
a
lu
e
IE
num
e
r
ab
l
e
<
ID
a
t
a
C
ont
e
nt
>
D
a
t
a
e
l
e
m
e
nts
o
f
ad
a
ss
e
ts
c
oll
ec
t
i
on
.
I
nt
e
r
face
IN
a
t
i
v
e
A
d
public interface INativeAd : IDisposable
C
a
ll
T
o
A
c
t
i
on
string? CallToAction { get; }
D
a
t
a
O
bjec
ts
IEnumerable<IDataContent?> DataObjects { get; }
229 / 257
G
e
ts
t
he
I
c
on
i
m
age
U
RL
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
U
RL
o
f
fi
rst
II
m
age
C
ont
e
nt
a
ss
e
t
w
i
t
h
I
m
age
T
yp
e
e
qu
a
l
to
I
c
on
.
G
e
ts
t
he
M
ai
n
i
m
age
U
RL
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
U
RL
o
f
fi
rst
II
m
age
C
ont
e
nt
a
ss
e
t
w
i
t
h
I
m
age
T
yp
e
e
qu
a
l
to
M
ai
n
.
G
e
ts
i
m
age
a
ss
e
ts
.
P
rop
e
rty
V
a
lu
e
IE
num
e
r
ab
l
e
<
II
m
age
C
ont
e
nt
>
I
m
age
e
l
e
m
e
nts
o
f
ad
a
ss
e
ts
c
oll
ec
t
i
on
.
I
c
on
U
rl
string? IconUrl { get; }
I
m
age
U
rl
string? ImageUrl { get; }
I
m
age
s
IEnumerable<IImageContent?> Images { get; }
S
ponsor
ed
B
y
230 / 257
G
e
ts
t
he
S
ponsor
ed
t
e
xt
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
V
a
lu
e
o
f
fi
rst
ID
a
t
a
C
ont
e
nt
a
ss
e
t
w
i
t
h
D
a
t
a
T
yp
e
e
qu
a
l
to
S
ponsor
ed
.
G
e
ts
t
he
t
i
tl
e
str
i
n
g
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
T
e
xt
o
f
fi
rst
I
T
i
tl
e
C
ont
e
nt
a
ss
e
t
.
G
e
ts
t
i
tl
e
a
ss
e
ts
.
P
rop
e
rty
V
a
lu
e
IE
num
e
r
ab
l
e
<
I
T
i
tl
e
C
ont
e
nt
>
T
i
tl
e
e
l
e
m
e
nts
o
f
ad
a
ss
e
ts
c
oll
ec
t
i
on
.
M
e
t
h
o
d
s
string? SponsoredBy { get; }
T
i
tl
e
string? Title { get; }
T
i
tl
e
s
IEnumerable<ITitleContent?> Titles { get; }
231 / 257
A
dd
s
tr
acke
rs
to
t
he
v
ie
w
.
P
a
r
a
m
e
t
e
rs
container
G
a
m
e
O
bjec
t
T
he
most
r
e
l
e
v
a
nt
a
n
ce
stor
(
T
r
a
ns
f
orm
-
w
i
s
e
)
o
f
ad
e
l
e
m
e
nts
.
clickableObjects
IE
num
e
r
ab
l
e
<
G
a
m
e
O
bjec
t
>
G
a
m
e
O
bjec
t
s
w
i
t
h
a
tt
ached
c
oll
ide
rs
or
s
e
l
ec
t
ab
l
e
c
ompon
e
nts
.
R
e
turns
b
ool
true
i
s
tr
acki
n
g
st
a
rt
ed
su
cce
ss
f
ully
,
false
ot
he
rw
i
s
e
.
S
ee
A
lso
h
ttps
://
d
o
c
s
.
un
i
ty
3
d
.
c
om
/
S
c
r
i
pt
R
efe
r
e
n
ce
/
C
oll
ide
r
.
h
tml
,
h
ttps
://
d
o
c
s
.
un
i
ty
3
d
.
c
om
/
S
c
r
i
pt
R
efe
r
e
n
ce
/
C
oll
ide
r
2
D
.
h
tml
,
h
ttps
://
d
o
c
s
.
un
i
ty
3
d
.
c
om
/
P
ackage
s
/
c
om
.
un
i
ty
.
u
g
u
i
@3.0/
a
p
i
/
U
n
i
ty
E
n
gi
n
e
.
U
I
.
S
e
l
ec
t
ab
l
e
.
h
tml
E
v
e
nts
F
i
r
ed
w
he
n
ad
i
s
c
l
icked
.
E
v
e
nt
T
yp
e
A
c
t
i
on
R
egi
st
e
r
V
ie
w
(
G
a
m
e
O
bjec
t
,
IE
num
e
r
ab
l
e
<
G
a
m
e
O
bjec
t
>?)
bool RegisterView(GameObject container, IEnumerable<GameObject>? clickableObjects)
O
n
A
d
C
l
icked
event Action OnAdClicked
232 / 257
F
i
r
ed
w
he
n
ad
e
xp
i
r
ed
.
E
v
e
nt
T
yp
e
A
c
t
i
on
F
i
r
ed
w
he
n
i
mpr
e
ss
i
on
i
s
tr
acked
.
E
v
e
nt
T
yp
e
A
c
t
i
on
O
n
A
d
E
xp
i
r
ed
event Action OnAdExpired
O
n
A
d
I
mpr
e
ss
i
on
event Action OnAdImpression
233 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
spons
e
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
C
orr
e
spon
d
s
to
t
he
T
i
tl
e
O
bjec
t
i
n
t
he
r
e
qu
e
st
,
w
i
t
h
t
he
v
a
lu
e
fi
ll
ed
i
n
.
I
n
he
r
i
t
ed
M
e
m
be
rs
ID
i
spos
ab
l
e
.
D
i
spos
e
()
P
rop
e
rt
ie
s
G
e
ts
or
s
e
ts
t
e
xt
v
a
lu
e
.
P
rop
e
rty
V
a
lu
e
str
i
n
g
T
he
t
e
xt
a
sso
cia
t
ed
w
i
t
h
t
he
t
e
xt
e
l
e
m
e
nt
.
S
ee
A
lso
A
ss
e
t
T
i
tl
e
I
nt
e
r
face
I
T
i
tl
e
C
ont
e
nt
public interface ITitleContent : IDisposable
T
e
xt
string? Text { get; }
234 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
A
p
i
.
N
a
t
i
v
e
.
D
a
t
a
.
R
e
spons
e
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
d
ll
T
yp
e
o
f
i
m
age
a
ss
e
t
.
F
ie
l
d
s
Custom = 500
R
e
s
e
rv
ed
f
or
E
x
cha
n
ge
sp
ecific
us
age
num
be
r
ed
ab
ov
e
500.
Icon = 1
I
c
on
i
m
age
.
O
pt
i
on
a
l
.
m
a
x
heigh
t
:
a
t
l
ea
st
50
a
sp
ec
t
r
a
t
i
o
:
1
:
1
Main = 3
L
a
r
ge
i
m
age
pr
e
v
ie
w
f
or
t
he
ad
.
A
t
l
ea
st
on
e
o
f
2
s
i
z
e
v
a
r
ia
nts
r
e
qu
i
r
ed
:
S
m
a
ll
v
a
r
ia
nt
m
a
x
heigh
t
a
t
l
ea
st
200
m
a
x
w
id
t
h
a
t
l
ea
st
200,
267,
or
382
a
sp
ec
t
r
a
t
i
o
1
:
1,
4
:
3,
or
1.91
:
1
L
a
r
ge
v
a
r
ia
nt
m
a
x
heigh
t
a
t
l
ea
st
627
m
a
x
w
id
t
h
a
t
l
ea
st
627,
836,
or
1198
E
num
I
m
age
C
ont
e
nt
T
yp
e
[Serializable]
public enum ImageContentType
235 / 257
a
sp
ec
t
r
a
t
i
o
1
:
1,
4
:
3,
or
1.91
:
1
S
ee
A
lso
i
m
age
T
yp
e
A
ss
e
t
I
m
age
.
I
m
age
T
yp
e
236 / 257
I
nt
e
r
face
s
IS
dk
I
mp
B
u
i
l
d
s
pl
a
t
f
orm
-
sp
ecific
i
mpl
e
m
e
nt
a
t
i
ons
.
IS
dk
I
n
i
t
ia
l
i
z
e
r
P
roxy
f
or
a
st
a
t
ic
m
e
t
h
o
d
i
n
t
he
n
a
t
i
v
e
SDK
l
ib
r
a
ry
f
or
a
sp
ecific
pl
a
t
f
orm
.
N
a
m
e
sp
ace
A
ppsto
ck
SDK
.
C
ommon
237 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
C
ommon
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
ommon
.
d
ll
B
u
i
l
d
s
pl
a
t
f
orm
-
sp
ecific
i
mpl
e
m
e
nt
a
t
i
ons
.
P
rop
e
rt
ie
s
G
e
ts
SDK I
n
i
t
ia
l
i
z
e
r
o
bjec
t
.
P
rop
e
rty
V
a
lu
e
IS
dk
I
n
i
t
ia
l
i
z
e
r
P
roxy
f
or
a
st
a
t
ic
m
e
t
h
o
d
i
n
t
he
n
a
t
i
v
e
SDK
l
ib
r
a
ry
f
or
a
sp
ecific
pl
a
t
f
orm
.
G
e
ts
SDK
proxy
o
bjec
t
.
P
rop
e
rty
V
a
lu
e
IS
dk
P
roxy
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
g
lo
ba
l
s
e
tt
i
n
g
s
o
f
n
a
t
i
v
e
SDK
.
I
nt
e
r
face
IS
dk
I
mp
[RequireImplementors]
public interface ISdkImp
S
dk
I
n
i
t
ia
l
i
z
e
r
ISdkInitializer SdkInitializer { get; }
S
dk
P
roxy
ISdkProxy SdkProxy { get; }
238 / 257
G
e
ts
SDK
t
a
r
ge
t
i
n
g
proxy
o
bjec
t
.
P
rop
e
rty
V
a
lu
e
I
T
a
r
ge
t
i
n
g
P
roxy
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
t
a
r
ge
t
i
n
g
s
e
tt
i
n
g
s
o
f
n
a
t
i
v
e
SDK
.
M
e
t
h
o
d
s
C
r
ea
t
e
s
a
ba
nn
e
r
o
f
sp
ecified
s
i
z
e
.
P
a
r
a
m
e
t
e
rs
adSize
A
d
S
i
z
e
S
i
z
e
o
f
t
he
ba
nn
e
r
v
ie
w
.
R
e
turns
IB
a
nn
e
r
A
d
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
c
ontrols
ov
e
r
n
a
t
i
v
e
ad
v
ie
w
.
C
r
ea
t
e
s
a
n
i
nt
e
rst
i
t
ia
l
ad
un
i
t
.
T
a
r
ge
t
i
n
g
P
roxy
ITargetingProxy TargetingProxy { get; }
C
r
ea
t
e
B
a
nn
e
r
(
A
d
S
i
z
e
)
IBannerAd CreateBanner(AdSize adSize)
C
r
ea
t
e
I
nt
e
rst
i
t
ia
l
()
IInterstitialAd CreateInterstitial()
239 / 257
R
e
turns
II
nt
e
rst
i
t
ia
l
A
d
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
c
ontrols
ov
e
r
n
a
t
i
v
e
i
nt
e
rst
i
t
ia
l
ad
un
i
t
.
C
r
ea
t
e
s
a
lo
ade
r
f
or
n
a
t
i
v
e
ad
.
P
a
r
a
m
e
t
e
rs
adUnitData
A
d
U
n
i
t
D
a
t
a
S
e
r
ia
l
i
z
ab
l
e
t
e
mpl
a
t
e
f
or
n
a
t
i
v
e
ad
r
e
qu
e
st
.
R
e
turns
IN
a
t
i
v
e
A
d
L
o
ade
r
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
c
ontrols
ov
e
r
n
a
t
i
v
e
ad
lo
ade
r
.
C
r
ea
t
e
s
a
r
e
w
a
r
ded
ad
un
i
t
.
R
e
turns
IR
e
w
a
r
ded
A
d
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
c
ontrols
ov
e
r
n
a
t
i
v
e
r
e
w
a
r
ded
ad
un
i
t
.
C
r
ea
t
e
N
a
t
i
v
e
A
d
L
o
ade
r
(
A
d
U
n
i
t
D
a
t
a
)
INativeAdLoader CreateNativeAdLoader(AdUnitData adUnitData)
C
r
ea
t
e
R
e
w
a
r
ded
()
IRewardedAd CreateRewarded()
240 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
C
ommon
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
ommon
.
d
ll
P
roxy
f
or
a
st
a
t
ic
m
e
t
h
o
d
i
n
t
he
n
a
t
i
v
e
SDK
l
ib
r
a
ry
f
or
a
sp
ecific
pl
a
t
f
orm
.
M
e
t
h
o
d
s
I
n
i
t
ia
l
i
z
e
t
he
SDK
.
P
a
r
a
m
e
t
e
rs
partnerKey
str
i
n
g
D
e
t
e
rm
i
n
e
s
t
he
A
ppsto
ck
s
e
rv
e
r
U
RL
.
T
he
A
ppsto
ck
acc
ount
m
a
n
age
r
s
h
oul
d
prov
ide
you
w
i
t
h
t
hi
s
ke
y
.
I
nt
e
r
face
IS
dk
I
n
i
t
ia
l
i
z
e
r
public interface ISdkInitializer
I
n
i
t
ia
l
i
z
e
S
dk
(
str
i
n
g
)
void InitializeSdk(string partnerKey)
241 / 257
C
l
a
ss
e
s
E
xt
S
lot
P
rop
e
rty
D
r
a
w
e
r
C
ustom
P
rop
e
rty
D
r
a
w
e
r
f
or
E
xt
S
lot
.
N
a
t
i
v
e
C
on
fig
W
a
rn
i
n
g
s
P
rop
e
rty
D
r
a
w
e
r
C
ustom
P
rop
e
rty
D
r
a
w
e
r
f
or
C
on
fig
W
a
rn
i
n
g
s
.
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
P
rop
e
rty
D
r
a
w
e
r
C
ustom
P
rop
e
rty
D
r
a
w
e
r
f
or
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
T
>
.
N
a
m
e
sp
ace
A
ppsto
ck
SDK
.
E
di
tor
242 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
E
di
tor
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
N
a
t
i
v
e
.
D
a
t
a
.
E
di
tor
.
d
ll
C
ustom
P
rop
e
rty
D
r
a
w
e
r
f
or
E
xt
S
lot
.
I
n
he
r
i
t
a
n
ce
o
bjec
t
G
U
ID
r
a
w
e
r
P
rop
e
rty
D
r
a
w
e
r
E
xt
S
lot
P
rop
e
rty
D
r
a
w
e
r
I
n
he
r
i
t
ed
M
e
m
be
rs
P
rop
e
rty
D
r
a
w
e
r
.
C
r
ea
t
e
P
rop
e
rty
G
U
I
(
S
e
r
ia
l
i
z
ed
P
rop
e
rty
)
,
P
rop
e
rty
D
r
a
w
e
r
.
C
a
n
C
ache
I
nsp
ec
tor
G
U
I
(
S
e
r
ia
l
i
z
ed
P
rop
e
rty
) ,
P
rop
e
rty
D
r
a
w
e
r
.
a
ttr
ib
ut
e
,
P
rop
e
rty
D
r
a
w
e
r
.
fie
l
d
I
n
f
o
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
)
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
H
a
s
h
C
o
de
()
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
M
e
m
be
rw
i
s
e
C
lon
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
T
o
S
tr
i
n
g
()
M
e
t
h
o
d
s
S
p
ecifie
s
h
ow
t
a
ll
t
he
G
U
I
f
or
t
hi
s
fie
l
d
i
s
i
n
p
i
x
e
ls
.
P
a
r
a
m
e
t
e
rs
property
S
e
r
ia
l
i
z
ed
P
rop
e
rty
T
he
S
e
r
ia
l
i
z
ed
P
rop
e
rty
to
m
ake
t
he
c
ustom
G
U
I
f
or
.
label
G
U
IC
ont
e
nt
T
he
l
abe
l
o
f
t
hi
s
prop
e
rty
.
C
l
a
ss
E
xt
S
lot
P
rop
e
rty
D
r
a
w
e
r
[CustomPropertyDrawer(typeof(ExtSlot))]
public class ExtSlotPropertyDrawer : PropertyDrawer
G
e
t
P
rop
e
rty
H
eigh
t
(
S
e
r
ia
l
i
z
ed
P
rop
e
rty
,
G
U
IC
ont
e
nt
)
public override float GetPropertyHeight(SerializedProperty property,
GUIContent label)
243 / 257
R
e
turns
f
lo
a
t
T
he
heigh
t
i
n
p
i
x
e
ls
.
U
s
e
s
IMG
U
I
to
d
r
a
w
G
U
I
f
or
t
he
prop
e
rty
.
P
a
r
a
m
e
t
e
rs
position
R
ec
t
R
ec
t
a
n
g
l
e
on
t
he
s
c
r
ee
n
to
us
e
f
or
t
he
prop
e
rty
G
U
I
.
property
S
e
r
ia
l
i
z
ed
P
rop
e
rty
T
he
S
e
r
ia
l
i
z
ed
P
rop
e
rty
to
m
ake
t
he
c
ustom
G
U
I
f
or
.
label
G
U
IC
ont
e
nt
T
he
l
abe
l
o
f
t
hi
s
prop
e
rty
.
O
n
G
U
I
(
R
ec
t
,
S
e
r
ia
l
i
z
ed
P
rop
e
rty
,
G
U
IC
ont
e
nt
)
public override void OnGUI(Rect position, SerializedProperty property,
GUIContent label)
244 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
E
di
tor
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
N
a
t
i
v
e
.
D
a
t
a
.
E
di
tor
.
d
ll
C
ustom
P
rop
e
rty
D
r
a
w
e
r
f
or
C
on
fig
W
a
rn
i
n
g
s
.
I
n
he
r
i
t
a
n
ce
o
bjec
t
G
U
ID
r
a
w
e
r
P
rop
e
rty
D
r
a
w
e
r
N
a
t
i
v
e
C
on
fig
W
a
rn
i
n
g
s
P
rop
e
rty
D
r
a
w
e
r
I
n
he
r
i
t
ed
M
e
m
be
rs
P
rop
e
rty
D
r
a
w
e
r
.
C
r
ea
t
e
P
rop
e
rty
G
U
I
(
S
e
r
ia
l
i
z
ed
P
rop
e
rty
)
,
P
rop
e
rty
D
r
a
w
e
r
.
C
a
n
C
ache
I
nsp
ec
tor
G
U
I
(
S
e
r
ia
l
i
z
ed
P
rop
e
rty
) ,
P
rop
e
rty
D
r
a
w
e
r
.
a
ttr
ib
ut
e
,
P
rop
e
rty
D
r
a
w
e
r
.
fie
l
d
I
n
f
o
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
)
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
H
a
s
h
C
o
de
()
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
M
e
m
be
rw
i
s
e
C
lon
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
T
o
S
tr
i
n
g
()
M
e
t
h
o
d
s
S
p
ecifie
s
h
ow
t
a
ll
t
he
G
U
I
f
or
t
hi
s
fie
l
d
i
s
i
n
p
i
x
e
ls
.
P
a
r
a
m
e
t
e
rs
property
S
e
r
ia
l
i
z
ed
P
rop
e
rty
T
he
S
e
r
ia
l
i
z
ed
P
rop
e
rty
to
m
ake
t
he
c
ustom
G
U
I
f
or
.
label
G
U
IC
ont
e
nt
T
he
l
abe
l
o
f
t
hi
s
prop
e
rty
.
C
l
a
ss
N
a
t
i
v
e
C
on
fig
W
a
rn
i
n
g
s
P
rop
e
rty
D
r
a
w
e
r
[CustomPropertyDrawer(typeof(ConfigWarnings))]
public class NativeConfigWarningsPropertyDrawer : PropertyDrawer
G
e
t
P
rop
e
rty
H
eigh
t
(
S
e
r
ia
l
i
z
ed
P
rop
e
rty
,
G
U
IC
ont
e
nt
)
public override float GetPropertyHeight(SerializedProperty property,
GUIContent label)
245 / 257
R
e
turns
f
lo
a
t
T
he
heigh
t
i
n
p
i
x
e
ls
.
U
s
e
s
IMG
U
I
to
d
r
a
w
G
U
I
f
or
t
he
prop
e
rty
.
P
a
r
a
m
e
t
e
rs
position
R
ec
t
R
ec
t
a
n
g
l
e
on
t
he
s
c
r
ee
n
to
us
e
f
or
t
he
prop
e
rty
G
U
I
.
property
S
e
r
ia
l
i
z
ed
P
rop
e
rty
T
he
S
e
r
ia
l
i
z
ed
P
rop
e
rty
to
m
ake
t
he
c
ustom
G
U
I
f
or
.
label
G
U
IC
ont
e
nt
T
he
l
abe
l
o
f
t
hi
s
prop
e
rty
.
O
n
G
U
I
(
R
ec
t
,
S
e
r
ia
l
i
z
ed
P
rop
e
rty
,
G
U
IC
ont
e
nt
)
public override void OnGUI(Rect position, SerializedProperty property,
GUIContent label)
246 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
E
di
tor
A
ss
e
m
b
ly
:
A
ppsto
ck
.
C
or
e
.
N
a
t
i
v
e
.
D
a
t
a
.
E
di
tor
.
d
ll
C
ustom
P
rop
e
rty
D
r
a
w
e
r
f
or
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
<
T
>
.
I
n
he
r
i
t
a
n
ce
o
bjec
t
G
U
ID
r
a
w
e
r
P
rop
e
rty
D
r
a
w
e
r
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
P
rop
e
rty
D
r
a
w
e
r
I
n
he
r
i
t
ed
M
e
m
be
rs
P
rop
e
rty
D
r
a
w
e
r
.
C
r
ea
t
e
P
rop
e
rty
G
U
I
(
S
e
r
ia
l
i
z
ed
P
rop
e
rty
)
,
P
rop
e
rty
D
r
a
w
e
r
.
G
e
t
P
rop
e
rty
H
eigh
t
(
S
e
r
ia
l
i
z
ed
P
rop
e
rty
,
G
U
IC
ont
e
nt
)
,
P
rop
e
rty
D
r
a
w
e
r
.
C
a
n
C
ache
I
nsp
ec
tor
G
U
I
(
S
e
r
ia
l
i
z
ed
P
rop
e
rty
) ,
P
rop
e
rty
D
r
a
w
e
r
.
a
ttr
ib
ut
e
,
P
rop
e
rty
D
r
a
w
e
r
.
fie
l
d
I
n
f
o
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
)
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
H
a
s
h
C
o
de
()
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
M
e
m
be
rw
i
s
e
C
lon
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
T
o
S
tr
i
n
g
()
M
e
t
h
o
d
s
U
s
e
s
IMG
U
I
to
d
r
a
w
G
U
I
f
or
t
he
prop
e
rty
.
P
a
r
a
m
e
t
e
rs
position
R
ec
t
R
ec
t
a
n
g
l
e
on
t
he
s
c
r
ee
n
to
us
e
f
or
t
he
prop
e
rty
G
U
I
.
property
S
e
r
ia
l
i
z
ed
P
rop
e
rty
T
he
S
e
r
ia
l
i
z
ed
P
rop
e
rty
to
m
ake
t
he
c
ustom
G
U
I
f
or
.
C
l
a
ss
S
e
r
ia
l
i
z
ab
l
e
O
pt
i
on
a
l
P
rop
e
rty
D
r
a
w
e
r
[CustomPropertyDrawer(typeof(SerializableOptional<>), true)]
public class SerializableOptionalPropertyDrawer : PropertyDrawer
O
n
G
U
I
(
R
ec
t
,
S
e
r
ia
l
i
z
ed
P
rop
e
rty
,
G
U
IC
ont
e
nt
)
public override void OnGUI(Rect position, SerializedProperty property,
GUIContent label)
247 / 257
label
G
U
IC
ont
e
nt
T
he
l
abe
l
o
f
t
hi
s
prop
e
rty
.
248 / 257
C
l
a
ss
e
s
S
dk
I
mp
IS
dk
I
mp
stu
b
f
or
pl
a
t
f
orms
ot
he
r
t
ha
n
IP
h
on
e
P
l
a
y
e
r
,
A
n
d
ro
id
.
N
a
m
e
sp
ace
A
ppsto
ck
SDK
.
U
n
i
ty
249 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
U
n
i
ty
A
ss
e
m
b
ly
:
A
ppsto
ck
.
U
n
i
ty
.
d
ll
IS
dk
I
mp
stu
b
f
or
pl
a
t
f
orms
ot
he
r
t
ha
n
IP
h
on
e
P
l
a
y
e
r
,
A
n
d
ro
id
.
I
n
he
r
i
t
a
n
ce
o
bjec
t
S
dk
I
mp
I
mpl
e
m
e
nts
IS
dk
I
mp
I
n
he
r
i
t
ed
M
e
m
be
rs
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
)
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
H
a
s
h
C
o
de
()
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
T
o
S
tr
i
n
g
()
P
rop
e
rt
ie
s
G
e
ts
SDK I
n
i
t
ia
l
i
z
e
r
o
bjec
t
.
P
rop
e
rty
V
a
lu
e
IS
dk
I
n
i
t
ia
l
i
z
e
r
P
roxy
f
or
a
st
a
t
ic
m
e
t
h
o
d
i
n
t
he
n
a
t
i
v
e
SDK
l
ib
r
a
ry
f
or
a
sp
ecific
pl
a
t
f
orm
.
G
e
ts
SDK
proxy
o
bjec
t
.
C
l
a
ss
S
dk
I
mp
public sealed class SdkImp : ISdkImp
S
dk
I
n
i
t
ia
l
i
z
e
r
public ISdkInitializer SdkInitializer { get; }
S
dk
P
roxy
250 / 257
P
rop
e
rty
V
a
lu
e
IS
dk
P
roxy
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
g
lo
ba
l
s
e
tt
i
n
g
s
o
f
n
a
t
i
v
e
SDK
.
G
e
ts
SDK
t
a
r
ge
t
i
n
g
proxy
o
bjec
t
.
P
rop
e
rty
V
a
lu
e
I
T
a
r
ge
t
i
n
g
P
roxy
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
t
a
r
ge
t
i
n
g
s
e
tt
i
n
g
s
o
f
n
a
t
i
v
e
SDK
.
M
e
t
h
o
d
s
C
r
ea
t
e
s
a
ba
nn
e
r
o
f
sp
ecified
s
i
z
e
.
P
a
r
a
m
e
t
e
rs
adSize
A
d
S
i
z
e
S
i
z
e
o
f
t
he
ba
nn
e
r
v
ie
w
.
R
e
turns
IB
a
nn
e
r
A
d
public ISdkProxy SdkProxy { get; }
T
a
r
ge
t
i
n
g
P
roxy
public ITargetingProxy TargetingProxy { get; }
C
r
ea
t
e
B
a
nn
e
r
(
A
d
S
i
z
e
)
public IBannerAd CreateBanner(AdSize adSize)
251 / 257
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
c
ontrols
ov
e
r
n
a
t
i
v
e
ad
v
ie
w
.
C
r
ea
t
e
s
a
n
i
nt
e
rst
i
t
ia
l
ad
un
i
t
.
R
e
turns
II
nt
e
rst
i
t
ia
l
A
d
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
c
ontrols
ov
e
r
n
a
t
i
v
e
i
nt
e
rst
i
t
ia
l
ad
un
i
t
.
C
r
ea
t
e
s
a
lo
ade
r
f
or
n
a
t
i
v
e
ad
.
P
a
r
a
m
e
t
e
rs
adUnitData
A
d
U
n
i
t
D
a
t
a
S
e
r
ia
l
i
z
ab
l
e
t
e
mpl
a
t
e
f
or
n
a
t
i
v
e
ad
r
e
qu
e
st
.
R
e
turns
IN
a
t
i
v
e
A
d
L
o
ade
r
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
c
ontrols
ov
e
r
n
a
t
i
v
e
ad
lo
ade
r
.
C
r
ea
t
e
s
a
r
e
w
a
r
ded
ad
un
i
t
.
C
r
ea
t
e
I
nt
e
rst
i
t
ia
l
()
public IInterstitialAd CreateInterstitial()
C
r
ea
t
e
N
a
t
i
v
e
A
d
L
o
ade
r
(
A
d
U
n
i
t
D
a
t
a
)
public INativeAdLoader CreateNativeAdLoader(AdUnitData adUnitData)
C
r
ea
t
e
R
e
w
a
r
ded
()
public IRewardedAd CreateRewarded()
252 / 257
R
e
turns
IR
e
w
a
r
ded
A
d
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
c
ontrols
ov
e
r
n
a
t
i
v
e
r
e
w
a
r
ded
ad
un
i
t
.
253 / 257
C
l
a
ss
e
s
S
dk
I
mp
IS
dk
I
mp
i
mpl
e
m
e
nt
a
t
i
on
f
or
IP
h
on
e
P
l
a
y
e
r
.
N
a
m
e
sp
ace
A
ppsto
ck
SDK
.
i
OS
254 / 257
N
a
m
e
sp
ace
:
A
ppsto
ck
SDK
.
i
OS
A
ss
e
m
b
ly
:
A
ppsto
ck
.
i
OS
.
d
ll
IS
dk
I
mp
i
mpl
e
m
e
nt
a
t
i
on
f
or
IP
h
on
e
P
l
a
y
e
r
.
I
n
he
r
i
t
a
n
ce
o
bjec
t
S
dk
I
mp
I
mpl
e
m
e
nts
IS
dk
I
mp
I
n
he
r
i
t
ed
M
e
m
be
rs
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
)
,
o
bjec
t
.
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
G
e
t
H
a
s
h
C
o
de
()
,
o
bjec
t
.
G
e
t
T
yp
e
()
,
o
bjec
t
.
R
efe
r
e
n
ce
E
qu
a
ls
(
o
bjec
t
,
o
bjec
t
)
,
o
bjec
t
.
T
o
S
tr
i
n
g
()
P
rop
e
rt
ie
s
G
e
ts
SDK I
n
i
t
ia
l
i
z
e
r
o
bjec
t
.
P
rop
e
rty
V
a
lu
e
IS
dk
I
n
i
t
ia
l
i
z
e
r
P
roxy
f
or
a
st
a
t
ic
m
e
t
h
o
d
i
n
t
he
n
a
t
i
v
e
SDK
l
ib
r
a
ry
f
or
a
sp
ecific
pl
a
t
f
orm
.
G
e
ts
SDK
proxy
o
bjec
t
.
C
l
a
ss
S
dk
I
mp
public sealed class SdkImp : ISdkImp
S
dk
I
n
i
t
ia
l
i
z
e
r
public ISdkInitializer SdkInitializer { get; }
S
dk
P
roxy
255 / 257
P
rop
e
rty
V
a
lu
e
IS
dk
P
roxy
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
g
lo
ba
l
s
e
tt
i
n
g
s
o
f
n
a
t
i
v
e
SDK
.
G
e
ts
SDK
t
a
r
ge
t
i
n
g
proxy
o
bjec
t
.
P
rop
e
rty
V
a
lu
e
I
T
a
r
ge
t
i
n
g
P
roxy
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
t
a
r
ge
t
i
n
g
s
e
tt
i
n
g
s
o
f
n
a
t
i
v
e
SDK
.
M
e
t
h
o
d
s
C
r
ea
t
e
s
a
ba
nn
e
r
o
f
sp
ecified
s
i
z
e
.
P
a
r
a
m
e
t
e
rs
adSize
A
d
S
i
z
e
S
i
z
e
o
f
t
he
ba
nn
e
r
v
ie
w
.
R
e
turns
IB
a
nn
e
r
A
d
public ISdkProxy SdkProxy { get; }
T
a
r
ge
t
i
n
g
P
roxy
public ITargetingProxy TargetingProxy { get; }
C
r
ea
t
e
B
a
nn
e
r
(
A
d
S
i
z
e
)
public IBannerAd CreateBanner(AdSize adSize)
256 / 257
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
c
ontrols
ov
e
r
n
a
t
i
v
e
ad
v
ie
w
.
C
r
ea
t
e
s
a
n
i
nt
e
rst
i
t
ia
l
ad
un
i
t
.
R
e
turns
II
nt
e
rst
i
t
ia
l
A
d
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
c
ontrols
ov
e
r
n
a
t
i
v
e
i
nt
e
rst
i
t
ia
l
ad
un
i
t
.
C
r
ea
t
e
s
a
lo
ade
r
f
or
n
a
t
i
v
e
ad
.
P
a
r
a
m
e
t
e
rs
adUnitData
A
d
U
n
i
t
D
a
t
a
S
e
r
ia
l
i
z
ab
l
e
t
e
mpl
a
t
e
f
or
n
a
t
i
v
e
ad
r
e
qu
e
st
.
R
e
turns
IN
a
t
i
v
e
A
d
L
o
ade
r
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
c
ontrols
ov
e
r
n
a
t
i
v
e
ad
lo
ade
r
.
C
r
ea
t
e
s
a
r
e
w
a
r
ded
ad
un
i
t
.
C
r
ea
t
e
I
nt
e
rst
i
t
ia
l
()
public IInterstitialAd CreateInterstitial()
C
r
ea
t
e
N
a
t
i
v
e
A
d
L
o
ade
r
(
A
d
U
n
i
t
D
a
t
a
)
public INativeAdLoader CreateNativeAdLoader(AdUnitData adUnitData)
C
r
ea
t
e
R
e
w
a
r
ded
()
public IRewardedAd CreateRewarded()
257 / 257
R
e
turns
IR
e
w
a
r
ded
A
d
M
a
n
aged
o
bjec
t
t
ha
t
e
xpos
e
s
c
ontrols
ov
e
r
n
a
t
i
v
e
r
e
w
a
r
ded
ad
un
i
t
.