91 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Dart
		
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Dart
		
	
	
| // /// Created by Haoyi on 2022/2/28
 | |
| //
 | |
| // part of "../analytics.dart";
 | |
| //
 | |
| //
 | |
| 
 | |
| part of "../guru_analytics.dart";
 | |
| 
 | |
| extension AdsAnalytics on GuruAnalytics {
 | |
|   void logAdRevenue(double adRevenue, String adPlatform, String currency,
 | |
|       {String? orderType, String? orderId, String? productId, int? transactionDate}) {
 | |
|     // logEventEx(name, itemCategory: scene, itemName: adName);
 | |
|     final orderExtras = CollectionUtils.filterOutNulls(<String, dynamic>{
 | |
|       "order_type": orderType,
 | |
|       "order_id": orderId,
 | |
|       "product_id": productId,
 | |
|       "trans_ts": transactionDate
 | |
|     });
 | |
|     if (release) {
 | |
|       EventLogger.logAdRevenue(adRevenue, adPlatform, currency, extras: orderExtras);
 | |
|     } else {
 | |
|       Log.d("[firebase] logAdRevenue ${<String, dynamic>{
 | |
|         "adRevenue": adRevenue,
 | |
|         "adPlatform": adPlatform,
 | |
|         "currency": currency,
 | |
|         ...orderExtras
 | |
|       }}");
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   void logAdRevenue020(double adRevenue, String adPlatform, String currency,
 | |
|       {String? orderType, String? orderId, String? productId, int? transactionDate}) {
 | |
|     // logEventEx(name, itemCategory: scene, itemName: adName);
 | |
|     final orderExtras = CollectionUtils.filterOutNulls(<String, dynamic>{
 | |
|       "order_type": orderType,
 | |
|       "order_id": orderId,
 | |
|       "product_id": productId,
 | |
|       "trans_ts": transactionDate
 | |
|     });
 | |
|     if (release) {
 | |
|       EventLogger.logAdRevenue020(adRevenue, adPlatform, currency, extras: orderExtras);
 | |
|     } else {
 | |
|       Log.d("[firebase] logAdRevenue020 ${<String, dynamic>{
 | |
|         "adRevenue": adRevenue,
 | |
|         "adPlatform": adPlatform,
 | |
|         "currency": currency,
 | |
|         ...orderExtras
 | |
|       }}");
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   void logAdLtv(String phase, double ltv) {
 | |
|     if (release) {
 | |
|       EventLogger.logAdLtv(phase, ltv);
 | |
|     } else {
 | |
|       Log.d("[firebase] logAdLtv ${<String, dynamic>{"phase": phase, "ltv": ltv}}");
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   void logAdImpression(String name, String adType,
 | |
|       {String scene = "", String adName = "", Map<String, dynamic> parameters = const {}}) {
 | |
|     logEventEx(name, itemCategory: scene, itemName: adName, parameters: parameters);
 | |
|     if (release) {
 | |
|       EventLogger.logFbAdImpression(adType);
 | |
|       FirebaseCrashlytics.instance
 | |
|           .log("adImp: name($name) scene($scene) adName($adName) adType($adType)");
 | |
|     } else {
 | |
|       Log.d("[facebook] logEvent logFbAdImpression: $adType");
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   void logAdImp(ImpressionData data) {
 | |
|     EventLogger.logAdImpression(
 | |
|         adPlatform: data.platform,
 | |
|         adSource: data.networkName,
 | |
|         adFormat: data.unitFormat,
 | |
|         adUnitName: data.unitName,
 | |
|         value: data.publisherRevenue,
 | |
|         currency: data.currency);
 | |
|   }
 | |
| 
 | |
|   void logAdClick(String name, String adType, {String scene = "", String adName = ""}) {
 | |
|     logEventEx(name, itemCategory: scene, itemName: adName);
 | |
|     if (release) {
 | |
|       EventLogger.logFbAdClick(adType);
 | |
|     } else {
 | |
|       Log.d("[facebook] logEvent logAdClick: $adType");
 | |
|     }
 | |
|   }
 | |
| }
 |