|
19 | 19 | import android.os.Parcelable;
|
20 | 20 |
|
21 | 21 | import androidx.appcompat.app.AppCompatActivity;
|
22 |
| - |
23 | 22 | import com.google.firebase.analytics.FirebaseAnalytics;
|
24 | 23 |
|
25 |
| -public class MainActivity extends AppCompatActivity { |
| 24 | +// importing libraries to support 3rd party ad_impression snippets |
| 25 | +import com.applovin.mediation.MaxAd; |
| 26 | +import com.applovin.mediation.MaxAdRevenueListener; |
| 27 | +import com.ironsource.mediationsdk.impressionData.ImpressionData; |
| 28 | +import com.ironsource.mediationsdk.impressionData.ImpressionDataListener; |
| 29 | + |
| 30 | + |
| 31 | +public class MainActivity extends AppCompatActivity |
| 32 | +// importing libraries to support 3rd party ad_impression snippets |
| 33 | + implements MaxAdRevenueListener, ImpressionDataListener { |
26 | 34 |
|
27 | 35 | @Override
|
28 | 36 | protected void onCreate(Bundle savedInstanceState) {
|
@@ -221,4 +229,42 @@ public void enhancedEcommerce() {
|
221 | 229 | analytics.logEvent(FirebaseAnalytics.Event.SELECT_PROMOTION, promoParams);
|
222 | 230 | // [END apply_promo]
|
223 | 231 | }
|
| 232 | + |
| 233 | + // [START ad_impression_applovin] |
| 234 | + @Override |
| 235 | + public void onAdRevenuePaid(MaxAd impressionData) { |
| 236 | + |
| 237 | + double revenue = impressionData.getRevenue(); // In USD |
| 238 | + |
| 239 | + FirebaseAnalytics analytics = FirebaseAnalytics.getInstance(this); |
| 240 | + Bundle params = new Bundle(); |
| 241 | + params.putString(FirebaseAnalytics.Param.AD_PLATFORM, "appLovin"); |
| 242 | + params.putString(FirebaseAnalytics.Param.AD_SOURCE, impressionData.getNetworkName()); |
| 243 | + params.putString(FirebaseAnalytics.Param.AD_FORMAT, impressionData.getFormat().getDisplayName()); |
| 244 | + params.putString(FirebaseAnalytics.Param.AD_UNIT_NAME, impressionData.getAdUnitId()); |
| 245 | + params.putDouble(FirebaseAnalytics.Param.VALUE, revenue); |
| 246 | + params.putString(FirebaseAnalytics.Param.CURRENCY, "USD"); // All Applovin revenue is sent in USD |
| 247 | + analytics.logEvent(FirebaseAnalytics.Event.AD_IMPRESSION, params); |
| 248 | + } |
| 249 | + // [END ad_impression_applovin] |
| 250 | + |
| 251 | + // [START ad_impression_ironsource] |
| 252 | + @Override |
| 253 | + public void onImpressionSuccess(ImpressionData impressionData) { |
| 254 | + // The onImpressionSuccess will be reported when the rewarded video and interstitial ad is opened. |
| 255 | + // For banners, the impression is reported on load success. Log.d(TAG, "onImpressionSuccess" + impressionData); |
| 256 | + FirebaseAnalytics analytics = FirebaseAnalytics.getInstance(this); |
| 257 | + if (impressionData != null) { |
| 258 | + Bundle bundle = new Bundle(); |
| 259 | + bundle.putString(FirebaseAnalytics.Param.AD_PLATFORM, "ironSource"); |
| 260 | + bundle.putString(FirebaseAnalytics.Param.AD_SOURCE, impressionData.getAdNetwork()); |
| 261 | + bundle.putString(FirebaseAnalytics.Param.AD_FORMAT, impressionData.getAdUnit()); |
| 262 | + bundle.putString(FirebaseAnalytics.Param.AD_UNIT_NAME, impressionData.getAdUnit()); |
| 263 | + bundle.putString(FirebaseAnalytics.Param.CURRENCY, "USD"); |
| 264 | + bundle.putDouble(FirebaseAnalytics.Param.VALUE, impressionData.getRevenue()); |
| 265 | + analytics.logEvent(FirebaseAnalytics.Event.AD_IMPRESSION, bundle); |
| 266 | + } |
| 267 | + } |
| 268 | + |
| 269 | + // [END ad_impression_ironsource] |
224 | 270 | }
|
0 commit comments