我希望鼓励用户参与我的应用,在社交媒体(Twitter,Google +或Facebook)上分享内容时,通过奖励他们一次性优势(我认为是一种能力)。
我的第一个问题是,Google Play商店认为这是否可以接受?
我的下一个问题(假设我的第一个答案是肯定的),是如何确保用户已完成分享所以我不会奖励已取消的分享意图?
我最初的尝试主要集中在Facebook上,我已经设置了Facebook SDK,在Facebook上注册了我的应用程序并且可以完成共享,但正如其他人已经表明的那样,无论用户是取消还是发布,共享结果都是相同的。我注意到,here和here提出了类似的问题。但这些都没有令人满意的解决方案。
This answer听起来很有希望,但我不认为“会话”类型是Facebook SDK的一部分。
我现在的实现在片段中使用它来响应用户按下按钮:
if (ShareDialog.canShow(ShareLinkContent.class)) {
ShareLinkContent linkContent = new ShareLinkContent.Builder()
.setContentTitle("My Title")
.setContentDescription("My Description.")
.setContentUrl(Uri.parse("https://play.google.com/store/apps/details?id=com.cloudforge.svn.bbarrett.floattiles"))
.build();
MainActivity.shareDialog.show(linkContent);
然后在我的主要活动中我有方法:
@Override
public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
我从调试中注意到,当用户取消和发布时,“resultCode”为-1。
最后在MainActivity.onCreate()方法中,我有:
FacebookSdk.sdkInitialize(this.getApplicationContext());
callbackManager = CallbackManager.Factory.create();
shareDialog = new ShareDialog(this);
shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
@Override
public void onSuccess(Sharer.Result result) {
// TODO Auto-generated method stub
if(result.getPostId()!=null){
Toast.makeText(getBaseContext(), "User posted! (but this is never called as postId is always null)", Toast.LENGTH_LONG).show();
}else{
Toast.makeText(getBaseContext(), "User didn't post? (but this is called even when they have posted as postId is always null)", Toast.LENGTH_LONG).show();
}
}
@Override
public void onCancel() {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(), "User Cancelled (but this is never called)", Toast.LENGTH_LONG).show();
}
@Override
public void onError(FacebookException error) {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(), "Exception occurred", Toast.LENGTH_LONG).show();
}
});
我不认为我的用户会特别有动力去分享,除非他们从这样做获得游戏优势,所以我真的希望有人可以帮我确认一篇成功的Facebook帖子(我接下来会与Google+和Twitter打交道!)
提前感谢所有阅读,赞成和回答。