Android In-App Ad Practice: Implications for Developers

 
A
n
 
I
n
v
e
s
t
i
g
a
t
i
o
n
 
i
n
t
o
 
A
n
d
r
o
i
d
 
I
n
-
A
p
p
 
A
d
 
P
r
a
c
t
i
c
e
:
 
Implications for App Developers
 
B
o
y
u
a
n
 
H
e
[
1
]
,
 
H
a
i
t
a
o
 
X
u
[
2
]
,
L
i
n
g
 
J
i
n
[
1
]
,
 
G
u
a
n
y
u
 
G
u
o
[
1
]
,
 
Y
a
n
 
C
h
e
n
[
1
]
[
2
]
,
 
G
u
a
n
g
y
a
o
 
W
e
n
g
[
1
]
 
[
1
]
 
I
n
s
t
i
t
u
t
e
 
o
f
 
C
y
b
e
r
 
S
e
c
u
r
i
t
y
 
R
e
s
e
a
r
c
h
,
 
Z
h
e
j
i
a
n
g
 
U
n
i
v
e
r
s
i
t
y
,
 
C
h
i
n
a
.
[2] EECS, Northwestern University, USA.
 
L
a
b
 
o
f
 
I
n
t
e
r
n
e
t
 
a
n
d
 
S
e
c
u
r
i
t
y
 
T
e
c
h
n
o
l
o
g
y
 
(
L
I
S
T
)
A
p
p
 
M
o
n
e
t
i
z
a
t
i
o
n
H
O
W
 
T
O
 
M
O
N
E
T
I
Z
E
 
A
 
F
R
E
E
 
A
P
P
?
I
N
-
A
P
P
 
A
D
V
E
R
T
I
S
I
N
G
!
I
n
-
a
p
p
 
A
d
v
e
r
t
i
s
i
n
g
A
d
 
P
l
a
t
f
o
r
m
Big app vendors have their
own advertising platforms,
and are always easy to find
advertisers to pay. (E.g.
YouTube and Facebook)
T
h
i
r
d
-
p
a
r
t
y
 
A
d
 
N
e
t
w
o
r
k
Developers need a third-
party Ad networks!
P
o
p
u
l
a
r
In-app advertising is getting
popular today.
 
I
n
-
a
p
p
 
A
d
v
e
r
t
i
s
i
n
g
 
I
n
-
a
p
p
 
a
d
v
e
r
t
i
s
i
n
g
 
e
c
o
s
y
s
t
e
m
:
 
a
d
v
e
r
t
i
s
e
r
s
,
 
a
d
 
n
e
t
w
o
r
k
s
,
 
d
e
v
e
l
o
p
e
r
s
 
a
n
d
u
s
e
r
s
.
Advertiser
Ad Network
Developers
(Publishers)
Users
 
S
h
o
w
 
a
d
s
 
t
o
 
u
s
e
r
s
 
i
n
 
t
h
e
i
r
 
a
p
p
s
.
 
L
a
u
n
c
h
 
a
n
 
a
d
v
e
r
t
i
s
i
n
g
 
c
a
m
p
a
i
g
n
.
 
A
g
g
r
e
g
a
t
e
 
a
d
 
i
n
v
e
n
t
o
r
y
 
A
D
 
N
e
t
w
o
r
k
Ad Library
 
A
d
 
N
e
t
w
o
r
k
S
e
r
v
e
r
Ad Request
Ad Response
 
A
d
 
N
e
t
w
o
r
k
 
A
d
 
i
n
t
e
g
r
a
t
i
o
n
 
v
i
a
 
J
a
v
a
 
A
P
I
s
 
A banner ad from Google Admob is
added by calling Java APIs of ad
network.
 
A
d
 
i
n
t
e
g
r
a
t
i
o
n
 
v
i
a
 
X
M
L
 
f
i
l
e
s
 
A banner ad from Google Admob is
added by changing XML layout file.
 
I
n
-
a
p
p
 
A
d
v
e
r
t
i
s
i
n
g
 
T
o
p
 
1
0
 
a
d
 
n
e
t
w
o
r
k
s
 
w
i
t
h
 
d
i
f
f
e
r
e
n
t
 
f
e
a
t
u
r
e
s
 
i
n
 
