forked from bidmachine/BidMachine-Android-Examples
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRewardedJavaActivity.java
More file actions
184 lines (141 loc) · 5.67 KB
/
Copy pathRewardedJavaActivity.java
File metadata and controls
184 lines (141 loc) · 5.67 KB
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
package io.bidmachine.examples;
import android.os.Bundle;
import android.view.LayoutInflater;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import io.bidmachine.AdPlacementConfig;
import io.bidmachine.BidMachine;
import io.bidmachine.examples.base.BaseJavaExampleActivity;
import io.bidmachine.examples.base.Status;
import io.bidmachine.examples.databinding.ActivityRewardedBinding;
import io.bidmachine.rewarded.RewardedAd;
import io.bidmachine.rewarded.RewardedRequest;
import io.bidmachine.rewarded.SimpleRewardedListener;
import io.bidmachine.utils.BMError;
public class RewardedJavaActivity extends BaseJavaExampleActivity<ActivityRewardedBinding> {
@Nullable
private RewardedAd rewardedAd;
@Nullable
private RewardedAd delayedShowRewardedAd;
@NonNull
@Override
protected ActivityRewardedBinding inflate(@NonNull LayoutInflater inflater) {
return ActivityRewardedBinding.inflate(inflater);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Initialise SDK
BidMachine.initialize(this, SOURCE_ID);
// Enable logs
BidMachine.setLoggingEnabled(true);
// Set listeners to perform Ads load
binding.bShowRewarded.setOnClickListener(v -> showRewarded());
binding.bLoadRewarded.setOnClickListener(v -> loadRewarded());
binding.bShowLoadedRewarded.setOnClickListener(v -> showLoadedRewarded());
}
private void showRewarded() {
setDebugState(Status.Loading);
// Destroy previous loaded RewardedAd
destroyRewarded();
// Create placement configuration
AdPlacementConfig config = AdPlacementConfig.rewardedBuilder().build();
// Create new RewardedRequest
RewardedRequest rewardedRequest = new RewardedRequest.Builder(config).build();
// Create new RewardedAd
rewardedAd = new RewardedAd(this);
// Set RewardedAd events listener
rewardedAd.setListener(new SimpleRewardedListener() {
@Override
public void onAdLoaded(@NonNull RewardedAd ad) {
setDebugState(Status.Loaded, "Rewarded Ads Loaded");
// Show RewardedAd
ad.show();
}
@Override
public void onAdLoadFailed(@NonNull RewardedAd ad, @NonNull BMError error) {
setDebugState(Status.LoadFail, "Rewarded Ads Load Failed");
// Destroy loaded ad since it not required any more
destroyRewarded();
}
@Override
public void onAdClosed(@NonNull RewardedAd ad, boolean finished) {
setDebugState(Status.Closed, "Rewarded Ads Closed");
// Destroy loaded ad since it not required any more
destroyRewarded();
}
@Override
public void onAdRewarded(@NonNull RewardedAd ad) {
setDebugState(Status.Rewarded, "Rewarded Ads Rewarded");
// Here you can start you reward process
}
});
// Load RewardedAd
rewardedAd.load(rewardedRequest);
}
private void loadRewarded() {
setDebugState(Status.Loading);
// Destroy previous loaded RewardedAd
destroyDelayedShowRewarded();
// Create placement configuration
AdPlacementConfig config = AdPlacementConfig.rewardedBuilder().build();
// Create new RewardedRequest
RewardedRequest rewardedRequest = new RewardedRequest.Builder(config).build();
// Create new RewardedAd
delayedShowRewardedAd = new RewardedAd(this);
// Set RewardedAd events listener
delayedShowRewardedAd.setListener(new SimpleRewardedListener() {
@Override
public void onAdLoaded(@NonNull RewardedAd ad) {
setDebugState(Status.Loaded, "Rewarded Ads Loaded");
}
@Override
public void onAdLoadFailed(@NonNull RewardedAd ad, @NonNull BMError error) {
setDebugState(Status.LoadFail, "Rewarded Ads Load Failed");
// Destroy loaded ad since it not required any more
destroyDelayedShowRewarded();
}
@Override
public void onAdClosed(@NonNull RewardedAd ad, boolean finished) {
setDebugState(Status.Closed, "Rewarded Ads Closed");
// Destroy loaded ad since it not required any more
destroyDelayedShowRewarded();
}
@Override
public void onAdRewarded(@NonNull RewardedAd ad) {
setDebugState(Status.Rewarded, "Rewarded Ads Rewarded");
// Here you can start you reward process
}
});
// Load Rewarded
delayedShowRewardedAd.load(rewardedRequest);
}
@Override
protected void onDestroy() {
super.onDestroy();
// Destroy Ads when you finish with it
destroyRewarded();
destroyDelayedShowRewarded();
}
private void destroyRewarded() {
if (rewardedAd != null) {
rewardedAd.destroy();
rewardedAd = null;
}
}
private void destroyDelayedShowRewarded() {
if (delayedShowRewardedAd != null) {
delayedShowRewardedAd.destroy();
delayedShowRewardedAd = null;
}
}
private void showLoadedRewarded() {
if (delayedShowRewardedAd == null) {
toast("Load Rewarded First");
} else if (!delayedShowRewardedAd.isLoaded()) {
toast("Rewarded not Loaded yet");
} else {
delayedShowRewardedAd.show();
}
}
}