forked from bidmachine/BidMachine-Android-Examples
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathInterstitialJavaActivity.java
236 lines (188 loc) · 7.7 KB
/
InterstitialJavaActivity.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
package io.bidmachine.examples;
import android.os.Bundle;
import android.view.View;
import androidx.annotation.NonNull;
import io.bidmachine.AdContentType;
import io.bidmachine.BidMachine;
import io.bidmachine.examples.base.BaseJavaExampleActivity;
import io.bidmachine.interstitial.InterstitialAd;
import io.bidmachine.interstitial.InterstitialRequest;
import io.bidmachine.interstitial.SimpleInterstitialListener;
import io.bidmachine.utils.BMError;
public class InterstitialJavaActivity extends BaseJavaExampleActivity {
private InterstitialAd interstitialAd;
private InterstitialAd videoAd;
private InterstitialAd delayedShowInterstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Initialise SDK
BidMachine.initialize(this, "1");
//Enable logs
BidMachine.setLoggingEnabled(true);
//Set activity content view
setContentView(R.layout.activity_interstitial);
//Set listeners to perform Ads load
findViewById(R.id.btnShowInterstitial).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showInterstitial();
}
});
findViewById(R.id.btnShowVideo).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showVideo();
}
});
findViewById(R.id.btnLoadInterstitial).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
loadInterstitial();
}
});
findViewById(R.id.btnShowLoadedInterstitial).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showLoadedInterstitial();
}
});
}
private void showInterstitial() {
setDebugState(Status.Loading);
//Destroy previous loaded InterstitialAd
destroyInterstitialAd();
//Create new InterstitialRequest
final InterstitialRequest interstitialRequest = new InterstitialRequest.Builder()
.build();
//Create new InterstitialAd
interstitialAd = new InterstitialAd(this);
//Set InterstitialAd events listener
interstitialAd.setListener(new SimpleInterstitialListener() {
@Override
public void onAdLoaded(@NonNull InterstitialAd ad) {
setDebugState(Status.Loaded, "Interstitial Ads Loaded");
//Show Interstitial Ad
ad.show();
}
@Override
public void onAdLoadFailed(@NonNull InterstitialAd ad, @NonNull BMError error) {
setDebugState(Status.LoadFail, "Interstitial Ads Load Failed");
//Destroy loaded ad since it not required any more
destroyInterstitialAd();
}
@Override
public void onAdClosed(@NonNull InterstitialAd ad, boolean finished) {
setDebugState(Status.Closed, "Interstitial Ads Closed");
//Destroy loaded ad since it not required any more
destroyInterstitialAd();
}
});
//Load InterstitialAd
interstitialAd.load(interstitialRequest);
}
/**
* For Interstitial and Interstitial Video we use same class, for define display type you should
* set it in ad space settings, <a href="https://wiki.appodeal.com/display/BID/BidMachine+Android+SDK+Documentation#BidMachineAndroidSDKDocumentation-5.Interstitial">See documentation</a>
*/
private void showVideo() {
setDebugState(Status.Loading);
//Destroy previous loaded InterstitialAd for Video
destroyVideoAd();
//Create new InterstitialRequest for Video
final InterstitialRequest interstitialRequest = new InterstitialRequest.Builder()
.setAdContentType(AdContentType.Video) //Set required Interstitial content type
.build();
//Create new InterstitialAd for Video
videoAd = new InterstitialAd(this);
//Set InterstitialAd for Video events listener
videoAd.setListener(new SimpleInterstitialListener() {
@Override
public void onAdLoaded(@NonNull InterstitialAd ad) {
setDebugState(Status.Loaded, "Interstitial Ads Loaded");
//Show Interstitial Ad for Video
ad.show();
}
@Override
public void onAdLoadFailed(@NonNull InterstitialAd ad, @NonNull BMError error) {
setDebugState(Status.LoadFail, "Interstitial Ads Load Failed");
//Destroy loaded ad since it not required any more
destroyVideoAd();
}
@Override
public void onAdClosed(@NonNull InterstitialAd ad, boolean finished) {
setDebugState(Status.Closed, "Interstitial Ads Closed");
//Destroy loaded ad since it not required any more
destroyVideoAd();
}
});
//Load InterstitialAd for Video
videoAd.load(interstitialRequest);
}
private void loadInterstitial() {
setDebugState(Status.Loading);
//Destroy previous loaded Interstitial Ads
destroyDelayedShowInterstitial();
//Create new InterstitialRequest
final InterstitialRequest interstitialRequest = new InterstitialRequest.Builder()
.build();
//Create new InterstitialAd
delayedShowInterstitialAd = new InterstitialAd(this);
//Set InterstitialAd events listener
delayedShowInterstitialAd.setListener(new SimpleInterstitialListener() {
@Override
public void onAdLoaded(@NonNull InterstitialAd ad) {
setDebugState(Status.Loaded, "Interstitial Ads Loaded");
}
@Override
public void onAdLoadFailed(@NonNull InterstitialAd ad, @NonNull BMError error) {
setDebugState(Status.LoadFail, "Interstitial Ads Load Failed");
//Destroy loaded ad since it not required any more
destroyDelayedShowInterstitial();
}
@Override
public void onAdClosed(@NonNull InterstitialAd ad, boolean finished) {
setDebugState(Status.Closed, "Interstitial Ads Closed");
//Destroy loaded ad since it not required any more
destroyDelayedShowInterstitial();
}
});
//Load InterstitialAd
delayedShowInterstitialAd.load(interstitialRequest);
}
@Override
protected void onDestroy() {
super.onDestroy();
//Destroy Ads when you finish with it
destroyInterstitialAd();
destroyVideoAd();
destroyDelayedShowInterstitial();
}
private void destroyInterstitialAd() {
if (interstitialAd != null) {
interstitialAd.destroy();
interstitialAd = null;
}
}
private void destroyVideoAd() {
if (videoAd != null) {
videoAd.destroy();
videoAd = null;
}
}
private void destroyDelayedShowInterstitial() {
if (delayedShowInterstitialAd != null) {
delayedShowInterstitialAd.destroy();
delayedShowInterstitialAd = null;
}
}
private void showLoadedInterstitial() {
if (delayedShowInterstitialAd == null) {
toast("Load Interstitial First");
} else if (!delayedShowInterstitialAd.isLoaded()) {
toast("Interstitial not Loaded yet");
} else {
delayedShowInterstitialAd.show();
}
}
}