2
0
1
7
M
o
t
i
v
a
t
i
o
n
1.
What is the trend in ad networks used in recent years?
2.
Can in-app advertising jeopardize user experience?
3.
Are there any patterns in different co-existed ad types within the same app?
4.
How many ad networks within an app can be considered as acceptable to users?
5.
What are the popular ad types? What are the ad types that user are more likely to
tolerate?
W
h
a
t
 
i
s
 
t
h
e
 
b
e
s
t
 
a
d
 
p
r
a
c
t
i
c
e
 
i
n
 
a
 
f
r
e
e
 
a
p
p
?
C
o
n
t
r
i
b
u
t
i
o
n
s
O
u
r
 
r
e
s
e
a
r
c
h
 
m
a
k
e
s
 
t
h
e
 
f
o
l
l
o
w
i
n
g
 
c
o
n
t
r
i
b
u
t
i
o
n
s
:
 
1.
T
o
 
t
h
e
 
b
e
s
t
 
o
f
 
o
u
r
 
k
n
o
w
l
e
d
g
e
,
 
w
e
 
a
r
e
 
t
h
e
 
f
i
r
s
t
 
t
o
 
p
r
o
v
i
d
e
 
p
r
a
c
t
i
c
a
l
 
g
u
i
d
e
l
i
n
e
s
 
f
o
r
m
o
b
i
l
e
 
d
e
v
e
l
o
p
e
r
s
 
t
o
 
m
o
n
e
t
i
z
e
 
t
h
e
i
r
 
a
p
p
s
 
t
h
r
o
u
g
h
 
t
h
i
r
d
-
p
a
r
t
y
 
i
n
-
a
p
p
 
a
d
v
e
r
t
i
s
i
n
g
.
2.
W
e
 
a
r
e
 
t
h
e
 
f
i
r
s
t
 
t
o
 
m
e
a
s
u
r
e
 
t
h
i
r
d
-
p
a
r
t
y
 
i
n
-
a
p
p
 
a
d
v
e
r
t
i
s
i
n
g
 
i
n
 
A
n
d
r
o
i
d
 
a
p
p
s
 
a
t
 
A
P
I
g
r
a
n
u
l
a
r
i
t
y
.
3.
W
e
 
a
r
e
 
t
h
e
 
f
i
r
s
t
 
t
o
 
p
r
o
v
i
d
e
 
a
 
u
n
i
f
i
e
d
 
c
l
a
s
s
i
f
i
c
a
t
i
o
n
 
s
y
s
t
e
m
 
f
o
r
 
m
o
b
i
l
e
 
i
n
-
a
p
p
 
a
d
s
,
a
n
d
 
m
e
a
s
u
r
e
 
t
h
e
 
i
m
p
a
c
t
 
o
f
 
d
i
f
f
e
r
e
n
t
 
a
d
 
t
y
p
e
s
 
o
n
 
v
a
r
i
o
u
s
 
p
r
o
p
e
r
t
i
e
s
 
o
f
 
a
p
p
s
.
 
A
d
 
C
l
a
s
s
i
f
i
c
a
t
i
o
n
 
1.
Offerwall ad.
 
2.
Popup ad.
 
3.
Notification ad.
 
4.
Floating ad.
 
5.
Embedded ad.
 
B
a
s
e
d
 
o
n
 
U
I
 
b
e
h
a
v
i
o
r
,
 
w
e
 
d
i
v
i
d
e
 
m
o
b
i
l
e
 
a
d
 
i
n
t
o
 
t
h
e
 
f
o
l
l
o
w
i
n
g
 
5
 
t
y
p
e
s
:
 
O
f
f
e
r
w
a
l
l
 
a
d
 
P
o
p
u
p
 
a
d
 
N
o
t
i
f
i
c
a
t
i
o
n
 
a
d
 
A
d
 
C
l
a
s
s
i
f
i
c
a
t
i
o
n
 
F
u
r
t
h
e
r
m
o
r
e
,
 
w
e
 
a
s
s
i
g
n
 
d
i
f
f
e
r
e
n
t
 
a
g
g
r
e
s
s
i
v
e
n
e
s
s
 
l
e
v
e
l
 
t
o
 
e
a
c
h
 
a
d
 
t
y
p
e
.
 
F
l
o
a
t
i
n
g
 
a
d
 
E
m
b
e
d
e
d
 
a
d
 
S
y
s
t
e
m
 
D
e
s
i
g
n
 
o
f
 
M
a
d
L
e
n
s
 
1.
A
p
p
 
