2

当我从 Facebook 邀请朋友时,它显示 Toast 邀请已发送,但未显示在朋友通知中。

我在我的应用程序中使用 Simple Facebook SDK for Android。我的邀请已发送,但未显示在好友墙中。我在这里问了同样的问题:https ://github.com/sromku/android-simple-facebook/issues/13

你能告诉我为什么我需要 Canvas 吗?你能解释一下什么是 Canvas 以及为什么我们需要它来制作邀请函吗?

我阅读了 facebook Canvas 的解释。它写道:“Canvas 页面实际上是 Facebook 中运行您的应用程序的空白画布。您通过提供包含构成您的应用程序的 HTML、JavaScript 和 CSS 的 Canvas URL 来填充 Canvas 页面。当用户请求 Canvas 页面,我们在该页面的 iframe 中加载 Canvas URL。这会导致您的应用程序显示在标准 Facebook chrome 中。

我不希望我的应用程序从页面运行,或者它只会有一个指向 Playstore 的链接?

我应该问什么权限?

今天我要求:“user_friends”,“publish_actions”。

你能给我一个邀请与没有安装应用程序的人一起工作的朋友的例子吗?

public void invite(String message, final OnInviteListener onInviteListener, String data) {
    InviteAction inviteAction = new InviteAction(mSessionManager);
    inviteAction.setMessage(message);
    inviteAction.setData(data);
    inviteAction.setOnInviteListener(onInviteListener);
    inviteAction.execute();
}

@Override
protected void executeImpl() {
    if (sessionManager.isLogin(true)) {
        Bundle params = new Bundle();
        if (mMessage != null) {
            params.putString(PARAM_MESSAGE, mMessage);
        }
        if (mData != null) {
            params.putString(PARAM_DATA, mData);
        }
        if (mTo != null) {
            params.putString(PARAM_TO, mTo);
        }
        else if (mSuggestions != null) {
            params.putString(PARAM_SUGGESTIONS, TextUtils.join(",", mSuggestions));
        }
        openInviteDialog(sessionManager.getActivity(), params, mOnInviteListener);
    }
    else {
        String reason = Errors.getError(ErrorMsg.LOGIN);
        Logger.logError(InviteAction.class, reason, null);
        mOnInviteListener.onFail(reason);
    }
}

代码取自 Simple Facebook implementation。我错过了什么吗?

谢谢

4

0 回答 0