File: README.md
Facebook SDK for Android
This library allows you to integrate Facebook into your Android app.
Learn more about the provided samples, documentation, integrating the SDK into your app, accessing
source code, and more at https://developers.facebook.com/docs/android
:wave: The SDK team is eager to learn from you! Fill
out this survey to
tell us whatβs most important to you and how we can improve.
TRY IT OUT
- Check-out the tutorials available online
at https://developers.facebook.com/docs/android/getting-started - Start coding! Visit https://developers.facebook.com/docs/android/ for tutorials and reference
documentation.
FEATURES
STRUCTURE
The SDK is separated into modules with the following structure.
+----------------------------------------------------+
| |
| Facebook-android-sdk |
| |
+----------------------------------------------------+
+----------+ +----------+ +------------+ +-----------+
| | | | | | | |
| Facebook | | Facebook | | Facebook | | Facebook |
| -Login : | | -Share | | -Messenger | | -Applinks |
| | | | | | | |
+----------+ +----------+ | | | |
+-----------------------+ | | | |
| | | | | |
| Facebook-Common | | | | |
| | | | | |
+-----------------------+ +------------+ +-----------+
+----------------------------------------------------+
| |
| Facebook-Core |
| |
+----------------------------------------------------+USAGE
Facebook SDKs are broken up into separate modules as shown above. To ensure the most optimized use
of
space only install the modules that you intend to use. To get started, see the Installation section
below.
Any Facebook SDK initialization must occur only in the main process of the app. Use of Facebook SDK
in processes other than the main process is not supported and will likely cause problems.
INSTALLATION
Facebook SDKs are published to Maven as independent modules. To utilize a feature listed above
include the appropriate dependency (or dependencies) listed below in your app/build.gradle file.
dependencies {
// Facebook Core only (Analytics)
implementation 'com.facebook.android:facebook-core:latest.release'
// Facebook Login only
implementation 'com.facebook.android:facebook-login:latest.release'
// Facebook Share only
implementation 'com.facebook.android:facebook-share:latest.release'
// Facebook Messenger only
implementation 'com.facebook.android:facebook-messenger:latest.release'
// Facebook App Links only
implementation 'com.facebook.android:facebook-applinks:latest.release'
// Facebook Marketing only
implementation 'com.facebook.android:facebook-marketing:latest.release'
// Facebook Android SDK (everything)
implementation 'com.facebook.android:facebook-android-sdk:latest.release'
}You may also need to add the following to your project/build.gradle file.
buildscript {
repositories {
mavenCentral()
}
}GIVE FEEDBACK
Please report bugs or issues to https://developers.facebook.com/bugs/
You can also visit
our Facebook Developer Community Forum,
join the Facebook Developers Group on Facebook,
ask questions on Stack Overflow,
or open an issue in this repository.
SECURITY
See the SECURITY POLICY for more info on our bug bounty program.
CONTRIBUTING
We are able to accept contributions to the Facebook SDK for Android. To contribute please do the
following.
- Follow the instructions in
the CONTRIBUTING.md. - Submit your pull request to the main
branch. This allows us to merge your change into our internal main and then push out the change in
the next release.
LICENSE
Except as otherwise noted, the Facebook SDK for Android is licensed under the Facebook Platform
License (https://github.com/facebook/facebook-android-sdk/blob/main/LICENSE.txt).
Unless required by applicable law or agreed to in writing, software distributed under the License is
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied. See the License for the specific language governing permissions and limitations under the
License.
DEVELOPER TERMS
By enabling Facebook integrations, including through this SDK, you can share information with
Facebook, including information about peopleβs use of your app. Facebook will use information
received in accordance with our Data Use Policy (https://www.facebook.com/about/privacy/),
including to provide you with insights about the effectiveness of your ads and the use of your
app. These integrations also enable us and our partners to serve ads on and off Facebook.You may limit your sharing of information with us by updating the Insights control in the
developer tool (https://developers.facebook.com/apps/[app_id]/settings/advanced).If you use a Facebook integration, including to share information with us, you agree and confirm
that you have provided appropriate and sufficiently prominent notice to and obtained the
appropriate consent from your users regarding such collection, use, and disclosure (including, at
a minimum, through your privacy policy). You further agree that you will not share information
with us about children under the age of 13.You agree to comply with all applicable laws and regulations and also agree to our
Terms (https://www.facebook.com/policies/), including our Platform
Policies (https://developers.facebook.com/policy/) and Advertising Guidelines, as
applicable (https://www.facebook.com/ad_guidelines.php).
By using the Facebook SDK for Android you agree to these terms.
File: samples/KotlinSampleApp/README.md
KotlinSampleApp
This is the new Facebook Android SDK sample app. It features:
- Fully Kotlin
- Using Jetpack Compose to follow the latest Android developing best practice.
- Containing most widely-used features including login, sharing and AppEvents.
- Compatible with the latest Facebook Android SDK.
Usage
Please open string.xml and follow the instructions in its comment to add
the App ID and the client token before building this sample App.
We recommend to build it with Android Studio Arctic Fox or newer versions. You can download it from
Android Studio homepage.
Feedback and Questions
Feedback and pull requests are welcomed! You can simply create an issue or submit a pull request on
our Github repo.
If you have any questions about the Facebook Platform, you can contact
Facebook Developer Support.
File: samples/FBLoginSample/README.md
Facebook Login Android Sample
This repository contains a sample app demonstrating how to integrate with Facebook Login.
Learn more about the provided sample, documentation, integrating the SDK into your app, accessing source code, and more at https://developers.facebook.com/docs/facebook-login
Concepts Covered
- Implementing a "Login with Facebook" Button
- Making Graph API calls to Facebook using GraphRequest
- Getting information regarding the logged-in person
- Granting permissions on login
- Prompting for additional permissions after logging in
- Revoking permissions
- Basic posting to Facebook Timeline
Pre-Requisites
- Android SDK
- Android Studio or other Gradle enabled build system
Getting Started
- Download or clone this project to your machine
- Run the app from Andrdoid Studio. You may have to download the correct version of Gradle and Android build tools from the Android SDK Manager.
Give Feedback
Please report bugs or issues related to Facebook Login to https://developers.facebook.com/bugs/
You can also join the Facebook Developers Group on Facebook (https://www.facebook.com/groups/fbdevelopers/) or ask questions on Stack Overflow (http://facebook.stackoverflow.com)
Contributing
We are able to accept contributions to the Facebook Login Sample App for Android. To contribute please do the following.
- Follow the instructions in the CONTRIBUTING.md.
- Submit your pull request to the dev branch. This allows us to merge your change into our internal main and then push out the change in the next release.
License
Except as otherwise noted, the Facebook Login Sample for Android is licensed under the Facebook Platform License (https://github.com/facebook/facebook-android-sdk/tree/main/samples/FBLoginSample/LICENSE).
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.