d
a
t
a
 
c
o
l
l
e
c
t
i
o
n
.
2.
A
d
 
n
e
t
w
o
r
k
 
i
d
e
n
t
i
f
i
c
a
t
i
o
n
.
3.
A
d
 
n
e
t
w
o
r
k
 
A
P
I
 
m
a
p
p
i
n
g
.
4.
A
d
 
d
e
t
e
c
t
i
o
n
.
Ad Network
API Mapping
Ad Network
SDK Docs
Ad Network
API Dataset
Android App
Dataset
Module
Analysis
Ad Network
Dataset
Static
Analysis
Report
 
A
p
p
 
D
a
t
a
 
C
o
l
l
e
c
t
i
o
n
 
Our app dataset includes 277,616
free Android apps from Google Play
(Mar. 2017).
 
Our app dataset covers all 48
categories of apps.
 
For each app, we collect the apk file
as well as meta information (e.g.
descriptions, # of downloads, ratings
and reviews).
 
A
d
 
N
e
t
w
o
r
k
 
I
d
e
n
t
i
f
i
c
a
t
i
o
n
 
T
w
o
 
i
m
p
o
r
t
a
n
t
 
o
b
s
e
r
v
a
t
i
o
n
s
Popular ad libraries (ad network modules) are shared by many apps. So code
clones can be detected in these apps.
 
The code logic in ad libraries are relatively independent, and ad libraries usually
interact with apps via ad network APIs.
 
M
o
d
u
l
e
 
a
n
a
l
y
s
i
s
Static analysis and clustering techniques are employed to measure the coupling
of different modules inside an app.
 
Map code clusters to ad libraries.
 
A
d
 
N
e
t
w
o
r
k
 
A
P
I
 
M
a
p
p
i
n
g
 
A
P
I
 
m
a
p
p
i
n
g
Documentation from ad networks are used to map specific ad APIs to a certain
ad type.
Dynamic analysis are used to verify the behavior of the ad API call.
 
A
d
 
n
e
t
w
o
r
k
 
A
P
I
 
d
a
t
a
s
e
t
In all, we collect 697 unique ad APIs in our ad network API dataset.
 
A
d
 
D
e
t
e
c
t
i
o
n
 
W
e
 
t
a
k
e
 
a
 
s
t
a
t
i
c
 
a
p
p
r
o
a
c
h
 
f
o
r
 
a
d
 
d
e
t
e
c
t
i
o
n
,
 
a
n
d
 
u
s
e
 
A
n
d
r
o
g
u
a
r
d
 
a
s
 
s
t
a
t
i
c
 
a
n
a
l
y
z
e
r
.
 
1.
Unpack apk file to extract all the resources files and configuration files.
 
2.
Covert code in dex file to Smali code for further analysis.
 
3.
Match ad network API patterns in both XML and Java files.
 
O
u
r
 
s
t
a
t
i
c
 
a
n
a
l
y
s
i
s
 
i
s
 
r
e
s
i
s
t
a
n
c
e
 
t
o
 
m
a
n
y
 
a
p
k
 
o
b
f
u
s
c
a
t
i
o
n
 
a
n
d
 
h
a
r
d
e
n
i
n
g
t
e
c
h
n
i
q
u
e
s
.
 
R
e
s
u
l
t
 
T
h
e
 
T
r
e
n
d
 
i
n
 
#
 
o
f
 
a
d
 
l
i
b
r
a
r
i
e
s
 
i
n
 
a
n
 
a
p
p
.
 
2008-2009: barely have ad library.
 
2010-2014: 25% have at least 1
ad library.
 
2015-2017: 50% have at least 1
ad library, and 25% have at least
2 ad libraries.
 
R
e
s
u
l
t
 
T
h
e
 
T
r
e
n
d
 
i
n
 
#
 
o
f
 
a
d
 
l
i
b
r
a
r
i
e
s
 
i
n
 
a
n
 
a
p
p
.
 
I
m
p
l
i
c
a
t
i
o
n
1
:
 
D
e
v
e
l
o
p
e
r
s
 
h
a
v
e
 
m
o
r
e
 
c
h
o
i
c
e
s
 
a
b
o
u
t
 
a
d
 
n
e
t
w
o
r
k
s
 
t
h
a
n
 
s
e
v
e
r
a
l
 
y
e
a
r
s
b
e
f
o
r
e
.
 
