package com.google.firebase.messaging; import B0.w; import W1.r; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; import com.google.android.gms.tasks.Tasks; import com.google.firebase.FirebaseApp; import com.google.firebase.analytics.connector.AnalyticsConnector; import com.google.firebase.installations.FirebaseInstallations; import com.google.firebase.messaging.Constants; import com.google.firebase.messaging.reporting.MessagingClientEvent; import com.google.firebase.messaging.reporting.MessagingClientEventExtension; import java.util.concurrent.ExecutionException; /* loaded from: classes3.dex */ public class MessagingAnalytics { private static final int DEFAULT_PRODUCT_ID = 111881503; private static final String DELIVERY_METRICS_EXPORT_TO_BIG_QUERY_PREF = "export_to_big_query"; private static final String FCM_PREFERENCES = "com.google.firebase.messaging"; private static final String MANIFEST_DELIVERY_METRICS_EXPORT_TO_BIG_QUERY_ENABLED = "delivery_metrics_exported_to_big_query_enabled"; private static final String REENGAGEMENT_MEDIUM = "notification"; private static final String REENGAGEMENT_SOURCE = "Firebase"; public static boolean deliveryMetricsExportToBigQueryEnabled() { ApplicationInfo applicationInfo; Bundle bundle; try { FirebaseApp.getInstance(); Context applicationContext = FirebaseApp.getInstance().getApplicationContext(); SharedPreferences sharedPreferences = applicationContext.getSharedPreferences("com.google.firebase.messaging", 0); if (sharedPreferences.contains(DELIVERY_METRICS_EXPORT_TO_BIG_QUERY_PREF)) { return sharedPreferences.getBoolean(DELIVERY_METRICS_EXPORT_TO_BIG_QUERY_PREF, false); } try { PackageManager packageManager = applicationContext.getPackageManager(); if (packageManager != null && (applicationInfo = packageManager.getApplicationInfo(applicationContext.getPackageName(), 128)) != null && (bundle = applicationInfo.metaData) != null && bundle.containsKey(MANIFEST_DELIVERY_METRICS_EXPORT_TO_BIG_QUERY_ENABLED)) { return applicationInfo.metaData.getBoolean(MANIFEST_DELIVERY_METRICS_EXPORT_TO_BIG_QUERY_ENABLED, false); } } catch (PackageManager.NameNotFoundException unused) { } return false; } catch (IllegalStateException unused2) { Log.i(Constants.TAG, "FirebaseApp has not being initialized. Device might be in direct boot mode. Skip exporting delivery metrics to Big Query"); return false; } } public static MessagingClientEvent eventToProto(MessagingClientEvent.Event event, Intent intent) { if (intent == null) { return null; } Bundle extras = intent.getExtras(); if (extras == null) { extras = Bundle.EMPTY; } MessagingClientEvent.Builder messageType = MessagingClientEvent.newBuilder().setTtl(getTtl(extras)).setEvent(event).setInstanceId(getInstanceId(extras)).setPackageName(getPackageName()).setSdkPlatform(MessagingClientEvent.SDKPlatform.ANDROID).setMessageType(getMessageTypeForFirelog(extras)); String messageId = getMessageId(extras); if (messageId != null) { messageType.setMessageId(messageId); } String topic = getTopic(extras); if (topic != null) { messageType.setTopic(topic); } String collapseKey = getCollapseKey(extras); if (collapseKey != null) { messageType.setCollapseKey(collapseKey); } String messageLabel = getMessageLabel(extras); if (messageLabel != null) { messageType.setAnalyticsLabel(messageLabel); } String composerLabel = getComposerLabel(extras); if (composerLabel != null) { messageType.setComposerLabel(composerLabel); } long projectNumber = getProjectNumber(extras); if (projectNumber > 0) { messageType.setProjectNumber(projectNumber); } return messageType.build(); } public static String getCollapseKey(Bundle bundle) { return bundle.getString(Constants.MessagePayloadKeys.COLLAPSE_KEY); } public static String getComposerId(Bundle bundle) { return bundle.getString(Constants.AnalyticsKeys.COMPOSER_ID); } public static String getComposerLabel(Bundle bundle) { return bundle.getString(Constants.AnalyticsKeys.COMPOSER_LABEL); } public static String getInstanceId(Bundle bundle) { String string = bundle.getString(Constants.MessagePayloadKeys.TO); if (!TextUtils.isEmpty(string)) { return string; } try { return (String) Tasks.await(FirebaseInstallations.getInstance(FirebaseApp.getInstance()).getId()); } catch (InterruptedException | ExecutionException e4) { throw new RuntimeException(e4); } } public static String getMessageChannel(Bundle bundle) { return bundle.getString(Constants.AnalyticsKeys.MESSAGE_CHANNEL); } public static String getMessageId(Bundle bundle) { String string = bundle.getString(Constants.MessagePayloadKeys.MSGID); return string == null ? bundle.getString(Constants.MessagePayloadKeys.MSGID_SERVER) : string; } public static String getMessageLabel(Bundle bundle) { return bundle.getString(Constants.AnalyticsKeys.MESSAGE_LABEL); } private static int getMessagePriority(String str) { if ("high".equals(str)) { return 1; } return "normal".equals(str) ? 2 : 0; } public static int getMessagePriorityForFirelog(Bundle bundle) { int priority = getPriority(bundle); if (priority == 2) { return 5; } return priority == 1 ? 10 : 0; } public static String getMessageTime(Bundle bundle) { return bundle.getString(Constants.AnalyticsKeys.MESSAGE_TIMESTAMP); } public static MessagingClientEvent.MessageType getMessageTypeForFirelog(Bundle bundle) { return (bundle == null || !NotificationParams.isNotification(bundle)) ? MessagingClientEvent.MessageType.DATA_MESSAGE : MessagingClientEvent.MessageType.DISPLAY_NOTIFICATION; } public static String getMessageTypeForScion(Bundle bundle) { return (bundle == null || !NotificationParams.isNotification(bundle)) ? Constants.ScionAnalytics.MessageType.DATA_MESSAGE : Constants.ScionAnalytics.MessageType.DISPLAY_NOTIFICATION; } public static String getPackageName() { return FirebaseApp.getInstance().getApplicationContext().getPackageName(); } public static int getPriority(Bundle bundle) { String string = bundle.getString(Constants.MessagePayloadKeys.DELIVERED_PRIORITY); if (string == null) { if ("1".equals(bundle.getString(Constants.MessagePayloadKeys.PRIORITY_REDUCED_V19))) { return 2; } string = bundle.getString(Constants.MessagePayloadKeys.PRIORITY_V19); } return getMessagePriority(string); } public static long getProjectNumber(Bundle bundle) { if (bundle.containsKey(Constants.MessagePayloadKeys.SENDER_ID)) { try { return Long.parseLong(bundle.getString(Constants.MessagePayloadKeys.SENDER_ID)); } catch (NumberFormatException e4) { Log.w(Constants.TAG, "error parsing project number", e4); } } FirebaseApp firebaseApp = FirebaseApp.getInstance(); String gcmSenderId = firebaseApp.getOptions().getGcmSenderId(); if (gcmSenderId != null) { try { return Long.parseLong(gcmSenderId); } catch (NumberFormatException e5) { Log.w(Constants.TAG, "error parsing sender ID", e5); } } String applicationId = firebaseApp.getOptions().getApplicationId(); if (applicationId.startsWith("1:")) { String[] split = applicationId.split(":"); if (split.length < 2) { return 0L; } String str = split[1]; if (str.isEmpty()) { return 0L; } try { return Long.parseLong(str); } catch (NumberFormatException e6) { Log.w(Constants.TAG, "error parsing app ID", e6); } } else { try { return Long.parseLong(applicationId); } catch (NumberFormatException e7) { Log.w(Constants.TAG, "error parsing app ID", e7); } } return 0L; } public static String getTopic(Bundle bundle) { String string = bundle.getString(Constants.MessagePayloadKeys.FROM); if (string == null || !string.startsWith("/topics/")) { return null; } return string; } public static int getTtl(Bundle bundle) { Object obj = bundle.get(Constants.MessagePayloadKeys.TTL); if (obj instanceof Integer) { return ((Integer) obj).intValue(); } if (!(obj instanceof String)) { return 0; } try { return Integer.parseInt((String) obj); } catch (NumberFormatException unused) { Log.w(Constants.TAG, "Invalid TTL: " + obj); return 0; } } public static String getUseDeviceTime(Bundle bundle) { if (bundle.containsKey(Constants.AnalyticsKeys.MESSAGE_USE_DEVICE_TIME)) { return bundle.getString(Constants.AnalyticsKeys.MESSAGE_USE_DEVICE_TIME); } return null; } private static boolean isDirectBootMessage(Intent intent) { return FirebaseMessagingService.ACTION_DIRECT_BOOT_REMOTE_INTENT.equals(intent.getAction()); } public static void logNotificationDismiss(Intent intent) { logToScion(Constants.ScionAnalytics.EVENT_NOTIFICATION_DISMISS, intent.getExtras()); } public static void logNotificationForeground(Intent intent) { logToScion(Constants.ScionAnalytics.EVENT_NOTIFICATION_FOREGROUND, intent.getExtras()); } public static void logNotificationOpen(Bundle bundle) { setUserPropertyIfRequired(bundle); logToScion(Constants.ScionAnalytics.EVENT_NOTIFICATION_OPEN, bundle); } public static void logNotificationReceived(Intent intent) { if (shouldUploadScionMetrics(intent)) { logToScion(Constants.ScionAnalytics.EVENT_NOTIFICATION_RECEIVE, intent.getExtras()); } if (shouldUploadFirelogAnalytics(intent)) { logToFirelog(MessagingClientEvent.Event.MESSAGE_DELIVERED, intent, FirebaseMessaging.getTransportFactory()); } } private static void logToFirelog(MessagingClientEvent.Event event, Intent intent, T1.g gVar) { if (gVar == null) { Log.e(Constants.TAG, "TransportFactory is null. Skip exporting message delivery metrics to Big Query"); return; } MessagingClientEvent eventToProto = eventToProto(event, intent); if (eventToProto == null) { return; } try { r rVar = (r) gVar; rVar.a(Constants.FirelogAnalytics.FCM_LOG_SOURCE, new T1.c("proto"), new w(16)).a(new T1.a(MessagingClientEventExtension.newBuilder().setMessagingClientEvent(eventToProto).build(), T1.d.f1658a, new T1.b(Integer.valueOf(intent.getIntExtra(Constants.MessagePayloadKeys.PRODUCT_ID, DEFAULT_PRODUCT_ID)))), new w(8)); } catch (RuntimeException e4) { Log.w(Constants.TAG, "Failed to send big query analytics payload.", e4); } } public static void logToScion(String str, Bundle bundle) { try { FirebaseApp.getInstance(); if (bundle == null) { bundle = new Bundle(); } Bundle bundle2 = new Bundle(); String composerId = getComposerId(bundle); if (composerId != null) { bundle2.putString("_nmid", composerId); } String composerLabel = getComposerLabel(bundle); if (composerLabel != null) { bundle2.putString(Constants.ScionAnalytics.PARAM_MESSAGE_NAME, composerLabel); } String messageLabel = getMessageLabel(bundle); if (!TextUtils.isEmpty(messageLabel)) { bundle2.putString(Constants.ScionAnalytics.PARAM_LABEL, messageLabel); } String messageChannel = getMessageChannel(bundle); if (!TextUtils.isEmpty(messageChannel)) { bundle2.putString(Constants.ScionAnalytics.PARAM_MESSAGE_CHANNEL, messageChannel); } String topic = getTopic(bundle); if (topic != null) { bundle2.putString(Constants.ScionAnalytics.PARAM_TOPIC, topic); } String messageTime = getMessageTime(bundle); if (messageTime != null) { try { bundle2.putInt(Constants.ScionAnalytics.PARAM_MESSAGE_TIME, Integer.parseInt(messageTime)); } catch (NumberFormatException e4) { Log.w(Constants.TAG, "Error while parsing timestamp in GCM event", e4); } } String useDeviceTime = getUseDeviceTime(bundle); if (useDeviceTime != null) { try { bundle2.putInt(Constants.ScionAnalytics.PARAM_MESSAGE_DEVICE_TIME, Integer.parseInt(useDeviceTime)); } catch (NumberFormatException e5) { Log.w(Constants.TAG, "Error while parsing use_device_time in GCM event", e5); } } String messageTypeForScion = getMessageTypeForScion(bundle); if (Constants.ScionAnalytics.EVENT_NOTIFICATION_RECEIVE.equals(str) || Constants.ScionAnalytics.EVENT_NOTIFICATION_FOREGROUND.equals(str)) { bundle2.putString(Constants.ScionAnalytics.PARAM_MESSAGE_TYPE, messageTypeForScion); } if (Log.isLoggable(Constants.TAG, 3)) { Log.d(Constants.TAG, "Logging to scion event=" + str + " scionPayload=" + bundle2); } AnalyticsConnector analyticsConnector = (AnalyticsConnector) FirebaseApp.getInstance().get(AnalyticsConnector.class); if (analyticsConnector != null) { analyticsConnector.logEvent("fcm", str, bundle2); } else { Log.w(Constants.TAG, "Unable to log event: analytics library is missing"); } } catch (IllegalStateException unused) { Log.e(Constants.TAG, "Default FirebaseApp has not been initialized. Skip logging event to GA."); } } public static void setDeliveryMetricsExportToBigQuery(boolean z3) { FirebaseApp.getInstance().getApplicationContext().getSharedPreferences("com.google.firebase.messaging", 0).edit().putBoolean(DELIVERY_METRICS_EXPORT_TO_BIG_QUERY_PREF, z3).apply(); } private static void setUserPropertyIfRequired(Bundle bundle) { if (bundle == null) { return; } if (!"1".equals(bundle.getString(Constants.AnalyticsKeys.TRACK_CONVERSIONS))) { if (Log.isLoggable(Constants.TAG, 3)) { Log.d(Constants.TAG, "Received event with track-conversion=false. Do not set user property"); return; } return; } AnalyticsConnector analyticsConnector = (AnalyticsConnector) FirebaseApp.getInstance().get(AnalyticsConnector.class); if (Log.isLoggable(Constants.TAG, 3)) { Log.d(Constants.TAG, "Received event with track-conversion=true. Setting user property and reengagement event"); } if (analyticsConnector == null) { Log.w(Constants.TAG, "Unable to set user property for conversion tracking: analytics library is missing"); return; } String string = bundle.getString(Constants.AnalyticsKeys.COMPOSER_ID); analyticsConnector.setUserProperty("fcm", Constants.ScionAnalytics.USER_PROPERTY_FIREBASE_LAST_NOTIFICATION, string); Bundle bundle2 = new Bundle(); bundle2.putString("source", REENGAGEMENT_SOURCE); bundle2.putString("medium", REENGAGEMENT_MEDIUM); bundle2.putString("campaign", string); analyticsConnector.logEvent("fcm", "_cmp", bundle2); } public static boolean shouldUploadFirelogAnalytics(Intent intent) { if (intent == null || isDirectBootMessage(intent)) { return false; } return deliveryMetricsExportToBigQueryEnabled(); } public static boolean shouldUploadScionMetrics(Intent intent) { if (intent == null || isDirectBootMessage(intent)) { return false; } return shouldUploadScionMetrics(intent.getExtras()); } public static boolean shouldUploadScionMetrics(Bundle bundle) { if (bundle == null) { return false; } return "1".equals(bundle.getString(Constants.AnalyticsKeys.ENABLED)); } }