0

Ich benutze Einfache Facebook. Leider kann ich nicht einladen mit SimpleFacebook senden so dass ich AppInviteDialog verwenden, um Freunde einzuladen.Android Facebook lädt nicht ordnungsgemäß

public void openDialogInvite(final Activity activity) { 
    String AppURl = "my FB url..."; //Generated from //fb developers 

    String previewImageUrl = "urlImage..."; 

    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"); 
         System.out.println("test onSuccess"); 
        } 

        @Override 
        public void onCancel() { 
         System.out.println("test on cancel"); 

        } 

        @Override 
        public void onError(FacebookException e) { 
         Log.d("Invitation", "Error Occured"); 
         System.out.println("test Error"+e.getMessage()); 

        } 
       }); 

     appInviteDialog.show(content); 
    } 

} 

Der Dialog geöffnet Facebook einladen Bildschirme:

The invite progress bar look like everything is ok

Aber, erhalte ich keine Antwort im Dialog Rückruf.

ich dachte, das Problem mein AppLink war, weil in dem Folowing Code ist AppLink immer null:

SimpleFacebook.initialize(this); 


    Uri targetUrl = AppLinks.getTargetUrlFromInboundIntent(ProfileActivity.this, getIntent()); 
    if (targetUrl != null) { 
     Log.i("Activity", "App Link Target URL: " + targetUrl.toString()); 
    } else { 


     AppLinkData.fetchDeferredAppLinkData(
       this, 
       new AppLinkData.CompletionHandler() { 
        @Override 
        public void onDeferredAppLinkDataFetched(AppLinkData appLinkData) { 
         //process applink data 
         Log.i("Activity", "App Link Target URL: " + appLinkData); 

        } 
       }); 
    } 

AppLink war immer null, so verwendet i "Quick Start für App Verbindungen Hosting-API", und erstellt die appLink manuell und ich sende es im Dialog.

Warum bekomme ich keine Callback-Antwort? und Facebook-Nutzer erhalten meine Einladung nicht?

Antwort

0

Ich habe das gleiche Problem. Vor zwei Wochen hat es für mich funktioniert, als ich es in einer Entwicklungsabteilung getestet habe. Jetzt, nach der Bereitstellung letzte Woche, hat der eingeladene Benutzer immer appLinkData null.

Ich habe einige weitere Änderungen vorgenommen, aber selbst wenn ich jetzt die Revision auschecke, die früher funktioniert hat, ist appLinkData null.

Es tut mir leid, dass ich dies als Antwort anstelle eines Kommentars geschrieben habe, aber ich habe noch nicht genug Reputation.

0

Rufen Sie CallbackManager.onActivityResult() an?

Um die FacebookCallback Instanz ausführen Sie sich registriert haben, fügen Sie diese zu Ihrer Aktivität oder Fragment:

@Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     sCallbackManager.onActivityResult(requestCode, resultCode, data); 
    }