M
o
s
t
 
d
e
v
e
l
o
p
e
r
s
 
a
r
e
 
c
o
n
s
e
r
v
a
t
i
v
e
 
a
b
o
u
t
 
a
d
 
p
l
a
c
e
m
e
n
t
 
i
n
 
t
h
e
i
r
 
a
p
p
s
 
g
i
v
e
n
 
t
h
e
o
b
s
e
r
v
a
t
i
o
n
 
t
h
a
t
 
a
b
o
u
t
 
7
1
%
 
a
p
p
s
 
c
o
n
t
a
i
n
 
a
t
 
m
o
s
t
 
o
n
e
 
a
d
 
l
i
b
r
a
r
y
.
 
37.8% have no ad library.
33% have 1 ad library.
10% have 2 ad libraries.
5% have 3 ad libraries.
 
R
e
s
u
l
t
 
P
r
e
v
a
l
e
n
c
e
 
o
f
 
a
d
 
t
y
p
e
s
 
i
n
 
a
n
 
a
p
p
 
O
f
f
e
r
w
a
l
l
:
 
8
.
2
%
.
P
o
p
u
p
:
 
5
5
.
1
%
.
N
o
t
i
f
i
c
a
t
i
o
n
:
 
0
.
1
%
.
F
l
o
a
t
i
n
g
:
 
0
.
6
%
.
E
m
b
e
d
d
e
d
:
 
6
1
.
7
%
.
B
o
t
h
 
o
f
 
E
m
b
e
d
d
e
d
 
&
 
P
o
p
u
p
:
 
5
4
.
7
%
.
62.2% have at least 1 ad type.
8.5% have more than 2 ad type.
 
I
m
p
l
i
c
a
t
i
o
n
2
:
 
S
t
a
t
i
s
t
i
c
a
l
l
y
,
 
d
e
v
e
l
o
p
e
r
s
 
i
n
c
l
u
d
e
 
t
w
o
 
l
o
w
l
y
 
a
g
g
r
e
s
s
i
v
e
 
a
d
 
t
y
p
e
s
,
E
m
b
e
d
d
e
d
 
a
n
d
 
P
o
p
u
p
,
 
s
i
m
u
l
t
a
n
e
o
u
s
l
y
 
i
n
 
m
o
r
e
 
t
h
a
n
 
a
 
h
a
l
f
 
o
f
 
t
h
e
i
r
 
a
p
p
s
.
 
T
h
e
 
t
w
o
h
i
g
h
l
y
 
a
g
g
r
e
s
s
i
v
e
 
a
d
 
t
y
p
e
s
 
i
n
c
l
u
d
i
n
g
 
O
f
f
e
r
w
a
l
l
 
a
n
d
 
N
o
t
i
f
i
c
a
t
i
o
n
 
a
r
e
 
n
o
t
 
p
o
p
u
l
a
r
.
 
R
e
s
u
l
t
 
P
r
e
v
a
l
e
n
c
e
 
o
f
 
a
d
 
t
y
p
e
s
 
i
n
 
t
h
e
 
a
p
p
s
 
o
f
 
t
h
e
 
t
o
p
 
1
0
 
c
a
t
e
g
o
r
i
e
s
 
B
u
s
i
n
e
s
s
:
 
3
9
.
6
%
E
d
u
c
a
t
i
o
n
:
 
4
8
.
0
%
T
o
o
l
s
:
 
4
8
.
5
%
 
 
E
n
t
e
r
t
a
i
n
m
e
n
t
:
 
7
3
.
7
%
M
u
s
i
c
&
A
u
d
i
o
:
 
7
9
.
2
%
P
e
r
s
o
n
a
l
i
z
a
t
i
o
n
:
 
7
4
.
9
%
C
a
s
u
a
l
:
 
8
6
.
7
%
 
R
e
s
u
l
t
 
P
r
e
v
a
l
e
n
c
e
 
o
f
 
a
d
 
t
y
p
e
s
 
i
n
 
t
h
e
 
a
p
p
s
 
o
f
 
t
h
e
 
t
o
p
 
1
0
 
c
a
t
e
g
o
r
i
e
s
 
I
m
p
l
i
c
a
t
i
o
n
3
:
 
T
o
 
s
o
m
e
 
e
x
t
e
n
t
,
 
t
h
e
 
l
i
k
e
l
i
n
e
s
s
 
