2015-05-20 68 views
7

我使用下面的代碼來打開帶有Facebook頁面URL的Facebook共享對話框。Android:Facebook SDK 4.x中的共享對話框類是什麼

問題是,當我通過Facebook應用程序查看我牆上的共享帖子時,發現沒有共享頁面封面的帖子。

雖然如果我通過我的牆上的Facebook應用程序共享相同的頁面,我發現與共享頁面封面(當然是更酷)的帖子。

在下面的代碼中是否缺少參數?

我使用Facebook的SDK 4.1.2

FacebookDialog shareDialog = new ShareDialog(mMainActivity); 
    if (ShareDialog.canShow(ShareLinkContent.class)) 
    { 
     ShareLinkContent linkContent = new ShareLinkContent.Builder() 
       .setContentUrl(Uri.parse(aFacebookPageURL)) 
       .build(); 


     shareDialog.show(linkContent); 
    } 

編輯1:使用.setImageUrl(Uri.parse(aPageCoverURL))

你可以看到區別

上半部分(通過Facebook應用程序共享移動)和下半部分(通過我的應用程序共享)之間。

enter image description here

編輯2:我如何可以使用下面的代碼共享的Facebook頁面?下面的代碼不工作,沒有共享對話框出現,我不知道是否有一個缺少參數或此代碼不是爲了共享頁面,但我試圖。

ShareOpenGraphObject object = new ShareOpenGraphObject.Builder() 
      .putString("og:type", "page") 
      .putString("og:title", aTitle) 
      .putString("og:url", aURL) 
      .build(); 

    // Create an action 
    ShareOpenGraphAction action = new ShareOpenGraphAction.Builder() 
      .setActionType(null) 
      .putObject("page", object) 
      .build(); 

    ShareOpenGraphContent content = new ShareOpenGraphContent.Builder() 
      .setPreviewPropertyName("page") 
      .setAction(action) 
      .build(); 

    ShareDialog.show(mMainActivity, content); 
+0

如果任何人有一個解決方案或建議它將不勝感激,我的問題和賞金並不限於可信和/或官方消息來源。謝謝你們。 –

回答

2

從Facebook的documentation

鏈接

當從您的應用程序Facebook的人分享鏈接,它包括 屬性,這些屬性在後顯示:

  • a 的contentURL,鏈接被共享
  • 一個contentTitle表示所述內容中的鏈接
  • 一個IMAGEURL標題,縮略圖圖像的URL將出現在柱
  • 一個內容contentDescription,通常2-4個句子

如果你想顯示圖像,你應該使用setImageUrl(@Nullable final Uri imageUrl)

ShareLinkContent linkContent = new ShareLinkContent.Builder() 
       .setContentUrl(Uri.parse(aFacebookPageURL)) 
       .setImageUrl(Uri.parse(imageUrl)) 
       .build(); 

這是來自SDK的共享:

enter image description here

這是直接從應用程序的共享:

enter image description here

+0

智能解決方案,但抱歉,其結果與通過Facebook應用程序共享不同。 –

+0

我剛剛嘗試過,看起來和我一樣。我使用SDK和應用程序共享的屏幕截圖編輯了答案。你可以發佈你的結果截圖嗎? –

+0

我剛剛添加了顯示結果差異的截圖。 –

相關問題