Android 中的无摩擦 Facebook 分享
Frictionless facebook sharing in Android
用户每次完成 level.I 需要单击共享对话框中的 post 按钮以消除用户的这种困难。到目前为止,我已经创建了一个自定义故事并要求用户每次都单击 post。
问题:
我听说 Open graph 故事的无摩擦 FB post。 android 可以吗?
如果无摩擦 FB post 在 android 中可用,请指出我粘贴在下面的代码中的更正。
如果 android 中可以使用 frictionless FB post,我需要从用户那里获得什么许可?
代码
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);
- 是
- 不要使用
ShareDialog
,而是使用ShareApi, here's some sample code
- publish_actions 需要许可,您的应用将由 Facebook 审核
您可能还想阅读此 Facebook developer post,它似乎不鼓励 implicit/automated 发帖。如果应用尚未经过审核,则会向用户显示警告。
编辑
在使用ShareApi
之前,首先检查应用程序是否具有所需的权限:
private boolean hasPublishPermission() {
AccessToken accessToken = AccessToken.getCurrentAccessToken();
return accessToken != null && accessToken.getPermissions().contains("publish_actions");
}
如果没有,执行下面的代码请求权限:
LoginManager.getInstance().logInWithPublishPermissions(
this, Arrays.asList("publish_actions"));
如果您在未经适当许可的情况下使用 ShareApi,它将失败并调用 onError(FacebookException)
方法,假设您已将 FacebookCallback 传递给 ShareApi
.
用户每次完成 level.I 需要单击共享对话框中的 post 按钮以消除用户的这种困难。到目前为止,我已经创建了一个自定义故事并要求用户每次都单击 post。
问题:
我听说 Open graph 故事的无摩擦 FB post。 android 可以吗?
如果无摩擦 FB post 在 android 中可用,请指出我粘贴在下面的代码中的更正。
如果 android 中可以使用 frictionless FB post,我需要从用户那里获得什么许可?
代码
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);
- 是
- 不要使用
ShareDialog
,而是使用ShareApi, here's some sample code - publish_actions 需要许可,您的应用将由 Facebook 审核
您可能还想阅读此 Facebook developer post,它似乎不鼓励 implicit/automated 发帖。如果应用尚未经过审核,则会向用户显示警告。
编辑
在使用ShareApi
之前,首先检查应用程序是否具有所需的权限:
private boolean hasPublishPermission() {
AccessToken accessToken = AccessToken.getCurrentAccessToken();
return accessToken != null && accessToken.getPermissions().contains("publish_actions");
}
如果没有,执行下面的代码请求权限:
LoginManager.getInstance().logInWithPublishPermissions(
this, Arrays.asList("publish_actions"));
如果您在未经适当许可的情况下使用 ShareApi,它将失败并调用 onError(FacebookException)
方法,假设您已将 FacebookCallback 传递给 ShareApi
.