o
f
 
a
n
 
a
p
p
 
c
o
n
t
a
i
n
i
n
g
 
a
d
s
d
e
p
e
n
d
s
 
o
n
 
t
h
e
 
a
p
p
 
c
a
t
e
g
o
r
y
 
t
o
 
w
h
i
c
h
 
i
t
 
b
e
l
o
n
g
s
 
T
h
u
s
,
 
d
e
v
e
l
o
p
e
r
s
 
m
a
y
d
e
c
i
d
e
 
t
h
e
 
a
d
 
p
l
a
c
e
m
e
n
t
 
i
s
s
u
e
 
b
a
s
e
d
 
o
n
 
t
h
e
 
c
a
t
e
g
o
r
y
 
o
f
 
t
h
e
i
r
 
o
w
n
 
a
p
p
s
.
 
I
m
p
l
i
c
a
t
i
o
n
4
:
 
t
h
e
 
t
w
o
 
l
o
w
l
y
 
a
g
g
r
e
s
s
i
v
e
 
a
d
 
t
y
p
e
s
,
 
E
m
b
e
d
d
e
d
 
a
n
d
 
P
o
p
u
p
,
 
a
r
e
p
o
p
u
l
a
r
 
w
i
t
h
 
a
p
p
s
 
i
n
 
n
e
a
r
l
y
 
a
l
l
 
c
a
t
e
g
o
r
i
e
s
.
T
h
e
 
h
i
g
h
l
y
 
a
g
g
r
e
s
s
i
v
e
 
a
d
 
t
y
p
e
,
O
f
f
e
r
w
a
l
l
,
 
i
s
 
s
o
m
e
w
h
a
t
 
p
o
p
u
l
a
r
.
 
D
e
v
e
l
o
p
e
r
s
 
c
o
u
l
d
 
c
o
n
s
i
d
e
r
 
p
l
a
c
i
n
g
 
t
h
e
s
e
t
h
r
e
e
 
t
y
p
e
s
 
o
f
 
a
d
s
 
i
n
 
t
h
e
i
r
 
a
p
p
s
.
 
R
e
s
u
l
t
 
C
o
r
r
e
l
a
t
i
o
n
 
b
e
t
w
e
e
n
 
i
n
-
a
p
p
 
a
d
s
 
a
n
d
 
a
p
p
 
r
a
t
i
n
g
 
f
r
o
m
 
u
s
e
r
.
 
I
m
p
l
i
c
a
t
i
o
n
5
:
 
Developers should avoid
embedding too many ad
libraries into an app,
empirically no more than 6,
which otherwise would anger
the app users and result in
bad ratings.
 
R
e
s
u
l
t
 
A
d
 
n
e
t
w
o
r
k
 
c
h
o
i
c
e
 
f
o
r
 
a
p
p
s
 
i
n
 
t
h
e
 
d
i
f
f
e
r
e
n
t
 
s
t
a
g
e
 
o
f
 
t
h
e
i
r
 
l
i
f
e
c
y
c
l
e
 
I
m
p
l
i
c
a
t
i
o
n
6
:
 
A developer should use at
most one ad network when
her app is still at the initial
stage and could start using
more (2 or 3) ad networks
when the app becomes
popular, reflected by its
downloads.
 
R
e
s
u
l
t
 
A
d
 
t
y
p
e
 
c
h
o
i
c
e
 
f
o
r
 
a
p
p
s
 
i
n
 
t
h
e
 
d
i
f
f
e
r
e
n
t
 
s
t
a
g
e
 
o
f
 
t
h
e
i
r
 
l
i
f
e
c
y
c
l
e
 
I
m
p
l
i
c
a
t
i
o
n
7
:
 
A
 
d
e
v
e
l
o
p
e
r
 
s
h
o
u
l
d
 
m
a
i
n
l
y
p
l
a
c
e
 
E
m
b
e
d
d
e
d
 
a
n
d
P
o
p
u
p
 
a
d
s
 
o
n
 
h
e
r
 
a
p
p
 
i
n
w
h
a
t
e
v
e
r
 
l
i
f
e
c
y
c
l
e
 
s
t
a
g
e
,
 
a
n
d
c
o
u
l
d
 
s
t
a
r
t
 
t
o
 
p
l
a
c
e
 
O
f
f
e
r
w
a
l
l
a
d
s
 
w
h
e
n
 
h
e
r
 
