我正在将facebook SDK集成到我的应用程序中,但我对共享系统感到有些困惑。
我的应用程序是educationnal,我希望我的用户可以吹嘘“我在测试n°xx上有100/100”并在Facebook上分享,就像你可以用Runtastic一样。
对于那些不了解它的人来说,这是Runtastic股票的样子(例子是法语,但你明白了):
由于我的应用程序不是游戏,因此无法使用Open Graph Stories(没有教育类型),而且自定义开放图形故事现已弃用,因此没有任何对象相关,我无法创建自己的对象。
知道了,如何创建一个看起来像这样的ShareDialog,旁边有一个大徽标和一个不可修改的文本,链接到一个网站?
Sharing documentation讲述了共享单个内容的所有内容,但如果您想将其与文本结合使用,则无法提供帮助。
最接近我想要的是将ShareLinkContent
与我在Playstore上的应用程序的链接和引用一起使用。它可以解决这个问题,但它看起来更像是用户只是在共享一个链接(这是真的),而不是他吹嘘自己的成就。
我也可以将照片作为照片分享,并将吹嘘作为标题,但是徽标太大了,标题必须可以修改,所以每个人都可以告诉他得到100/100。
注意:法语中的文字表示“[此人]在3小时6分钟内终止了27.94公里的跑步,并以Runtastic app保存”。我希望我的应用程序显示“[此人]在2016年会话中获得100/120,使用MyAppName应用程序保存”。
NB2:我没有任何服务器,只有一个Playstore链接,一个Facebook应用程序和一个facebook页面
答案 0 :(得分:0)
你去......
这是我的功能,它将创建一个标题为&的对象。描述,也是来自远程URL的图片(但你需要创建该图片的位图,因为我正在使用 Glide
private static void shareFacebook(Context context, Bitmap picture, String title, String videoURL, String description) {
SharePhoto photo = new SharePhoto.Builder()
.setBitmap(picture)
.setCaption(context.getResources().getString(R.string.floh_site))
.setUserGenerated(true)
.build();
ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
.putString("og:type", "books.book")
.putString("og:url", videoURL)
.putString("og:title", title)
.putString("og:description", description)
.putPhoto("og:image", photo)
.putString("books:isbn", title)
.build();
ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
.setActionType("books.wants_to_read")
.putObject("book", object)
.build();
ShareOpenGraphContent c = new ShareOpenGraphContent.Builder()
.setPreviewPropertyName("book")
.setAction(action)
.build();
ShareDialog.show(FlohApp.getTopActivity(), c);
}