{"_id":"@andriiderevianko/facebook-login","_rev":"1-a1490f038917475953ca1ca1252ce247","name":"@andriiderevianko/facebook-login","description":"A native plugin for Facebook Login","dist-tags":{"latest":"6.0.1"},"versions":{"6.0.0":{"name":"@andriiderevianko/facebook-login","version":"6.0.0","keywords":["capacitor","plugin","native"],"author":{"name":"Masahiko Sakakibara","email":"sakakibara@rdlabo.jp"},"license":"MIT","_id":"@andriiderevianko/facebook-login@6.0.0","maintainers":[{"name":"andriiderevianko","email":"derevyanko.andrew2004@gmail.com"}],"homepage":"https://github.com/capacitor-community/facebook-login#readme","dist":{"shasum":"ac331999b0b8dd2df8d12e8e8e9c36f87ef17d7e","tarball":"https://registry.npmjs.org/@andriiderevianko/facebook-login/-/facebook-login-6.0.0.tgz","fileCount":29,"integrity":"sha512-G/oscw+/LH9SnrcawTCKjT9cRtayI1I/y1xt+MZGv0qekLQJSGAAlo0GxD85C1RtANJre5ieRGHT48pfa9EmIA==","signatures":[{"sig":"MEUCIA0CAnRbG4qjiY3LwHtRn9zpP0bXL8lPzKUaAvSP+eVOAiEAsp8ZDKklMfqWN10EFzLkXJPyFyPmRfns0EpQVF8Rflo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":89072},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","engines":{"node":">=18.0.0"},"gitHead":"e2940032398a9b6dc91848b2710b56e00940130f","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.js","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api FacebookLoginPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","release":"np --no-tests","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd .."},"_npmUser":{"name":"andriiderevianko","email":"derevyanko.andrew2004@gmail.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+ssh://git@github.com/capacitor-community/facebook-login.git","type":"git"},"_npmVersion":"9.5.1","description":"A native plugin for Facebook Login","directories":{},"_nodeVersion":"18.16.1","dependencies":{"@capacitor/core":"^6.0.0"},"eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"_hasShrinkwrap":false,"devDependencies":{"np":"^8.0.4","eslint":"^7.26.0","rimraf":"^3.0.2","rollup":"^2.48.0","prettier":"^2.3.0","swiftlint":"^1.0.1","typescript":"~4.1.5","@capacitor/cli":"^6.0.0","@capacitor/ios":"^6.0.0","@capacitor/core":"^6.0.0","@capacitor/docgen":"^0.0.16","@capacitor/android":"^6.0.0","@ionic/eslint-config":"^0.3.0","prettier-plugin-java":"~1.0.2","@ionic/prettier-config":"^1.0.1","@ionic/swiftlint-config":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/facebook-login_6.0.0_1718703598080_0.27058320492686216","host":"s3://npm-registry-packages"}},"6.0.1":{"name":"@andriiderevianko/facebook-login","version":"6.0.1","description":"A native plugin for Facebook Login","engines":{"node":">=18.0.0"},"main":"dist/plugin.cjs.js","module":"dist/esm/index.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","author":{"name":"Masahiko Sakakibara","email":"sakakibara@rdlabo.jp"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/capacitor-community/facebook-login.git"},"scripts":{"verify":"npm run verify:ios && npm run verify:android && npm run verify:web","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:android":"cd android && ./gradlew clean build test && cd ..","verify:web":"npm run build","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","eslint":"eslint . --ext ts","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","docgen":"docgen --api FacebookLoginPlugin --output-readme README.md --output-json dist/docs.json","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.js","clean":"rimraf ./dist","watch":"tsc --watch","prepublishOnly":"npm run build","release":"np --no-tests"},"devDependencies":{"@capacitor/android":"^6.0.0","@capacitor/cli":"^6.0.0","@capacitor/core":"^6.0.0","@capacitor/docgen":"^0.0.16","@capacitor/ios":"^6.0.0","@ionic/eslint-config":"^0.3.0","@ionic/prettier-config":"^1.0.1","@ionic/swiftlint-config":"^1.1.2","eslint":"^7.26.0","np":"^8.0.4","prettier":"^2.3.0","prettier-plugin-java":"~1.0.2","rimraf":"^3.0.2","rollup":"^2.48.0","swiftlint":"^1.0.1","typescript":"~4.1.5"},"dependencies":{"@capacitor/core":"^6.0.0"},"prettier":"@ionic/prettier-config","swiftlint":"@ionic/swiftlint-config","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"keywords":["capacitor","plugin","native"],"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"gitHead":"e2940032398a9b6dc91848b2710b56e00940130f","homepage":"https://github.com/capacitor-community/facebook-login#readme","_id":"@andriiderevianko/facebook-login@6.0.1","_nodeVersion":"18.16.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-JnOow0zYk9cQ59fU271HEHb3OX1mbARr69MIjjS4U7G86mDcTlUx3fP2Aa8MJbEl6L25xyIixpbb1yacvFYKqg==","shasum":"eca1d11d0ce78d1193d4e953121a3c68780e4496","tarball":"https://registry.npmjs.org/@andriiderevianko/facebook-login/-/facebook-login-6.0.1.tgz","fileCount":29,"unpackedSize":89068,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5SqQOmyym/MAP7IwmaigxIYUYEKEaM7P2dtO+GromIAIhAPGlq3gMjBeR69p7Fv3aU1QnOdDDO8SgT4kgvTm0HVkm"}]},"_npmUser":{"name":"andriiderevianko","email":"derevyanko.andrew2004@gmail.com"},"directories":{},"maintainers":[{"name":"andriiderevianko","email":"derevyanko.andrew2004@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/facebook-login_6.0.1_1718709119179_0.48937115085374705"},"_hasShrinkwrap":false}},"time":{"created":"2024-06-18T09:39:57.987Z","modified":"2024-06-18T11:11:59.518Z","6.0.0":"2024-06-18T09:39:58.282Z","6.0.1":"2024-06-18T11:11:59.353Z"},"maintainers":[{"name":"andriiderevianko","email":"derevyanko.andrew2004@gmail.com"}],"author":{"name":"Masahiko Sakakibara","email":"sakakibara@rdlabo.jp"},"repository":{"type":"git","url":"git+ssh://git@github.com/capacitor-community/facebook-login.git"},"keywords":["capacitor","plugin","native"],"license":"MIT","homepage":"https://github.com/capacitor-community/facebook-login#readme","readme":"<p align=\"center\"><br><img src=\"https://user-images.githubusercontent.com/236501/85893648-1c92e880-b7a8-11ea-926d-95355b8175c7.png\" width=\"128\" height=\"128\" /></p>\n<h3 align=\"center\">Facebook Login</h3>\n<p align=\"center\"><strong><code>@capacitor-community/facebook-login</code></strong></p>\n<p align=\"center\">\n  Capacitor community plugin for native Facebook Login.\n</p>\n\n<p align=\"center\">\n  <img src=\"https://img.shields.io/maintenance/yes/2024?style=flat-square\" />\n  <!-- <a href=\"https://github.com/capacitor-community/example/actions?query=workflow%3A%22CI%22\"><img src=\"https://img.shields.io/github/workflow/status/capacitor-community/example/CI?style=flat-square\" /></a> -->\n  <a href=\"https://www.npmjs.com/package/@capacitor-community/facebook-login\"><img src=\"https://img.shields.io/npm/l/@capacitor-community/facebook-login?style=flat-square\" /></a>\n<br>\n  <a href=\"https://www.npmjs.com/package/@capacitor-community/facebook-login\"><img src=\"https://img.shields.io/npm/dw/@capacitor-community/facebook-login?style=flat-square\" /></a>\n  <a href=\"https://www.npmjs.com/package/@capacitor-community/facebook-login\"><img src=\"https://img.shields.io/npm/v/@capacitor-community/facebook-login?style=flat-square\" /></a>\n</p>\n\n## Maintainers\n\n| Maintainer          | GitHub                                  | Social                                    | Sponsoring Company                             |\n| ------------------- | --------------------------------------- | ----------------------------------------- | ---------------------------------------------- |\n| Masahiko Sakakibara | [rdlabo](https://github.com/rdlabo)     | [@rdlabo](https://twitter.com/rdlabo)     | RELATION DESIGN LABO, GENERAL INC. ASSOCIATION |\n\n## Contributors ✨\n\n<a href=\"https://github.com/capacitor-community/facebook-login/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=capacitor-community/facebook-login\" />\n</a>\n\nMade with [contributors-img](https://contrib.rocks).\n\n## Demo\n\n[Demo code is here.](https://github.com/capacitor-community/facebook-login/tree/master/demo/angular)\n\n## Dependency version\n\nIf you want to know facebook library version, you should check:\n\n- [iOS](https://github.com/capacitor-community/facebook-login/blob/master/CapacitorCommunityFacebookLogin.podspec#L18-L19)\n- [Android](https://github.com/capacitor-community/facebook-login/blob/master/android/build.gradle#L52)\n\n## Installation\n\n```bash\n% npm i --save @capacitor-community/facebook-login\n% npx cap update\n```\n\n### Versions\n\nUsers of Capacitor v5 should use version v5 of the Plugin.\n\n```bash\n% npm install @capacitor-community/facebook-login@5\n```\n\n### Android configuration\n\nIn file `android/app/src/main/AndroidManifest.xml`, add the following XML elements under `<manifest><application>` :\n\n```xml\n<meta-data android:name=\"com.facebook.sdk.ApplicationId\" android:value=\"@string/facebook_app_id\"/>\n<meta-data android:name=\"com.facebook.sdk.ClientToken\" android:value=\"@string/facebook_client_token\"/>\n```\n\nIn file `android/app/src/main/res/values/strings.xml` add the following lines :\n\n```xml\n<string name=\"facebook_app_id\">[APP_ID]</string>\n<string name=\"facebook_client_token\">[CLIENT_TOKEN]</string>\n```\n\nDon't forget to replace `[APP_ID]` and `[CLIENT_TOKEN]` by your Facebook application Id.\n\nMore information can be found here: https://developers.facebook.com/docs/android/getting-started\n\n#### If you have trouble.\n\nPlease restart Android Studio, and do clean build.\n\n### iOS configuration\n\nIn file `ios/App/App/AppDelegate.swift` add or replace the following:\n\n```swift\nimport UIKit\nimport Capacitor\nimport FBSDKCoreKit\n\n@UIApplicationMain\nclass AppDelegate: UIResponder, UIApplicationDelegate {\n\n    var window: UIWindow?\n\n    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {\n        // Override point for customization after application launch.\n        FBSDKCoreKit.ApplicationDelegate.shared.application(\n            application,\n            didFinishLaunchingWithOptions: launchOptions\n        )\n\n        return true\n    }\n\n    ...\n\n    func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {\n        // Called when the app was launched with a url. Feel free to add additional processing here,\n        // but if you want the App API to support tracking app url opens, make sure to keep this call\n        if (FBSDKCoreKit.ApplicationDelegate.shared.application(\n            app,\n            open: url,\n            sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String,\n            annotation: options[UIApplication.OpenURLOptionsKey.annotation]\n        )) {\n            return true;\n        } else {\n            return ApplicationDelegateProxy.shared.application(app, open: url, options: options)\n        }\n    }\n}\n```\n\nAdd the following in the `ios/App/App/info.plist` file inside of the outermost `<dict>`:\n\n```xml\n\n<key>CFBundleURLTypes</key>\n<array>\n    <dict>\n        <key>CFBundleURLSchemes</key>\n        <array>\n            <string>fb[APP_ID]</string>\n        </array>\n    </dict>\n</array>\n<key>FacebookAppID</key>\n<string>[APP_ID]</string>\n<key>FacebookClientToken</key>\n<string>[CLIENT_TOKEN]</string>\n<key>FacebookDisplayName</key>\n<string>[APP_NAME]</string>\n<key>LSApplicationQueriesSchemes</key>\n<array>\n    <string>fbapi</string>\n    <string>fbapi20130214</string>\n    <string>fbapi20130410</string>\n    <string>fbapi20130702</string>\n    <string>fbapi20131010</string>\n    <string>fbapi20131219</string>\n    <string>fbapi20140410</string>\n    <string>fbapi20140116</string>\n    <string>fbapi20150313</string>\n    <string>fbapi20150629</string>\n    <string>fbapi20160328</string>\n    <string>fbauth</string>\n    <string>fb-messenger-share-api</string>\n    <string>fbauth2</string>\n    <string>fbshareextension</string>\n</array>\n```\n\nMore information can be found here: https://developers.facebook.com/docs/facebook-login/ios\n\n### Web configuration\n\n```typescript\nimport { FacebookLogin } from '@capacitor-community/facebook-login';\n\n// use hook after platform dom ready\nawait FacebookLogin.initialize({ appId: '105890006170720' });\n```\n\nMore information can be found here: https://developers.facebook.com/docs/facebook-login/web\nAnd you must confirm return type at https://github.com/rdlabo/capacitor-facebook-login/blob/master/src/web.ts#L55-L57\nnot same type for default web facebook login!\n\n## Example\n\n### Login\n\n```ts\nimport {\n  FacebookLogin,\n  FacebookLoginResponse,\n} from '@capacitor-community/facebook-login';\n\nconst FACEBOOK_PERMISSIONS = [\n  'email',\n  'user_birthday',\n  'user_photos',\n  'user_gender',\n];\nconst result = await (<FacebookLoginResponse>(\n  FacebookLogin.login({ permissions: FACEBOOK_PERMISSIONS })\n));\n\nif (result.accessToken) {\n  // Login successful.\n  console.log(`Facebook access token is ${result.accessToken.token}`);\n}\n```\n\n### Logout\n\n```ts\nimport { FacebookLogin } from '@capacitor-community/facebook-login';\n\nawait FacebookLogin.logout();\n```\n\n### CurrentAccessToken\n\n```ts\nimport {\n  FacebookLogin,\n  FacebookLoginResponse,\n} from '@capacitor-community/facebook-login';\n\nconst result = await (<FacebookLoginResponse>(\n  FacebookLogin.getCurrentAccessToken()\n));\n\nif (result.accessToken) {\n  console.log(`Facebook access token is ${result.accessToken.token}`);\n}\n```\n\n### getProfile\n\n```ts\nimport {\n  FacebookLogin,\n  FacebookLoginResponse,\n} from '@capacitor-community/facebook-login';\n\nconst result = await FacebookLogin.getProfile<{\n  email: string;\n}>({ fields: ['email'] });\n\nconsole.log(`Facebook user's email is ${result.email}`);\n```\n\n## API\n\n<docgen-index>\n\n* [`initialize(...)`](#initialize)\n* [`login(...)`](#login)\n* [`limitedLogin(...)`](#limitedlogin)\n* [`logout()`](#logout)\n* [`reauthorize()`](#reauthorize)\n* [`getCurrentAccessToken()`](#getcurrentaccesstoken)\n* [`getProfile(...)`](#getprofile)\n* [`logEvent(...)`](#logevent)\n* [`setAutoLogAppEventsEnabled(...)`](#setautologappeventsenabled)\n* [`setAdvertiserTrackingEnabled(...)`](#setadvertisertrackingenabled)\n* [`setAdvertiserIDCollectionEnabled(...)`](#setadvertiseridcollectionenabled)\n* [Interfaces](#interfaces)\n* [Type Aliases](#type-aliases)\n\n</docgen-index>\n\n<docgen-api>\n<!--Update the source file JSDoc comments and rerun docgen to update the docs below-->\n\n### initialize(...)\n\n```typescript\ninitialize(options: Partial<FacebookConfiguration>) => Promise<void>\n```\n\n| Param         | Type                                                                                                          |\n| ------------- | ------------------------------------------------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#partial\">Partial</a>&lt;<a href=\"#facebookconfiguration\">FacebookConfiguration</a>&gt;</code> |\n\n--------------------\n\n\n### login(...)\n\n```typescript\nlogin(options: { permissions: string[]; }) => Promise<FacebookLoginResponse>\n```\n\n| Param         | Type                                    |\n| ------------- | --------------------------------------- |\n| **`options`** | <code>{ permissions: string[]; }</code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#facebookloginresponse\">FacebookLoginResponse</a>&gt;</code>\n\n--------------------\n\n\n### limitedLogin(...)\n\n```typescript\nlimitedLogin(options: { permissions: string[]; tracking?: 'limited' | 'enabled'; nonce?: string; }) => Promise<LimitedFacebookLoginResponse>\n```\n\n| Param         | Type                                                                                       |\n| ------------- | ------------------------------------------------------------------------------------------ |\n| **`options`** | <code>{ permissions: string[]; tracking?: 'limited' \\| 'enabled'; nonce?: string; }</code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#limitedfacebookloginresponse\">LimitedFacebookLoginResponse</a>&gt;</code>\n\n--------------------\n\n\n### logout()\n\n```typescript\nlogout() => Promise<void>\n```\n\n--------------------\n\n\n### reauthorize()\n\n```typescript\nreauthorize() => Promise<FacebookLoginResponse>\n```\n\n**Returns:** <code>Promise&lt;<a href=\"#facebookloginresponse\">FacebookLoginResponse</a>&gt;</code>\n\n--------------------\n\n\n### getCurrentAccessToken()\n\n```typescript\ngetCurrentAccessToken() => Promise<FacebookCurrentAccessTokenResponse>\n```\n\n**Returns:** <code>Promise&lt;<a href=\"#facebookcurrentaccesstokenresponse\">FacebookCurrentAccessTokenResponse</a>&gt;</code>\n\n--------------------\n\n\n### getProfile(...)\n\n```typescript\ngetProfile<T extends Record<string, unknown>>(options: { fields: readonly string[]; }) => Promise<T>\n```\n\n| Param         | Type                                        |\n| ------------- | ------------------------------------------- |\n| **`options`** | <code>{ fields: readonly string[]; }</code> |\n\n**Returns:** <code>Promise&lt;T&gt;</code>\n\n--------------------\n\n\n### logEvent(...)\n\n```typescript\nlogEvent(options: { eventName: string; }) => Promise<void>\n```\n\n| Param         | Type                                |\n| ------------- | ----------------------------------- |\n| **`options`** | <code>{ eventName: string; }</code> |\n\n--------------------\n\n\n### setAutoLogAppEventsEnabled(...)\n\n```typescript\nsetAutoLogAppEventsEnabled(options: { enabled: boolean; }) => Promise<void>\n```\n\n| Param         | Type                               |\n| ------------- | ---------------------------------- |\n| **`options`** | <code>{ enabled: boolean; }</code> |\n\n--------------------\n\n\n### setAdvertiserTrackingEnabled(...)\n\n```typescript\nsetAdvertiserTrackingEnabled(options: { enabled: boolean; }) => Promise<void>\n```\n\n| Param         | Type                               |\n| ------------- | ---------------------------------- |\n| **`options`** | <code>{ enabled: boolean; }</code> |\n\n--------------------\n\n\n### setAdvertiserIDCollectionEnabled(...)\n\n```typescript\nsetAdvertiserIDCollectionEnabled(options: { enabled: boolean; }) => Promise<void>\n```\n\n| Param         | Type                               |\n| ------------- | ---------------------------------- |\n| **`options`** | <code>{ enabled: boolean; }</code> |\n\n--------------------\n\n\n### Interfaces\n\n\n#### FacebookConfiguration\n\n| Prop                   | Type                 |\n| ---------------------- | -------------------- |\n| **`appId`**            | <code>string</code>  |\n| **`autoLogAppEvents`** | <code>boolean</code> |\n| **`xfbml`**            | <code>boolean</code> |\n| **`version`**          | <code>string</code>  |\n| **`locale`**           | <code>string</code>  |\n\n\n#### FacebookLoginResponse\n\n| Prop                             | Type                                                        |\n| -------------------------------- | ----------------------------------------------------------- |\n| **`accessToken`**                | <code><a href=\"#accesstoken\">AccessToken</a> \\| null</code> |\n| **`recentlyGrantedPermissions`** | <code>string[]</code>                                       |\n| **`recentlyDeniedPermissions`**  | <code>string[]</code>                                       |\n\n\n#### AccessToken\n\n| Prop                      | Type                  |\n| ------------------------- | --------------------- |\n| **`applicationId`**       | <code>string</code>   |\n| **`declinedPermissions`** | <code>string[]</code> |\n| **`expires`**             | <code>string</code>   |\n| **`isExpired`**           | <code>boolean</code>  |\n| **`lastRefresh`**         | <code>string</code>   |\n| **`permissions`**         | <code>string[]</code> |\n| **`token`**               | <code>string</code>   |\n| **`userId`**              | <code>string</code>   |\n\n\n#### LimitedFacebookLoginResponse\n\n| Prop                      | Type                                                                            |\n| ------------------------- | ------------------------------------------------------------------------------- |\n| **`authenticationToken`** | <code>{ token: string; userId?: string; name?: string; email?: string; }</code> |\n\n\n#### FacebookCurrentAccessTokenResponse\n\n| Prop              | Type                                                        |\n| ----------------- | ----------------------------------------------------------- |\n| **`accessToken`** | <code><a href=\"#accesstoken\">AccessToken</a> \\| null</code> |\n\n\n### Type Aliases\n\n\n#### Partial\n\nMake all properties in T optional\n\n<code>{\r [P in keyof T]?: T[P];\r }</code>\n\n\n#### Record\n\nConstruct a type with a set of properties K of type T\n\n<code>{\r [P in K]: T;\r }</code>\n\n</docgen-api>\n","readmeFilename":"README.md"}