1 line
12 KiB
Plaintext
1 line
12 KiB
Plaintext
{"version":3,"file":"Facebook.js","sourceRoot":"","sources":["../../src/android/Facebook.ts"],"names":[],"mappings":"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","sourcesContent":["import { ExpoConfig } from '@expo/config-types';\n\nimport { createAndroidManifestPlugin, createStringsXmlPlugin } from '../plugins/android-plugins';\nimport { writeXMLAsync } from '../utils/XML';\nimport { assert } from '../utils/errors';\nimport {\n addMetaDataItemToMainApplication,\n AndroidManifest,\n getMainApplicationOrThrow,\n ManifestActivity,\n ManifestApplication,\n prefixAndroidKeys,\n removeMetaDataItemFromMainApplication,\n} from './Manifest';\nimport { buildResourceItem, readResourcesXMLAsync, ResourceXML } from './Resources';\nimport { getProjectStringsXMLPathAsync, removeStringItem, setStringItem } from './Strings';\n\nconst CUSTOM_TAB_ACTIVITY = 'com.facebook.CustomTabActivity';\nconst STRING_FACEBOOK_APP_ID = 'facebook_app_id';\nconst META_APP_ID = 'com.facebook.sdk.ApplicationId';\nconst META_APP_NAME = 'com.facebook.sdk.ApplicationName';\nconst META_AUTO_INIT = 'com.facebook.sdk.AutoInitEnabled';\nconst META_AUTO_LOG_APP_EVENTS = 'com.facebook.sdk.AutoLogAppEventsEnabled';\nconst META_AD_ID_COLLECTION = 'com.facebook.sdk.AdvertiserIDCollectionEnabled';\n\nexport const withFacebookAppIdString = createStringsXmlPlugin(\n applyFacebookAppIdString,\n 'withFacebookAppIdString'\n);\nexport const withFacebookManifest = createAndroidManifestPlugin(\n setFacebookConfig,\n 'withFacebookManifest'\n);\n\nfunction buildXMLItem({\n head,\n children,\n}: {\n head: Record<string, string>;\n children?: Record<string, string | any[]>;\n}) {\n return { ...(children ?? {}), $: head };\n}\n\nfunction buildAndroidItem(datum: string | Record<string, any>) {\n const item = typeof datum === 'string' ? { name: datum } : datum;\n const head = prefixAndroidKeys(item);\n return buildXMLItem({ head });\n}\n\nfunction getFacebookSchemeActivity(scheme: string) {\n /**\n <activity\n android:name=\"com.facebook.CustomTabActivity\"\n android:exported=\"true\">\n <intent-filter>\n <action android:name=\"android.intent.action.VIEW\" />\n <category android:name=\"android.intent.category.DEFAULT\" />\n <category android:name=\"android.intent.category.BROWSABLE\" />\n <data android:scheme=\"${scheme}\" />\n </intent-filter>\n</activity>\n */\n return buildXMLItem({\n head: prefixAndroidKeys({\n name: CUSTOM_TAB_ACTIVITY,\n exported: 'true',\n }),\n children: {\n 'intent-filter': [\n {\n action: [buildAndroidItem('android.intent.action.VIEW')],\n category: [\n buildAndroidItem('android.intent.category.DEFAULT'),\n buildAndroidItem('android.intent.category.BROWSABLE'),\n ],\n data: [buildAndroidItem({ scheme })],\n },\n ],\n },\n }) as ManifestActivity;\n}\n\ntype ExpoConfigFacebook = Pick<\n ExpoConfig,\n | 'facebookScheme'\n | 'facebookAdvertiserIDCollectionEnabled'\n | 'facebookAppId'\n | 'facebookAutoInitEnabled'\n | 'facebookAutoLogAppEventsEnabled'\n | 'facebookDisplayName'\n>;\n\nexport function getFacebookScheme(config: ExpoConfigFacebook) {\n return config.facebookScheme ?? null;\n}\n\nexport function getFacebookAppId(config: ExpoConfigFacebook) {\n return config.facebookAppId ?? null;\n}\n\nexport function getFacebookDisplayName(config: ExpoConfigFacebook) {\n return config.facebookDisplayName ?? null;\n}\nexport function getFacebookAutoInitEnabled(config: ExpoConfigFacebook) {\n return config.facebookAutoInitEnabled ?? null;\n}\n\nexport function getFacebookAutoLogAppEvents(config: ExpoConfigFacebook) {\n return config.facebookAutoLogAppEventsEnabled ?? null;\n}\n\nexport function getFacebookAdvertiserIDCollection(config: ExpoConfigFacebook) {\n return config.facebookAdvertiserIDCollectionEnabled ?? null;\n}\n\nfunction ensureFacebookActivity({\n mainApplication,\n scheme,\n}: {\n mainApplication: ManifestApplication;\n scheme: string | null;\n}) {\n if (Array.isArray(mainApplication.activity)) {\n // Remove all Facebook CustomTabActivities first\n mainApplication.activity = mainApplication.activity.filter(activity => {\n return activity.$?.['android:name'] !== CUSTOM_TAB_ACTIVITY;\n });\n } else {\n mainApplication.activity = [];\n }\n\n // If a new scheme is defined, append it to the activity.\n if (scheme) {\n mainApplication.activity.push(getFacebookSchemeActivity(scheme));\n }\n return mainApplication;\n}\n\nexport async function setFacebookAppIdString(config: ExpoConfigFacebook, projectRoot: string) {\n const stringsPath = await getProjectStringsXMLPathAsync(projectRoot);\n assert(stringsPath, `There was a problem setting your Facebook App ID in \"${stringsPath}\"`);\n\n let stringsJSON = await readResourcesXMLAsync({ path: stringsPath });\n stringsJSON = applyFacebookAppIdString(config, stringsJSON);\n\n try {\n await writeXMLAsync({ path: stringsPath, xml: stringsJSON });\n } catch {\n throw new Error(`Error setting facebookAppId. Cannot write strings.xml to \"${stringsPath}\"`);\n }\n return true;\n}\n\nfunction applyFacebookAppIdString(config: ExpoConfigFacebook, stringsJSON: ResourceXML) {\n const appId = getFacebookAppId(config);\n\n if (appId) {\n return setStringItem(\n [buildResourceItem({ name: STRING_FACEBOOK_APP_ID, value: appId })],\n stringsJSON\n );\n }\n return removeStringItem(STRING_FACEBOOK_APP_ID, stringsJSON);\n}\n\nexport function setFacebookConfig(config: ExpoConfigFacebook, androidManifest: AndroidManifest) {\n const scheme = getFacebookScheme(config);\n\n const appId = getFacebookAppId(config);\n const displayName = getFacebookDisplayName(config);\n const autoInitEnabled = getFacebookAutoInitEnabled(config);\n const autoLogAppEvents = getFacebookAutoLogAppEvents(config);\n const advertiserIdCollection = getFacebookAdvertiserIDCollection(config);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n let mainApplication = getMainApplicationOrThrow(androidManifest);\n\n mainApplication = ensureFacebookActivity({ scheme, mainApplication });\n\n if (appId) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n META_APP_ID,\n // The corresponding string is set in setFacebookAppIdString\n `@string/${STRING_FACEBOOK_APP_ID}`\n );\n } else {\n mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_APP_ID);\n }\n if (displayName) {\n mainApplication = addMetaDataItemToMainApplication(mainApplication, META_APP_NAME, displayName);\n } else {\n mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_APP_NAME);\n }\n if (autoInitEnabled !== null) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n META_AUTO_INIT,\n autoInitEnabled ? 'true' : 'false'\n );\n } else {\n mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_AUTO_INIT);\n }\n if (autoLogAppEvents !== null) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n META_AUTO_LOG_APP_EVENTS,\n autoLogAppEvents ? 'true' : 'false'\n );\n } else {\n mainApplication = removeMetaDataItemFromMainApplication(\n mainApplication,\n META_AUTO_LOG_APP_EVENTS\n );\n }\n if (advertiserIdCollection !== null) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n META_AD_ID_COLLECTION,\n advertiserIdCollection ? 'true' : 'false'\n );\n } else {\n mainApplication = removeMetaDataItemFromMainApplication(mainApplication, META_AD_ID_COLLECTION);\n }\n\n return androidManifest;\n}\n"]} |