a
p
p
 
h
a
s
 
m
a
n
y
e
n
o
u
g
h
 
d
o
w
n
l
o
a
d
s
.
 
S
u
m
m
a
r
y
 
Propose a unified methodology of ad classification based on UI
behavior.
 
Design and implement MadLens, a framework for fine-grained
and large-scale Android in-app ads analysis.
 
Provide insights for developers about how to optimize their app
monetization with optimal ad placement choices.
 
Question?
 
Thank you !
Slide Note

Good afternoon everyone, I am Boyuan He , a PhD student from Institute of Cyber Security Research, Zhejiang University, China.

Today, it is my great honor here to present our work: An Investigation into Android In-App Ad Practice: implications for App Developers.

Supervised by my advisor Prof. Yan Chen, this work is conducted with a joint Lab of Internet and Security Technology (LIST) at Zhejiang University and Northwestern University.

Before we talk about the motivation, we first take a look at Android ecosystem and app monetization.

Embed
Share

An investigation into the world of Android in-app advertising sheds light on popular ad practices and networks. From app monetization to third-party ad platforms, developers are navigating a complex ecosystem to drive revenue through in-app ads. Learn about top ad networks, ad integration methods, and the evolving landscape of in-app advertising.


Uploaded on Oct 02, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. An Investigation into Android In-App Ad Practice: Implications for App Developers Boyuan He[1], Haitao Xu[2],Ling Jin[1], Guanyu Guo[1], Yan Chen[1][2], Guangyao Weng[1] Lab of Internet and Security Technology (LIST) [1] Institute of Cyber Security Research, Zhejiang University, China. [2] EECS, Northwestern University, USA.

  2. App Monetization 87.7% 37.9% Global OS market share (Mar.17) Mobile OS market share (Q2 17) 92.5% 1.3Million 2.9Million Ratio of free apps in Google Play Android developers (Oct. 2016) Apps in Google Play (Feb.17) HOW TO MONETIZE A FREE APP? IN-APP ADVERTISING!

  3. In-app Advertising Popular In-app advertising is getting popular today. Ad Platform Big app vendors have their own advertising platforms, and are always easy to find advertisers to pay. (E.g. YouTube and Facebook) Third-party Ad Network Developers need a third- party Ad networks!

  4. In-app Advertising In-app advertising ecosystem: advertisers, ad networks, developers and users. Advertiser Users Launch an advertising campaign. Show ads to users in their apps. Aggregate ad inventory Developers (Publishers) Ad Network

  5. AD Network Ad Network Server Ad Request Ad Library Ad Response

  6. Ad Network Ad integration via Java APIs A banner ad from Google Admob is added by calling Java APIs of ad network. Ad integration via XML files A banner ad from Google Admob is added by changing XML layout file.

  7. In-app Advertising Top 10 ad networks with different features in 2017 Ad Network Admob AdColony Airpush Chartboost Fyber Inmobi Leadbolt RevMob Startapp Tapjoy Supported Ad Types Native, Video, Interstitial Rich Media, Video App Icon, Messaging, Notifications, Offerwall Content Lock, Interstitial, OfferWall, Video Interstitial, Native, Video Banner, Native, Video, Interstitial, Rich Media Native, Video, Interstitial Interstitial, Video, Pop-up, Rich Media App Icon, Full Page Ads, InApp Ads, Interstitial, Video Content Lock, Interstitial, Offerwall, Rewards

  8. Motivation What is the best ad practice in a free app? 1. What is the trend in ad networks used in recent years? 2. Can in-app advertising jeopardize user experience 3. Are there any patterns in different co-existed ad types within the same app? 4. How many ad networks within an app can be considered as acceptable to users? 5. What are the popular ad types? What are the ad types that user are more likely to tolerate?

  9. Contributions Our research makes the following contributions: 1. To the best of our knowledge, we are the first to provide practical guidelines for mobile developers to monetize their apps through third-party in-app advertising. 2. We are the first to measure third-party in-app advertising in Android apps at API granularity. 3. We are the first to provide a unified classification system for mobile in-app ads, and measure the impact of different ad types on various properties of apps.

  10. Ad Classification Based on UI behavior, we divide mobile ad into the following 5 types: 1. Offerwall ad. 2. Popup ad. 3. Notification ad. 4. Floating ad. 5. Embedded ad. Offerwall ad Popup ad Notification ad

  11. Ad Classification Furthermore, we assign different aggressiveness level to each ad type. Ad type Aggressiveness level Offerwall High Popup Low Notification High Floating Low Embedded Low Floating ad Embeded ad

  12. System Design of MadLens 1. App data collection. 2. Ad network identification. 3. Ad network API mapping. 4. Ad detection. Ad Network SDK Docs Ad Network API Dataset Ad Network API Mapping Android App Dataset Ad Network Dataset Module Analysis Static Analysis Report

  13. App Data Collection Our app dataset includes 277,616 free Android apps from Google Play (Mar. 2017). Our app dataset covers all 48 categories of apps. For each app, we collect the apk file as well as meta information (e.g. descriptions, # of downloads, ratings and reviews).

  14. Ad Network Identification Two important observations Popular ad libraries (ad network modules) are shared by many apps. So code clones can be detected in these apps. The code logic in ad libraries are relatively independent, and ad libraries usually interact with apps via ad network APIs. Module analysis Static analysis and clustering techniques are employed to measure the coupling of different modules inside an app. Map code clusters to ad libraries.

  15. Ad Network API Mapping API mapping Documentation from ad networks are used to map specific ad APIs to a certain ad type. Dynamic analysis are used to verify the behavior of the ad API call. Ad network API dataset In all, we collect 697 unique ad APIs in our ad network API dataset. Embeded Popup Floating Notification Offerwall Total # of APIs 407 200 10 29 51 697

  16. Ad Detection We take a static approach for ad detection, and use Androguard as static analyzer. 1. Unpack apk file to extract all the resources files and configuration files. 2. Covert code in dex file to Smali code for further analysis. 3. Match ad network API patterns in both XML and Java files. Our static analysis is resistance to many apk obfuscation and hardening techniques.

  17. Result The Trend in # of ad libraries in an app. 2008-2009: barely have ad library. 2010-2014: 25% have at least 1 ad library. 2015-2017: 50% have at least 1 ad library, and 25% have at least 2 ad libraries.

  18. Result The Trend in # of ad libraries in an app. 37.8% have no ad library. 33% have 1 ad library. 10% have 2 ad libraries. 5% have 3 ad libraries. Implication1: Developers have more choices about ad networks than several years before. Most developers are conservative about ad placement in their apps given the observation that about 71% apps contain at most one ad library.

  19. Result Prevalence of ad types in an app Offerwall: 8.2%. Popup: 55.1%. Notification: 0.1%. Floating: 0.6%. Embedded: 61.7%. Both of Embedded & Popup: 54.7%. 62.2% have at least 1 ad type. 8.5% have more than 2 ad type. Implication2: Statistically, developers include two lowly aggressive ad types, Embedded and Popup, simultaneously in more than a half of their apps. The two highly aggressive ad types including Offerwall and Notification are not popular.

  20. Result Prevalence of ad types in the apps of the top 10 categories Business: 39.6% Education: 48.0% Tools: 48.5% Entertainment: 73.7% Music&Audio: 79.2% Personalization: 74.9% Casual: 86.7%

  21. Result Prevalence of ad types in the apps of the top 10 categories Implication3: To some extent, the likeliness of an app containing ads depends on the app category to which it belongs Thus, developers may decide the ad placement issue based on the category of their own apps. Implication4: the two lowly aggressive ad types, Embedded and Popup, are popular with apps in nearly all categories.The highly aggressive ad type, Offerwall, is somewhat popular. Developers could consider placing these three types of ads in their apps.

  22. Result Correlation between in-app ads and app rating from user. Implication5: Developers should avoid embedding too many ad libraries into an app, empirically no more than 6, which otherwise would anger the app users and result in bad ratings.

  23. Result Ad network choice for apps in the different stage of their lifecycle Implication6: A developer should use at most one ad network when her app is still at the initial stage and could start using more (2 or 3) ad networks when the app becomes popular, reflected by its downloads.

  24. Result Ad type choice for apps in the different stage of their lifecycle Implication7: A developer should mainly place Embedded and Popup ads on her app in whatever lifecycle stage, and could start to place Offerwall ads when her app has many enough downloads.

  25. Summary Propose a unified methodology of ad classification based on UI behavior. Design and implement MadLens, a framework for fine-grained and large-scale Android in-app ads analysis. Provide insights for developers about how to optimize their app monetization with optimal ad placement choices.

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#