Я хочу добавить логин с функцией facebook в свое приложение для Android. Как я могу это сделать? Правильно? https://developers.facebook.com/docs/facebook-login/androidВойти с facebook в приложение android
ответ
ШАГ ПЕРВЫЙ
ли вы зарегистрировали свое приложение? Если вы этого не сделали, перейдите к https://developers.facebook.com/apps/, нажмите Добавьте новое приложение в верхнем правом углу и следуйте инструкциям.
ШАГ ВТОРОЙ
2-й шаг добавить Facebook SDK для вашего проекта. Вы можете сделать это следовать https://developers.facebook.com/docs/android/getting-started
В Android Studio, создайте новый проект с API 15, как минимальный SDK
The Facebook SDK доступен на Maven Central, поэтому редактировать
build.gradle
и добавитьrepositories { mavenCentral() }
до тогоdependencies
Затем добавьте
compile 'com.facebook.android:facebook-android-sdk:4.7.0
вdependencies
Создайте свой проект и инициализировать Facebook SDK в приложение
Код следующее:
import com.facebook.FacebookSdk;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
}
ШАГ ТРЕТИЙ
Приложение Facebook ID вы получили при регистрации ваш приложение должно быть добавлено к вашему strings.xml
.
<string name="facebook_app_id">123456908761030</string>
, вы должны изменить ваши AndroidManifest.xml
добавления ИНТЕРНЕТ uses-permission
(чтобы иметь возможность подключаться к серверам Facebook,) и meta-data
к Application
элемента (для Facebook App ID).
<uses-permission android:name="android.permission.INTERNET"/>
<application android:label="@string/app_name" ...>
...
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
...
</application>
ШАГ ЧЕТВЕРТЫЙ
Определение FacebookActivity
как другая деятельность в манифесте. Если обрабатывает большинство изменений конфигурации, используя configChanges
.
<activity android:name="com.facebook.FacebookActivity"
android:configChanges=
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:label="@string/app_name" />
ШАГ ПЯТЫЙ
Создать/Добавить Войти Кнопка в макете XML (там, где вы хотите).
<com.facebook.login.widget.LoginButton
android:id="@+id/login_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
ШАГ ШЕСТОЙ
В вашей деятельности, объявить виджет, определенный в макете, как поле класса.
private LoginButton loginButton;
Объявите CallbackManager
в другое поле для управления обратного вызова, используемый в приложении.
private CallbackManager callbackManager;
Инициализировать ваш экземпляр CallbackManager
.
callbackManager = CallbackManager.Factory.create();
Инициализировать виджет с помощью findViewById
.
loginButton = (LoginButton) view.findViewById(R.id.usersettings_fragment_login_button);
ПОСЛЕДНИЙ ШАГ
Создание обратного вызова для обработки результатов входа:
если попытка Войти успешно,
onSuccess
называетсяесли пользователь отменяет попытку входа в систему,
onCancel
называется, если произошла ошибка,
onError
называется
Код:
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
// App code
}
@Override
public void onCancel() {
// App code
}
@Override
public void onError(FacebookException e) {
// App code
}
});
Тогда в onActivityResult()
:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
НЕКОТОРЫХ ССЫЛКИ
Учебник TutsPlus: LINK
App образец (slidenerd): LINK
Видео учебник (slidenerd): LINK
Получить вход Информация о пользователе: LINK
Спасибо, брат. Извините за поздний ответ. :) – Kyizin
Добро пожаловать. Не могли бы вы щелкнуть стрелкой «ВВЕРХ» рядом с ответом, пожалуйста? (если ответ был полезен) – eldivino87
Да, я сделал это и принял ваш ответ. :) – Kyizin
**Process Login With Facebook**
**Working on Play Store**
**Link
- https://play.google.com/store/apps/details?id=com.codecube.airbucks&hl=en
**
Registered your new app? If you didn't, go to https://developers.facebook.com/apps/, click Add a New App in the top right and follow the instructions. **step by step**
**Manifest Permission**
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
**build.Gradle Dependency**
compile 'com.facebook.android:facebook-android-sdk:4.8.0' // in airbuck
/*compile 'com.facebook.android:facebook-android-sdk:[4,5)'*/
<activity android:name="com.facebook.FacebookActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name" />
<meta-data android:name="com.facebook.sdk.ApplicationName"
android:value="@string/app_name" />
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
<provider android:authorities="com.facebook.app.FacebookContentProvider1854328631556764"
android:name="com.facebook.FacebookContentProvider"
android:exported="true"/>
**Layout Xml Code**
<com.facebook.login.widget.LoginButton
android:id="@+id/login_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
**Put own generate facebook Key in String.xml File**
<string name="facebook_app_id">1854328631556764</string>
<string name="fb_login_protocol_scheme">fb1854328631556764</string>
**MainActivity CODE**
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main1);
FacebookSdk.sdkInitialize(this.getApplicationContext());
AppEventsLogger.activateApp(this);
callbackManager = CallbackManager.Factory.create();
fbloginButton = (LinearLayout) findViewById(R.id.facebook_button);
fbloginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
int permissionCheck = ContextCompat.checkSelfPermission(MainActivity.this,
android.Manifest.permission.CAMERA);
if (permissionCheck == PackageManager.PERMISSION_GRANTED) {
//showing dialog to select image
callFacebook();
Log.e("permission", "granted");
} else {
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{android.Manifest.permission.READ_EXTERNAL_STORAGE,
android.Manifest.permission.WRITE_EXTERNAL_STORAGE, android.Manifest.permission.CAMERA}, 1);
}
} else {
callFacebook();
}
}
});
}
**CAllOnFAcebook**
public void callFacebook() {
callbackManager = CallbackManager.Factory.create();
// LoginManager.getInstance().logInWithReadPermissions(MainActivity2.this, Arrays.asList("email"));
LoginManager.getInstance().logInWithReadPermissions(MainActivity.this, Arrays.asList("public_profile"));
LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.e("keshav","onSuccess called ");
GraphRequest request = GraphRequest.newMeRequest(
loginResult.getAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(
JSONObject object,
GraphResponse response) {
// Application code
Log.v("LoginActivityfacebook", response.toString());
try {
JSONObject data = response.getJSONObject();
facebookName = data.getString("name");
facebookEmail = data.getString("email");
facebookId = data.getString("id");
facebookLink = data.getString("link");
facebookLink = facebookLink.replace("https://www.facebook.com/app_scoped_user_id/", "");
facebookLink = facebookLink.replace("/", "");
Log.e("profilelink", "" + facebookLink);
facebookLink = "https://graph.facebook.com/" + facebookLink + "/picture";
Log.e("facebookName", "is -> " + facebookName);
Log.e("facebookEmail", "is -> " + facebookEmail);
Log.e("facebookId", "is -> " + facebookId);
Log.e("facebookLink", "is -> " + facebookLink);
Log.e("Keshav","Suceesfully Login "+facebookName);
} else {
CommonMethod.showAlert("Intenet Connectivity Failure", MainActivity.this);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email,gender, birthday,link");
request.setParameters(parameters);
request.executeAsync();
}
@Override
public void onCancel() {
// App code
Log.i(TAG, "cancelTriggered");
}
@Override
public void onError(FacebookException exception) {
// App code
Log.i(TAG, "errorTriggered");
}
});
LoginManager.getInstance().logOut(); // TODO Add Me Using this previous facebook login id password logout
}
**Process Login With Facebook**
**Working on Play Store**
**Link https://play.google.com/store/apps/details?id=com.codecube.airbucks&hl=en**
** Процесс входа в систему с помощью Facebook ** ** Работа с PlayStore с разрешенным MarshMallow ** ** Ссылка https://play.google.com/store/apps/details?id=com. codecube.airbucks & hl = en ** –
@Override protected void onActivityResult (int requestCode, int resultCode, Intent data) { super.onActivityResult (requestCode, resultCode, data); callbackManager.onActivityResult (requestCode, resultCode, data); } –
- 1. Android: Войти с facebook
- 2. Войти с facebook в android
- 3. Android Войти с Facebook
- 4. Android Войти с грохотом facebook
- 5. Android WebView с Facebook Войти
- 6. Facebook Войти crash Android
- 7. Войти в приложение GAE Facebook
- 8. Check Facebook Войти в Android
- 9. Войти в Facebook Приложение iFrame
- 10. Facebook Войти в android app
- 11. Войти с помощью facebook android
- 12. Facebook Войти в Android App
- 13. Facebook Войти в веб-приложение
- 14. Войти в приложение, используя facebook
- 15. Войти через Facebook в Android
- 16. Android Studio: Facebook Войти
- 17. Войти с Facebook Android App
- 18. Xamarin Android Facebook Войти
- 19. Google Войти в приложение android
- 20. Facebook Войти Проблема в android
- 21. Facebook Войти для Android
- 22. Facebook SDK Войти в android
- 23. Android Facebook Войти onActivityResult
- 24. Facebook родное приложение и facebook Войти
- 25. Android: Facebook Войти
- 26. Войти в facebook android ОШИБКА
- 27. Facebook Войти для Android Приложение с ключом освобождения
- 28. Android Facebook Войти не работает
- 29. IOS Facebook Войти через приложение
- 30. Войти через facebook в android
ли вы следовать инструкциям упомянутого в ссылке? Это должно быть ясно. –