cordova-plugin-fb-sdk-basic
v1.0.1
Published
Cordova plugin for Facebook SDK - Login, Events, and IDFA Tracking
Maintainers
Readme
cordova-plugin-facebook-sdk
Cordova plugin for Facebook SDK — focused on login, event logging, and IDFA/advertiser tracking.
Built for iOS and Android. Uses Facebook SDK 18.0.3.
Installation
cordova plugin add cordova-plugin-facebook-sdk \
--variable APP_ID="your_app_id" \
--variable CLIENT_TOKEN="your_client_token" \
--variable APP_NAME="your_app_name"Or from a local path:
cordova plugin add /path/to/cordova-plugin-facebook-sdk \
--variable APP_ID="your_app_id" \
--variable CLIENT_TOKEN="your_client_token" \
--variable APP_NAME="your_app_name"Plugin Variables
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| APP_ID | Yes | — | Facebook App ID |
| CLIENT_TOKEN | Yes | — | Facebook Client Token |
| APP_NAME | Yes | — | Display name for your app |
| FACEBOOK_URL_SCHEME_SUFFIX | No | — | URL scheme suffix (for multiple apps) |
| FACEBOOK_AUTO_LOG_APP_EVENTS | No | true | Auto-log app events |
| FACEBOOK_HYBRID_APP_EVENTS | No | false | Enable hybrid app events for WebView |
| FACEBOOK_ADVERTISER_ID_COLLECTION | No | true | Collect advertiser ID |
| FACEBOOK_ANDROID_SDK_VERSION | No | 18.0.3 | Android SDK version |
| FACEBOOK_IOS_SDK_VERSION | No | 18.0.3 | iOS SDK version |
API
All methods are available on the global facebookConnectPlugin object.
Login
login(permissions, success, failure)
Standard Facebook login.
facebookConnectPlugin.login(['public_profile', 'email'],
(result) => console.log('Login response:', result),
(error) => console.error('Login error:', error)
);Success response:
{
"status": "connected",
"authResponse": {
"accessToken": "...",
"expiresIn": "...",
"data_access_expiration_time": "...",
"userID": "..."
}
}loginWithLimitedTracking(permissions, nonce, success, failure)
iOS Limited Login (ATT-compliant). On Android, falls back to standard login.
facebookConnectPlugin.loginWithLimitedTracking(
['public_profile', 'email'],
'unique-nonce-string',
(result) => console.log('Limited login response:', result),
(error) => console.error('Login error:', error)
);Success response (iOS):
{
"status": "connected",
"authResponse": {
"authenticationToken": "...",
"nonce": "...",
"userID": "..."
}
}logout(success, failure)
facebookConnectPlugin.logout(
() => console.log('Logged out'),
(error) => console.error(error)
);getAccessToken(success, failure)
Returns the current access token string. Not available with Limited Login.
facebookConnectPlugin.getAccessToken(
(token) => console.log('Token:', token),
(error) => console.error(error)
);getCurrentProfile(success, failure)
facebookConnectPlugin.getCurrentProfile(
(profile) => console.log('Profile:', profile),
(error) => console.error(error)
);Response (standard login): { userID, firstName, lastName }
Response (limited login): { userID, name, email }
getLoginStatus(force, success, failure)
facebookConnectPlugin.getLoginStatus(true,
(status) => console.log('Status:', status),
(error) => console.error(error)
);Events & Analytics
logEvent(name, params, valueToSum, success, failure)
// Simple event
facebookConnectPlugin.logEvent('view_content');
// Event with parameters
facebookConnectPlugin.logEvent('view_content', { content_id: '123' });
// Event with parameters and value
facebookConnectPlugin.logEvent('purchase', { currency: 'USD' }, 9.99);logPurchase(value, currency, params, success, failure)
facebookConnectPlugin.logPurchase(9.99, 'USD',
{ content_id: 'product_123' },
() => console.log('Purchase logged'),
(error) => console.error(error)
);activateApp(success, failure)
facebookConnectPlugin.activateApp();Tracking & Privacy
setAutoLogAppEventsEnabled(enabled, success, failure)
facebookConnectPlugin.setAutoLogAppEventsEnabled(false);setAdvertiserTrackingEnabled(enabled, success, failure)
iOS only (ATT). No-op on Android.
facebookConnectPlugin.setAdvertiserTrackingEnabled(true);setAdvertiserIDCollectionEnabled(enabled, success, failure)
facebookConnectPlugin.setAdvertiserIDCollectionEnabled(true);setDataProcessingOptions(options, country, state, success, failure)
CCPA compliance.
// Disable Limited Data Use
facebookConnectPlugin.setDataProcessingOptions([]);
// Enable Limited Data Use for California
facebookConnectPlugin.setDataProcessingOptions(['LDU'], 1, 1000);Configuration
getApplicationId(success, failure) / setApplicationId(appId, success, failure)
setClientToken(clientToken, success, failure)
Compatibility
- cordova-android >= 9.0.0
- cordova-ios >= 6.0.0
- Facebook SDK 18.0.3 (configurable)
Compatible with @awesome-cordova-plugins/facebook — the JS interface clobbers the same facebookConnectPlugin global with matching method signatures.
iOS Dependencies
Only the pods needed for login and analytics:
FBSDKCoreKitFBSDKLoginKit
ShareKit and GamingServicesKit are not included.
License
MIT
