========== [facebook] ========== FaceBook 제품에 대한 필수 API 를 정의 -------------- 환경설정 -------------- * Facebook API를 사용하기 위해서는 아래와 같은 순서로, 프로젝트 변환 및 환경 값 설정이 필요 하다. .. code-block:: xml 가. 프로젝트 변경 [Gradle 환경] 나. Facebook 개발자 계정 생성 및 API 키 획득 다. Facebook 앱 키 등록 라. Facebook 라이브러리 적용 마. AndroidManifestx.xml 바. Gradle 설정 가. 프로젝트 변경 ----------------- 기존 프로젝트를 Gradle 환경으로 변경한다. - `Gradle 환경 변경 `_. 나. Facebook 개발자 계정 생성 및 API 키 획득 ------------------------------- - `Facebook 개발자 사이트 `_. - `Facebook 앱 아이디 확인 `_. .. 새 앱을 만들어, 앱 ID를 획득 한다. 다. Facebook 앱 키 등록 ------------------------------- `Facebook 개발자 사이트 `_.의 4.매니페스트 수정 항목을 참고하여, facebook_app_id / fb_login_protocol_scheme 를 획득 한다. - 프로젝트 > res > values > facebook.xml 생성 하고, 파일을 열어 획득한 정보를 입력 한. .. code-block:: xml [앱 아이디 입력] [fb앱아이디 입력] 라. 프로젝트에 Facebook 라이브러리 적용 ---------------------------- - `3rd plugin Facebook 라이브러리 적용 `_. 마. AndroidManifest.xml 선언 확인 ------------------------------ .. code-block:: xml 바. Gradle 설정 ---------------- - 프로젝트 > build.gradle 적용 .. code-block:: javascript 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 API --------- FaceBook 제품에 대한 3rd Party연동 기능을 제공한다. .. _statusType: status Type ------------ ============ =================== Type Description ============ =================== PROCESSING 진행 중 SUCCESS 정상 처리됨 FAIL 처리 중 문제가 발생함 ============ =================== .. _AuthType: Auth Type ----------------- * Facebook 인증 기능에 대한 정의 ======================= ============= command Description ======================= ============= login 로그인 gettoken 토큰값 가져오기 graphrequest graph api 사용 ======================= ============= Facebook 인증 API -------------- .. js:function:: M.plugin('3rd_facebook').auth( setting ) .. versionchanged:: 2.0.0 :param Object setting: 설정 정보 :param String setting.command: 기능 ( :ref:`AuthType` ) :param Object setting.setinfovalue: 사용자 정보 셋팅 (setinfo 필수) :param String setting.scallback: 모니터링 콜백 함수 이름 (session 필수) :param Function setting.callback: API 결과 콜백 함수 .. js:function:: callback(status, result) :param String status: API호출 결과값 :param Object result: 3rd Party 모듈 결과 값 :param String result.result: Kakao command 결과값 __ `PERMISSIONS 참고 `_. `FIELDS 참고 `_. 로그인 .. code-block:: javascript var params = {}; params.permissions = 'email,public_profile'; M.plugin('3rd_facebook').auth({ command: 'login', param : params, callback:function(status, result){ console.log(result); } }); 토큰 가져오기 .. code-block:: javascript M.plugin('3rd_facebook').auth({ command: 'gettoken', callback:function(status, result){ console.log(result); } }); Graph_Request .. code-block:: javascript 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); } }); Facebook Link 사용하기 -------------- .. js:function:: M.plugin('3rd_facebook').link( setting ) .. versionchanged:: 2.0.0 :param Object setting: 설정 정보 :param String setting.command: 기능 :param Object setting.param: 파라메터 :param String setting.param.contentUrl: 이동 URL :param String setting.param.title: 제목 :param String setting.param.description: 부가설명 :param String setting.param.imageUrl: 이미지URL :param Function setting.callback: API 결과 콜백 함수 .. js:function:: callback(status, result) :param String status: API호출 결과값 :param Object result: 3rd Party 모듈 결과 값 :param String result.result: FaceBook command 결과값 Example: .. code-block:: javascript 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)); } });