2012. 3. 27.
Facebook 에서 주최하는 Hack 행사에 참여했습니다.
정확히 세어보진 않았지만 들리는 말에는 약 250여명의 개발자들이 참여했고
대기자도 엄청났지만 장소가 협소해서 더 모시질 못했다고 하더군요. 저는 선조치 후보고로 인해 다행히 참가했습니다.
오전 9시에는 Facebook을 처음 접하는 개발자분들을 위한 Crash Course! 소위 특강이었습니다.
주요 기능들과 함께 용어 배우기, 인증하기, SDK 소개, API 호출 방법 등이 간단히 소개되었습니다.
그 외에 세션들은 아래와 같습니다.
Hack 소개에서는 팀 단위로 Social App, Open Graph, Game 세 부분 중 하나를 선택하고 진행한다고 미리 팀을 구성하라고 하더군요.
회사에서 혼자 참여했고 아는 분도 없어서 그냥 Hack 하기 전에 돌아갈까라는 고민도 많았습니다만 밥이라도 먹고 가자라는 생각에 죽치다가 점심을 먹어보고는 저녁도 먹고 가자.. 저녁 먹고는 한 번 해보자! 라고 맘이 시간마다 변해서 Hack까지 참여하고 왔습니다.
우선 Hack 이전에 공유할 정보들을 나열해보겠습니다.
오전에는 세션 순서를 보면 알 수 있듯이 대부분이 개요에 대한 설명이었습니다.
이미 Facebook Documentation에서 언급된 내용들이어서 약간은 실망스러웠습니다.
하지만! 오후 2시 세션인 Native App Development에서는 제 트위터와 페이스북 페이지에서 미리 짧게 올렸지만 도움이 되는 정보가 있었습니다. 딴짓하고 있다가 화들짝 놀랐네요.
우선 Permission입니다. Single Sign On 지원으로 인해 영구 토큰을 얻을 수 있는 offline_access permission이 5월 1일부터 사라진다는 내용이었습니다. Facebook을 연동하는 앱/서비스를 사용하다가보면 달과 해 그림이 있는 아이콘을 보셨을 것입니다.
따라서 발급받은 토큰은 영구적으로 사용하지 못한다는 것입니다. 이에 대한 대비도 SDK에 이미 추가된 상황이어서 큰 염려는 안해도 된다고 하였으나 테스트가 필요한 상황이 되었습니다. 즉, 토큰이 영구적이라는 가정하에 짜여진 로직은 점검이 필요하다는 의미겠죠?
두 번째는 3rd party native app에서 반길 내용이었습니다. Deep Linking, Shallow Linking을 이용하여 페이스북 앱이나 웹에서 해당 클라이언트를 호출할 수 있도록 하는 기능의 추가였습니다. 이 부분도 추가된지는 꽤 된 내용이고 이미 적용이 된 클라이언트도 있었으나 어떻게 하면 되는지 궁금해하는 부분이었습니다.
컨셉을 설명드리자면, 페북에 공유된 어떤 글의 출처를 선택했을 경우 해당 앱을 열어주면서 scheme으로 넘겨줄 값까지 같이 넘겨주는 방법이 Deep Linking. 즉, 노티와 비슷하다고 생각하시면 되며, 단순히 해당 앱만 열어주는 방법이 Shallow Linking 입니다. 단, Deep Linking은 현재 iOS만 가능하다고 합니다.
이를 위해서는 당연히 Facebook 공식 iOS SDK를 이용하여야 하며, Facebook App Setting에서 iOS Bundle ID값과 iPhone/iPad App Store ID값을 필수로 입력해야 합니다. App Store에 등록된 앱만 가능하겠죠.
덧붙여 한가지 더 설명하자면, 위 화면의 마지막 항목인 URL Scheme Suffix도 유용하게 사용하는 방법을 소개했습니다. 비유를 paid앱과 free앱으로 설명을 해주셨는데 한 앱이 두 종류의 버전이 있을 경우 Facebook에서의 앱 호출을 두 가지로 보낼 수 있다는 것입니다. 콤마(,)로 구분하고 두 scheme을 불려질 차례대로 입력해주면 됩니다. fbxxxxxxxx, fbyyyyyyyy 로 설정했을 경우 fbxxxxx scheme을 가진 앱을 호출하고 없으면 fbyyyyyyyy를 호출하는 것이죠.
Facebook에게 물어보세요도 사실 기대를 했었는데 특별하게 질문할 내용도 없었고 공통적인 질문은 다른 분들께서 물어주셔서 저는 듣고만 있었으며 역시나 특이한 부분은 없었습니다. 생각보다 Graph API를 다양한 용도로 사용하는 분은 많지 않은 듯 느껴졌습니다.
다음 편은 HACK 참여기를 중점으로 써보겠습니다.
1 comment