3

Facebook SDK/응용 프로그램의 기본 공유 대화 상자를 사용하는 Android에서 기본 데모를 만들려고합니다. 그러나 "og.likes"액션을 사용하여 스토리를 만들고 사용자 정의 오브젝트를 사용하려고하면 정의한 사용자 정의 유형 대신 기본 "오브젝트"유형으로 Facebook에서 작성됩니다. 따라서 "Johnny가해야하는 것처럼 저장소가 좋아"하는 이야기 대신 "Johnny는 대상을 좋아합니다"라고 말합니다. 나는 성공적으로이 유형을 사용하여 오픈 그래프의 이야기를 공유 할 수 있습니다 나는 제대로, 페이스 북 개발자 센터에서 내 사용자 지정 개체 유형을 정의했다 확신Facebook Open Graph - 표준 작업 og.likes with custom 객체 유형

public void shareOpenGraphStory(Intent intent) { 
    OpenGraphObject obj = OpenGraphObject.Factory.createForPost("qtino-sharing:git_repo"); 
    obj.setType("qtino-sharing:git_repo"); 
    obj.setTitle("Testing OpenGraph Share"); 
    Log.w("FBShareActivity", "Object type is " + obj.getType()); 

    OpenGraphAction action = GraphObject.Factory.create(OpenGraphAction.class); 
    action.setType("og.likes"); 
    action.setProperty("object", obj); 

    FacebookDialog shareDialog = new FacebookDialog.OpenGraphActionDialogBuilder(mainActivity, action, "og.likes", "object") 
      .setFragment(this) 
      .build(); 
    uiHelper.trackPendingDialogCall(shareDialog.present()); 
} 

: 여기

내가 사용하고있는 코드입니다 또한 내가 정의한 액션 사용자 정의 액션이 있습니다.

이 개체의 유형은 인쇄되는 로그 문에 의해 확인 된대로 제대로 설정되고 열려있는 그래프 스토리는 오류없이 게시됩니다 (내 페이스 북 벽에서 볼 수 있음). 그러나 객체 브라우저에서 객체의 og : 유형은 "git_repo"대신 "object"를 표시하고 문서화 및 수색을 통해 몇 시간을 보냈지만 여전히 이유를 파악할 수 없습니다.

내가 잘못하고있는 것을 누군가가 볼 수 있습니까? 또는 네이티브 공유 대화 상자를 통해 공유 할 때 'og.likes'작업 유형으로 파생 개체 유형을 사용할 수 있는지 여부를 알고 계십니까?

+0

일이 정말 너무 날 귀찮게하고있다. 누구나 대답이 있습니까? – Matt

답변

1

나는 동일한 문제가있어서 일반적인 행동 "og.likes"로 고칠 수 없었다. 나는 사용자 지정 작업 (내 경우에는 "제안")을 만들고, 개체 유형 (내 경우에는 "제품")을 추가하고 사용자 지정 작업의 속성으로 해당 유형을 추가했습니다.

그런 다음 새로운 이야기 ("제품 제안")를 만들고이 이야기를 올바른 제목 (제품 이름)으로 피드에 게시 할 수있었습니다.

"og.likes"를 대체하는 좋은 작업 이름을 찾아야하기 때문에 좀 더 많은 작업이 필요합니다.하지만 여전히 "개체가 마음에 들었습니다"라고 말하는 것이 더 적합합니다.

예 :

OpenGraphAction action = GraphObject.Factory.create(OpenGraphAction.class); 

action.setType("<my_app_namespace>.<my_custom_action>"); 
action.setProperty("<my_custom_action_property_name>", obj);