UNPKG

9.37 kBSource Map (JSON)View Raw
1{"version":3,"file":"Facebook.js","sourceRoot":"","sources":["../../src/android/Facebook.ts"],"names":[],"mappings":"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","sourcesContent":["import { Parser } from 'xml2js';\nimport { ExpoConfig } from '../Config.types';\nimport { Document } from './Manifest';\nimport {\n getProjectStringsXMLPathAsync,\n readStringsXMLAsync,\n setStringItem,\n writeStringsXMLAsync,\n} from './Strings';\nimport { XMLItem } from './Styles';\n\nconst facebookSchemeActivity = (scheme: string) => `\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\nexport function getFacebookScheme(config: ExpoConfig) {\n return config.facebookScheme ?? null;\n}\n\nexport function getFacebookAppId(config: ExpoConfig) {\n return config.facebookAppId ?? null;\n}\n\nexport function getFacebookDisplayName(config: ExpoConfig) {\n return config.facebookDisplayName ?? null;\n}\nexport function getFacebookAutoInitEnabled(config: ExpoConfig) {\n return config.hasOwnProperty('facebookAutoInitEnabled') ? config.facebookAutoInitEnabled : null;\n}\n\nexport function getFacebookAutoLogAppEvents(config: ExpoConfig) {\n return config.hasOwnProperty('facebookAutoLogAppEventsEnabled')\n ? config.facebookAutoLogAppEventsEnabled\n : null;\n}\n\nexport function getFacebookAdvertiserIDCollection(config: ExpoConfig) {\n return config.hasOwnProperty('facebookAdvertiserIDCollectionEnabled')\n ? config.facebookAdvertiserIDCollectionEnabled\n : null;\n}\n\nexport async function setFacebookAppIdString(config: ExpoConfig, projectDirectory: string) {\n const appId = getFacebookAppId(config);\n if (!appId) {\n return false;\n }\n\n const stringsPath = await getProjectStringsXMLPathAsync(projectDirectory);\n if (!stringsPath) {\n throw new Error(`There was a problem setting your Facebook App ID in ${stringsPath}.`);\n }\n\n let stringsJSON = await readStringsXMLAsync(stringsPath);\n let stringItemToAdd: XMLItem[] = [{ _: appId, $: { name: 'facebook_app_id' } }];\n stringsJSON = setStringItem(stringItemToAdd, stringsJSON);\n\n try {\n await writeStringsXMLAsync(stringsPath, stringsJSON);\n } catch (e) {\n throw new Error(\n `Error setting facebookAppId. Cannot write strings.xml to ${stringsPath}.`\n );\n }\n return true;\n}\n\nexport async function setFacebookConfig(config: ExpoConfig, manifestDocument: Document) {\n const scheme = getFacebookScheme(config);\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 let mainApplication = manifestDocument.manifest.application.filter(\n (e: any) => e['$']['android:name'] === '.MainApplication'\n )[0];\n\n if (scheme) {\n const facebookSchemeActivityXML = facebookSchemeActivity(scheme);\n const parser = new Parser();\n const facebookSchemeActivityJSON = await parser.parseStringPromise(facebookSchemeActivityXML);\n\n //TODO: don't write if facebook scheme activity is already present\n if (mainApplication.hasOwnProperty('activity')) {\n mainApplication['activity'] = mainApplication['activity'].concat(\n facebookSchemeActivityJSON['activity']\n );\n } else {\n mainApplication['activity'] = facebookSchemeActivityJSON['activity'];\n }\n }\n if (appId) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n 'com.facebook.sdk.ApplicationId',\n '@string/facebook_app_id' // The corresponding string is set in setFacebookAppIdString\n );\n }\n if (displayName) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n 'com.facebook.sdk.ApplicationName',\n displayName\n );\n }\n if (autoInitEnabled !== null) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n 'com.facebook.sdk.AutoInitEnabled',\n autoInitEnabled ? 'true' : 'false'\n );\n }\n if (autoLogAppEvents !== null) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n 'com.facebook.sdk.AutoLogAppEventsEnabled',\n autoLogAppEvents ? 'true' : 'false'\n );\n }\n if (advertiserIdCollection !== null) {\n mainApplication = addMetaDataItemToMainApplication(\n mainApplication,\n 'com.facebook.sdk.AdvertiserIDCollectionEnabled',\n advertiserIdCollection ? 'true' : 'false'\n );\n }\n\n return manifestDocument;\n}\n\nfunction addMetaDataItemToMainApplication(\n mainApplication: any,\n itemName: string,\n itemValue: string\n) {\n let existingMetaDataItem;\n const newItem = {\n $: {\n 'android:name': itemName,\n 'android:value': itemValue,\n },\n };\n if (mainApplication.hasOwnProperty('meta-data')) {\n existingMetaDataItem = mainApplication['meta-data'].filter(\n (e: any) => e['$']['android:name'] === itemName\n );\n if (existingMetaDataItem.length) {\n existingMetaDataItem[0]['$']['android:value'] = itemValue;\n } else {\n mainApplication['meta-data'].push(newItem);\n }\n } else {\n mainApplication['meta-data'] = [newItem];\n }\n return mainApplication;\n}\n"]}
\No newline at end of file