2012-12-27 1 views
0

내 앱에 사용자의 친구 정보 (생일, 그림 및 이름)가 필요합니다.친구 정보를 더 빨리로드 중

SDK (php)를 통해 Graph API를 사용합니다. api('/id?fields=name,picture,birthday')

내가 배치 요청에 전화를 걸 속도를 최적화하려면 : 은 내가 먼저 는 그 후 나는 전술 정보를 요청 api('/me/friends')를 통해 친구의 ID를 요청합니다.

제 문제는 530 친구를로드하는 데 40 초 정도 걸리므로 제게 많은 것 같습니다. 나는 다른 사람들이 개발 한 유사한 앱을 사용하고 있으며 9 초 만에 친구 (동일한 정보)를로드합니다.

나는이 정보를 어떻게 빨리 요청할 수 있는지 또는이 차이가 어디에서 왔는지를 적어도 어떻게 설명 할 수 있는지 알고 있습니다.

당신은 데이터의 예비 하중을하고
https://graph.facebook.com/'.$FRIEND_ID.'/picture?type=TYPE 

답변

0

대신 많은 API 호출을 만드는, 단순히 사용하여 사진의 패스를 취득

$fql = "select uid,name,birthday_date from user where uid in (select uid2 from friend where uid1=me())"; 
$param = array(
        'method'  => 'fql.query', 
        'query'  => $fql, 
        'access_token'=> ACCESS_TOKEN 
       ); 

$friends_arr = $facebook->api($param); 

된 직후 FQL을 사용 처음으로 로컬 데이터베이스에 추가하여 더 많은 정보를 얻을 수 있습니다. 검색하는 것이 훨씬 빠릅니다.

페이지에 많은 플러그인이있는 경우 결과가 느려질 수 있습니다 (예 : 같은 플러그인 사용).

Facebook에 연결하는 데 걸리는 시간 (대기 시간)은 일반적으로 제어 할 수 없으므로 요청을 비동기 요청으로 전환하고 프로세스 중에로드 중임을 사용자에게 보여줄 수 있습니다.

+0

감사합니다. 그것을 시도하고 내일 결과를 알려 드리겠습니다! –

+0

그게 정말로 도움이된다면, 이것을 옳은 것으로 표시하십시오. –