2015-01-14 7 views
1

저는 Android 앱에서 사용자를 위해 로그인하는 수단으로 LinkedIn의 API를 사용하고 있습니다.하지만이 질문은 소셜 네트워크의 API 사용에 대해 일반화 될 수 있으며 실제로 Android에만 국한되지는 않습니다. 어쨌든 ...API를 사용하는 경우 외부 소스 (예 : Facebook, LinkedIn 등)의 사용자 데이터 변경 사항을 반영하려면 어떻게해야합니까?

내가 LinkedIn의 API를 호출하면, 로그인 한 후에 사용자 이름, 이메일, 기술, 프로필 설명 등을 얻을 수 있습니다.이 데이터 중 일부는 사용자가 LinkedIn의 웹 사이트에서 프로필을 편집합니다 (예 : 새로운 기술 추가).

이제 이러한 변경 사항을 최대한 빨리 내 앱에 반영하겠습니다. 이 작업을 수행하기 위해 생각할 수있는 것은 사용자가 앱으로 돌아갈 때마다 API를 호출하고 데이터를 가져온 다음 마지막 호출에서 저장 한 데이터로 대체하는 것입니다.

그러나 이것은 많은 사용자가 LinkedIn에서 프로필을 거의 변경하지 않을 가능성이 있기 때문에 문제가되는 것처럼 보입니다. 따라서 사용자가 응용 프로그램을 열 때마다 전화를 걸면 시간이 낭비되는 것처럼 보입니다. 하지만 몇 일마다 큰 간격으로 전화를 걸면 어떤 사람들이 어떤 변화를 보일지 반영하지 않을 위험이 있습니다.

그래서 이러한 모든 호출을 수행해야하는 대신 다른 해결책이 있는지 궁금합니다. 페이스 북, 트위터, 링크드 인 및 기타 소셜 네트워크와 같은 API는 변경 사항에 대한 알림을받을 수있는 방법이 있습니까 (아니면이 기능이있는 다른 라이브러리가 있습니까)?

답변

2

페이스 북이 당신을 위해 무엇을 찾고있는 라인을 따라 뭔가를 가지고 : https://developers.facebook.com/docs/graph-api/reference/v2.2/app/subscriptions/

당신은 사용자 개체에 대한 업데이트에 가입하도록 선택할 수 있습니다, 그들은 무언가가 변경 될 때마다 당신이 그들을 제공 엔드 포인트를 호출 할 수 있습니다.

내가 알 수있는 한 LinkedIn은 비슷한 기능을 제공하지 않습니다. 그러나 앱을 열 때이 호출에 대해 너무 많이 강조하지는 않습니다. 소량의 데이터를 검색하는 것은 단 한 번의 호출입니다. 물론, 호출이 실패 할 경우 앱이로드되지 않는지 확인하고 싶을 것입니다. 정보가 업데이트되지 않았 으면합니다.

앱이 독립형입니까, 아니면 서버 구성 요소가 있습니까? 또 다른 옵션은 서버가 사용자를 대신하여이 전화를 걸도록하는 것입니다.

+0

지금 당장 서버 구성 요소가 없지만 변경 한 경우 응용 프로그램을 시작할 때마다 서버를 호출해야합니다. 또는 LinkedIn 사이트에서 변경된 사항을 발견 할 때마다 서버가 앱에 데이터를 보내도록 할 수있는 방법이 있습니까? 그리고 데이터를 보내는 서버를 수신 대기하는 앱에 로컬 서비스의 일종의 구현을 구현할 수 있습니까? 하지만 다시 한번, 앱이 사용될 때마다 LinkedIn의 API를 호출하는 것보다 리소스면에서 훨씬 비쌉니다. 나는 개발자가이 문제를 보통 정말로 어떻게 다루는지를 측정하려하고있다. – ujvl

+0

당신이 말한 것처럼, 아마 업데이트를 듣고있는 백그라운드 서비스를 실행하는 것이 훨씬 더 비쌉니다. 앱을로드 할 때 LinkedIn의 API를 호출하기에는 너무 비싸지 않을 것이라고 생각합니다. UI 스레드가 아닌 다른 스레드에서이 호출을 수행하는 것이 좋습니다. 이전에 말한 것처럼 정상적으로 오류를 처리합니다. – Tom