簡體   English   中英

Facebook App Invite,邀請朋友

[英]Facebook App Invite, Invite Friends

我切換到Facebook 4.0以實現Android的AppInviteDialog。 我按照這個參考

出現對話框,我可以選擇朋友,邀請他們,我接到onSuccess()電話,但我的朋友沒有得到邀請。

我使用了以下applink網址:https://fb.me/****412097*****

雖然我在對話框中看到了應用程序的圖像,但沒有previewImageURL。

碼:

//Inside onCreate -

        callbackManager = CallbackManager.Factory.create();

        mInvititeDialog = new AppInviteDialog(this);
        mInvititeDialog.registerCallback(callbackManager,
                new FacebookCallback<AppInviteDialog.Result>() {

                    @Override
                    public void onSuccess(Result result) {
                        NetworkController.showCustomToast(
                                InviteFriendsActivity.this,
                                "Invitation Sent Successfully!");
                        finish();
                    }

                    @Override
                    public void onCancel() {
                        Log.d("Result", "Cancelled");
                        NetworkController.showCustomToast(
                                InviteFriendsActivity.this, "Cancelled");
                        finish();
                    }

                    @Override
                    public void onError(FacebookException exception) {
                        Log.d("Result", "Error " + exception.getMessage());
                        NetworkController.showCustomToast(
                                InviteFriendsActivity.this,
                                "Error while inviting friends");
                        finish();
                    }
                });


    if (AppInviteDialog.canShow()) {
            AppInviteContent content = new AppInviteContent.Builder()
                            .setApplinkUrl(appLinkUrl).build();

            AppInviteDialog.show(InviteFriendsActivity.this, content);

    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);
        callbackManager.onActivityResult(requestCode, resultCode, data);

    }

以下類似鏈接沒有幫助(即使它們來自ios)

fb邀請代碼不起作用

https://stackoverflow.com/questions/27547826/facebook-app-invites-issue

Facebook App Invite未收到

好的,事實證明一切都工作正常。 我的錯誤在於假設沒有安裝應用程序,並且未授權應用程序應生成推送通知。

創建新測試用戶后,使用當前未安裝應用程序的設備和應用程序從未獲得用戶授權。

因此,關鍵是如果應用程序安裝在目標設備上,則不會生成推送通知,即使用戶之前未授權該應用程序也是如此。 此外,看起來,如果用戶之前已經授權該應用,即使它在某個時候被刪除了,它也不會生成通知。

因此,如果要對此進行測試,請創建一個全新的測試用戶並登錄您正在測試的平台上的Facebook應用程序,並確保該應用程序未安裝在設備上。

我認為盡管安裝了應用程序,它仍然會生成通知,因為多個用戶可能正在使用相同的設備,但現在看起來就是這樣。

我會留下這個,以防萬一將來有類似的問題。

健康長壽·繁榮昌盛!

資源

它確實對我有用,但是我不太確定它是否涵蓋所有場景並且是完美的解決方案。 在此處發布其他用戶和建議(如果有)。

我正在使用以下代碼並且工作正常......但是在邀請朋友之后(如果你已經共享了android應用程序,那么被邀請者必須檢查他/她的移動應用程序..)通過瀏覽器看不到邀請

private CallbackManager sCallbackManager;

public void openDialogInvite(final Activity activity) {
            String AppURl = "https://fb.me/421570...5709";  //Generated from //fb developers

        String previewImageUrl = "http://someurl/13_dp.png";

        sCallbackManager = CallbackManager.Factory.create();

        if (AppInviteDialog.canShow()) {
            AppInviteContent content = new AppInviteContent.Builder()
                    .setApplinkUrl(AppURl).setPreviewImageUrl(previewImageUrl)
                    .build();

            AppInviteDialog appInviteDialog = new AppInviteDialog(activity);
            appInviteDialog.registerCallback(sCallbackManager,
                    new FacebookCallback<AppInviteDialog.Result>() {
                        @Override
                        public void onSuccess(AppInviteDialog.Result result) {
                            Log.d("Invitation", "Invitation Sent Successfully");
                            finish();
                        }

                        @Override
                        public void onCancel() {
                        }

                        @Override
                        public void onError(FacebookException e) {
                            Log.d("Invitation", "Error Occured");
                        }
                    });

            appInviteDialog.show(content);
        }

    }

這可能會幫助一些有同樣問題的人請使用此代碼

private void InviteFbFriends()
{
    String appLinkUrl, previewImageUrl;
    appLinkUrl = "app url(create it from facebook)"; //your applink url
    previewImageUrl = "image url";//your image url 
    if (AppInviteDialog.canShow()) {
        AppInviteContent content = new AppInviteContent.Builder()
                .setApplinkUrl(appLinkUrl)
                .setPreviewImageUrl(previewImageUrl)
                .build();
        AppInviteDialog.show(this, content);
    }
}

注意。 您只能在設備中查看邀請

  1. 我還在我的iOS應用程序中集成了app invite api。 在應用程序設置進行更改后,我也面臨同樣的問題。 我收到了所有方面的通知。
  2. 正如阿薩德先生在答案中所說,它不會在瀏覽器上表明他說錯了。 實際上為了獲得邀請,我們必須以下列方式為所有方面設置申請。 從開發人員帳戶中選擇您的應用程序並提供所有平台的信息,以便在所有站點ios,Android,Facebook和Web上獲取邀請。 如果我們只為一個平台添加設置,例如提供只有android通知的信息將在Android設備上顯示而不是在其他平台上。

在我的情況下,我無法收到邀請並在FB應用程序上看到它們,因為FB應用程序處於開發模式(不是實時)。

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM