我最近将我的应用程序移动到了FB SDK 4.0,并且在共享方面遇到了一些奇怪的问题.共享对话框效果很好 - 我可以与Facebook应用程序和WebDialog共享.但是,在成功/失败共享后,我的回调根本不起作用 - 所以我甚至无法显示祝酒或记录任何内容.这是我的方式:
shareDialog.registerCallback(fbManager, new FacebookCallback<Sharer.Result>() {
@Override
public void onSuccess(Sharer.Result result) {
// This doesn't work
Toast.makeText(f.getActivity(), "You shared this post", Toast.LENGTH_SHORT).show();
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException e) {
// This doesn't work
e.printStackTrace();
}
});
Run Code Online (Sandbox Code Playgroud)
我甚至尝试调试应用程序 - 没有效果 - 甚至没有调用此代码.
所以你能指出我做错了什么或我错过了什么?
更新
由于我使用特殊类来处理FB SDK,所以这是它的一部分:
private static CallbackManager fbManager;
public static CallbackManager init(Activity c) {
if (!FacebookSdk.isInitialized()) {
FacebookSdk.sdkInitialize(c);
}
return fbManager = CallbackManager.Factory.create();
}
...
public static void …
Run Code Online (Sandbox Code Playgroud) 虽然我删除了"{}"括号但仍然会出现.
<provider
android:name="com.facebook.FacebookContentProvider" android:authorities="com.facebook.app.FacebookContentProvider{facebook_app_id}"
android:exported="true" />
Run Code Online (Sandbox Code Playgroud) 背景
我有一个网络应用程序,使其用户可以在Facebook上分享单个项目(帖子).我建立了一个Facebook应用程序,以获得一个API密钥来使用Javascript SDK.它工作得很好,我在Facebook App Insights中看到了共享统计数据.
人们在Facebook上分享的项目是照片和视频,我想跟踪总观看次数,包括Facebok股票.可能吗 ?
我尝试了什么
/{post_url}
/{object_id}/insights/post_impressions
(*)文档"Only page posts"
为该指标指定,所以我想这毕竟是不可能的,因为这些帖子不在我的应用页面提要上.
解决方法
average_views = shares x A + comments x B + likes x C
但看起来非常近似,我不知道A,B和C最合适的值.谢谢你的帮助
我正在使用 cordova-plugin-facebook-connect 插件从 Facebook 启动共享对话框。iOS 运行良好,Android 在安装该应用程序后运行良好。
在 Android 上,如果未安装该应用程序,它会尝试与嵌入式 Web 浏览器共享。输入我的电子邮件和密码后,我收到一条错误消息,指出从嵌入式浏览器登录 Facebook 已被禁用。我使用的是最新版本的插件,这应该意味着最新的 Facebook Android SDK
我查看了我们的业务仪表板并确保允许嵌入式登录:
...但这提到了 OAuth,所以也许它不相关。我已将调试和生产密钥哈希上传到仪表板
我在 Facebook 文档上什么也没找到,也没有从 Facebook 开发者社区得到答案。
总结:
如果安装了该应用程序,则一切正常。没有该应用程序,它使用嵌入式浏览器,但 Facebook 阻止了登录。我很想知道为什么以及如何启用它。
更新:使用 Facebook 生成的测试用户工作
干杯
我正在尝试让Facebook链接共享元标记为我的Blogger网站工作,虽然我的链接预览主要是工作(图像,标题,自定义描述等),但我无法获得作者链接显示.
这是一个显示我所指的内容的屏幕截图:
然而,这是我的博客的链接预览,如使用FB Sharing Debugger所示:
Facebook的说明只是为了检查我的个人资料设置中的"谁可以关注我"被设置为"公开",并添加<meta content='<FB_profile_URL>' property='article:author'/>
到我的模板中<head>
.我已经完成了并在调试器中调试了我的元标记,因此只剩下一些次要的和不相关的错误/警告(一个关于缺失的fb:app_id
属性(我没有FB应用程序))有时会发出关于帖子图像的警告被忽略,因为它小于200×200).
以下是我模板中的所有社交媒体元标记(包括Twitter和Google+的标记,以防有人指出我可能不知道的任何冲突的标记或属性):
<!-- start social media meta tags -->
<!-- start Facebook/Open Graph meta tags -->
<meta expr:content='data:blog.title' property='og:site_name'/>
<meta content='https://www.facebook.com/joemcken' property='article:author'/>
<b:if cond='data:blog.pageType == "item"'>
<meta content='article' property='og:type'/>
<b:else/>
<meta content='blog' property='og:type'/>
</b:if>
<b:if cond='data:blog.postImageUrl'>
<meta expr:content='data:blog.postImageUrl' property='og:image'/>
<b:else/>
<meta content='https://1.bp.blogspot.com/-oXxCTyNh6gc/WY7QMBR_eNI/AAAAAAAAAl0/cGml_-lFF6wfpvr_gnVwuWBgAKN8Ok3awCLcBGAs/s1600/Preliator_favicon_large.png' property='og:image'/>
</b:if>
<!-- end Facebook/Open Graph meta tags -->
<!-- start Twitter card meta tags (source: https://twittercommunity.com/t/blogger-twitter-card-image-display-problem-solution/82315) -->
<meta content='summary' name='twitter:card'/>
<meta content='@joemcken' name='twitter:site'/>
<meta …
Run Code Online (Sandbox Code Playgroud) facebook blogger meta-tags facebook-opengraph facebook-share
我按照此页面上的说明进行操作:https : //developers.facebook.com/docs/plugins/share-button/#settings
我得到一个有效的共享对话框,但是当我尝试共享到“在私人消息中共享”时,我在共享对话框中收到以下错误:“找不到附件:找不到附件。”
我的应用程序是一个 angular 11 应用程序,我的 index.html 中有这个,就在 body 标签之后:
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v3.0";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
Run Code Online (Sandbox Code Playgroud)
按钮 html 如下所示:
<div *ngIf="fbShareRoute" class="fb-share-button" [attr.data-href]="fbShareRoute" data-layout="button" data-size="large"><a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.free-sudoku-puzzle.net%2F&src=sdkpreparse" class="fb-xfbml-parse-ignore">Share</a></div>
Run Code Online (Sandbox Code Playgroud)
我最初的想法是 fb 脚本不能很好地与 angular 配合使用,因为我通过 [attr.data-href] 绑定了 url,但我认为情况并非如此:
有任何想法吗?
我知道ob:description
当用户点击Facebook分享按钮时,我可以使用元标记来更改默认显示的内容"更多关于此内容".
但是,我正在动态地向我的页面添加多个共享按钮(它的SPA应用程序),每个按钮都指向不同的URL,但是,如果我可以添加元标记,如何为每个按钮分配不同的"对此说些什么"只有一次?
用户每次完成一个级别时都必须单击共享对话框中的帖子按钮.我需要为用户消除这种困难.截至目前,我已经创建了一个自定义故事,并要求用户每次都点击发布.
题 :
我听说Open图形故事的无摩擦FB帖子.在android中有可能吗?
如果在android中有可用的无摩擦FB帖子,请指点我在下面粘贴的代码中的更正.
如果android中有无摩擦FB帖子,我需要从用户那里得到什么许可?
ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
.putString("og:type", "puzzlegameballmania:level")
.putString("og:title", "Cleared Level-1 !!!")
.putString("og:image", "http://ixxxxwsz.jpg")
.putString("og:url", "https://play.google.com/store/apps/details?id=com.gamxxxxx.android")
.putString("og:description", "Color of the balls matters more. Lets break the goal and go higher !")
.putString("puzzlegameballmania:level:title", "LEVEL 1")
.build();
// Create an action
ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
.setActionType("puzzlegameballmania:clear")
.putObject("puzzlegameballmania:level", object)
.build();
// Create the content
ShareOpenGraphContent content = new ShareOpenGraphContent.Builder()
.setPreviewPropertyName("puzzlegameballmania:level")
.setAction(action)
.build();
ShareDialog.show(AndroidLauncher.this, content);
Run Code Online (Sandbox Code Playgroud) android facebook-graph-api facebook-android-sdk facebook-opengraph facebook-share
我使用facebook android sdk 4.9开发了一个应用程序,我正处于测试阶段.一切顺利,直到我在运行android 4.0.3(API 15)的三星选项卡上测试了应用程序.
我按照确切的指南,但它显示了一个对话框说
"无法通过网络或已安装的Facebook应用程序版本显示提供的内容.某些对话框仅支持启动API 14"
同样,如果该设备具有最新的Facebook应用程序,它的工作原理.但我的猜测是它适用于API 14以及带有/不带Facebook应用程序的所有设备.有任何想法吗?
谢谢
我的其中一个页面上有 og 标签:
%meta{property:"og:image", content:"https://stars-et-metiers.s3.amazonaws.com/posters/attachments/000/000/990/large/rsz_sm_01_rvb.jpg?1478271329" }
%meta{property:"og:url", content: votes_url }
%meta{ property: 'og:description', content: "J’ai voté pour mon lauréat coup de ? Stars & Métiers 2016 ! Et vous, quel est votre coup de cœur ? avec lien minimisé vers la page lauréat du site" }
Run Code Online (Sandbox Code Playgroud)
这个想法是告诉 facebook 实际上检查来自另一个页面的 ogs 以创建丰富的帖子:
%meta{property:"og:url", content: votes_url }
Run Code Online (Sandbox Code Playgroud)
因此 facebook 实际上应该从 votes_url 路径中删除 ogs :
%meta{ property: 'og:title', content: "J’ai voté pour mon lauréat Stars et Metiers" }
/ %meta{ property: 'og:url', content: …
Run Code Online (Sandbox Code Playgroud)