0

シンプルな Facebookを使用しています。残念ながら、SimpleFacebook で招待状を送信できないため、AppInviteDialog使用して友達を招待しています。

 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);
    }

}

ダイアログを開くと、Facebook の招待画面が表示されます。

招待の進行状況バーはすべて問題ないように見えます

しかし、ダイアログのコールバックで応答がありません。

次のコードでは、appLink が常に null であるため、問題は自分の AppLink にあると思いました。

 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 は常に null だったので、「App Links Hosting API のクイック スタート」を使用して、appLink を手動で作成し、ダイアログで送信しました。

コールバック応答で何も得られないのはなぜですか? と Facebook ユーザーは私の招待状を受け取りませんか?

4

2 に答える 2

0

私も同じ問題を抱えてる。開発ブランチでテストしたとき、約 2 週間前に動作していました。先週デプロイした後、招待されたユーザーは常に appLinkData null を持っています。

さらにいくつかの変更を加えましたが、以前は機能していたリビジョンをチェックアウトしても、appLinkData は null です。

これをコメントではなく回答として書いて申し訳ありませんが、まだ十分な評判がありません。

于 2016-05-18T07:11:49.040 に答える