2014.05.12 14:32
1. 페이스북 연동
https://developers.facebook.com/apps/

프로세스 : 페북개발자콘솔 -> Create new app -> Add Platform -> enter app hash key(keystore hash key) -> add App ID to AndroidMenifest.xml -> download Facebook SDK -> add android library references -> write code LoginActivity & add permissions


keystore hash key 
해시키를 얻는 방법은 터미널에서 keytool 을 사용하는 방법도 존재. 그런데 debug.keystore 가 어디있는지 모르겠다? 또는 custom keystore 를 쓰는데 어디있는지 모르겠다? 그럴때 그냥 아래 매소드로 로그캣에 찍을 수 있음.
패키지네임 잘 적어주고, 해시키 나오는거 복사해다가 안드로이드 플랫폼 앱등록에 잘 넣어주면됨. 이때 패키지네임이 같아야함.

public void printHashKey() {

try {

Log.e("package : ", this.getClass().getPackage().toString());

PackageInfo info = getActivity().getPackageManager().getPackageInfo("com.flask.photify", PackageManager.GET_SIGNATURES);

for (Signature signature : info.signatures) {

MessageDigest md = MessageDigest.getInstance("SHA");

md.update(signature.toByteArray());

Log.e("TEMP TAG HASH KEY:", Base64.encodeToString(md.digest(), Base64.DEFAULT));

}

} catch (PackageManager.NameNotFoundException e) {

e.printStackTrace();

} catch (NoSuchAlgorithmException e) {

e.printStackTrace();

}

}


In AndroidMenifest.xml
페이스북 로그인은 로그인 인텐트를 넘겨서 SDK의 엑티비티한데 위임하는 형식. 그래서 매니페스트에 아래와 같이 엑티비티를 추가해줘야함.

<activity android:name="com.facebook.LoginActivity"

            android:label="@string/app_name" >

        </activity>


그리고 페이스북앱ID를 복사해다가 아래와 같이 넣어준다.


<meta-data

            android:name="com.facebook.sdk.ApplicationId"

            android:value="@string/facebook_app_id" />


끝.

페이스북 API 사용시 팁

보통 대부분의 것들은 access token이라는것으로 접근시 확인을 한다. 포스팅의 경우가 보통 그렇고 간단한 프로필 사진 얻어오기나 글 가져오기 등은 필요가 없는듯. 문제는 이놈이 바뀌는 녀석. 3개월? 인가 마다 갱신되는것 같은 느낌. 그래서 매번 앱을 킬때마다 확인해줘야 겠는데....라기보단, 접속 했는데 안되면 이때 다시 토큰을 요청하는것이 좋을듯.
그리고 fbid 라는게 있는데 이는 그냥 페북내에서 사용자를 구분하기 위한 하나의 일련 번호 같은것. 바뀌지 않고 간단한 프로필같은것을 가져올때 활용함. 


2. 구글 맵 연동
https://console.developers.google.com/project

프로세스 : 구글 API 콘솔 -> Apis & auth -> Credentials -> Public API access -> create new key -> Android key -> enter sha1 with app package name -> add google map sdk -> create new activity with layout -> fragment that android:id="@+id/map", android:name="com.google.android.gms.maps.SupportMapFragment" -> add permissions -> add meta data(api key) to AndroidMenifest.xml


API 키를 발급 받기 위해선 페이스북과 마찬가지로 해시값이 필요한데 여기선 sha1 값만 있으면 됨.

일단 난 디버그스토어를 쓰고 있으니 그냥 keytool 로 해서 했지만 사실 이값은 이클립스에서 바로 볼 수 있음.


(이클립스 설정 - 안드로이드 - 빌드 에 명시되어 있음. 이거 그대로 복붙, 그리고 세미콜론으로 구분짓고 그 뒤엔 앱패키지네임을 적어주면됨.)


이렇게 얻은 api 키를 가지고 메타 데이터로 등록 해준다.


 <meta-data

            android:name="com.google.android.maps.v2.API_KEY"

            android:value="@string/googlemap_apikey" />








저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 0


티스토리 툴바