FaceBook 제품에 대한 필수 API 를 정의
Facebook API를 사용하기 위해서는 아래와 같은 순서로, 프로젝트 변환 및 환경 값 설정이 필요 하다.
가. 프로젝트 변경 [Gradle 환경]
나. Facebook 개발자 계정 생성 및 API 키 획득
다. Facebook 앱 키 등록
라. Facebook 라이브러리 적용
마. AndroidManifestx.xml
바. Gradle 설정
기존 프로젝트를 Gradle 환경으로 변경한다.
Facebook 개발자 사이트.의 4.매니페스트 수정 항목을 참고하여,
facebook_app_id / fb_login_protocol_scheme 를 획득 한다.
<resources>
<string name="facebook_app_id">[앱 아이디 입력]</string>
<string name="fb_login_protocol_scheme">[fb앱아이디 입력]</string>
</resources>
<!-- FacebookContentProvider+facebook_app_id 로 적용 facebook_app_id 가 1234 라면 com.facebook.app.FacebookContentProvider1234 로 적용함-->
<provider android:authorities="com.facebook.app.FacebookContentProvider앱아이디"
android:name="com.facebook.FacebookContentProvider"
android:exported="true" />
<meta-data android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id"/>
<activity android:name="m.client.library.plugin.thirdparty.sns.facebook.activity.LoginActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
/>
<activity android:name="com.facebook.FacebookActivity"
android:configChanges=
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name" />
<activity
android:name="com.facebook.CustomTabActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="@string/fb_login_protocol_scheme" />
</intent-filter>
</activity>
buildscript {
repositories {
jcenter()
maven {url "https://maven.google.com"}
maven {url "https://jcenter.bintray.com"}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
classpath 'com.github.ksoichiro:gradle-eclipse-aar-plugin:+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'com.github.ksoichiro.eclipse.aar'
repositories {
jcenter()
maven {url "https://maven.google.com"}
maven {url "https://jcenter.bintray.com"}
}
android {
compileSdkVersion 27
buildToolsVersion "27.0.2"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jniLibs {
srcDir 'libs'
}
}
instrumentTest.setRoot('tests')
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
defaultConfig {
multiDexEnabled true
}
dexOptions {
preDexLibraries = false
}
lintOptions {
checkReleaseBuilds false
abortOnError false
}
buildTypes {
release {
//minifyEnabled true
//proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
}
}
}
dependencies {
compile fileTree(dir: 'mcoreLibs', include: '*.jar', exclude: ['android-support-v4.jar'])
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.facebook.android:facebook-android-sdk:4.+'
}
FaceBook 제품에 대한 3rd Party연동 기능을 제공한다.
Type | Description |
---|---|
PROCESSING | 진행 중 |
SUCCESS | 정상 처리됨 |
FAIL | 처리 중 문제가 발생함 |
command | Description |
---|---|
login | 로그인 |
gettoken | 토큰값 가져오기 |
graphrequest | graph api 사용 |
Changed in version 2.0.0
Arguments
Arguments
__
로그인
var params = {};
params.permissions = 'email,public_profile';
M.plugin('3rd_facebook').auth({
command: 'login',
param : params,
callback:function(status, result){
console.log(result);
}
});
토큰 가져오기
M.plugin('3rd_facebook').auth({
command: 'gettoken',
callback:function(status, result){
console.log(result);
}
});
Graph_Request
var params = {};
params.fields='id,name,email,gender,birthday,cover';
M.plugin('3rd_facebook').auth({
command: 'graphrequest',
param: params,
callback:function(status, result){
console.log(result);
}
});
Changed in version 2.0.0
Arguments
Arguments
Example:
var params={};
params.contentUrl="http://www.naver.com";
params.title="제목입니다.";
params.description="부가 설명입니다.";
params.imageUrl="http://dev.uracle.co.kr/image.jpg";
M.plugin('3rd_facebook').link({
param: params,
callback:function(status, result){
alert(JSON.stringify(result));
}
});