0

我在我的应用程序中实现了 Facebook 应用程序邀请功能。在我的应用程序中发送和接收工作正常,但在他的 Android 应用程序上收到邀请的 Facebook 用户既没有收到此处指定的推送通知,也没有收到一般通知。它仅显示在 App Invites 部分。有谁知道我该怎么做才能显示 Facebook 通知?

脸书 SDK 4.20

邀请发送

private void initFbInvite(final CallbackManager callbackManager, final View inviteButton){
    Map<AppLinksManager.QueriesKeys, String> queries = new HashMap<>();
    queries.put(AppLinksManager.QueriesKeys.SENDER, UserManager.getInstance().getUser().getId());
    final Uri appLink = AppLinksManager.generateAppLink(AppLinksManager.Endpoint.FB_INVITE, queries);

    StorageReference previewImageUrlRef = mController.getStorageReference().child("applink-images/fb-invite.png");
    previewImageUrlRef.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
        @Override
        public void onSuccess(Uri uri) {

            final AppInviteContent inviteContent = new AppInviteContent.Builder()
                    .setApplinkUrl(appLink.toString())
                    .setPreviewImageUrl(uri.toString())
                    .build();

            final AppInviteDialog appInviteDialog = new AppInviteDialog(ExploreFragment.this);
            appInviteDialog.registerCallback(callbackManager, new FacebookCallback<AppInviteDialog.Result>() {
                @Override
                public void onSuccess(AppInviteDialog.Result result) {
                    Log.d(TAG, "FB invitation send successfully");
                }

                @Override
                public void onCancel() {
                    Log.e(TAG, "FB invitation cancelled");
                }

                @Override
                public void onError(FacebookException error) {
                    Log.e(TAG, "FB invitation error");
                }
            });

            inviteButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    appInviteDialog.show(inviteContent);
                }
            });
        }
    });
}

用于此 AppInviteContent 的自定义应用链接 URL

https://stellarscepter.com/clecs/fb-invite?sender=PsF6qaJPLKVnOjxr2Ufzs5cSVTZ2

应用链接元数据的 index.html(存储在服务器上的 clecs/fb-invite 文件夹中)

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <!-- Facebook App Link meta -->
    <meta property="al:android:url" content="clecs://fb-invite" />
    <meta property="al:android:app_name" content="Clecs" />
    <meta property="al:android:package" content="com.stellarscepter.clecs" />
    <meta property="al:android:class" content="com.stellarscepter.clecs.activity.LoginActivity" />
    <meta property="al:web:should_fallback" content="false" />

    <title>Stellarscepter</title>
  </head>
  <body>
  </body>
</html>

编辑1:

我尝试了测试和真正的 Facebook 用户,他们已经收到了邀请,但没有收到任何邀请。我还尝试了通过 Facebook 进行了授权和未授权的用户。在每种组合中都没有显示 Facebook 通知。

4

1 回答 1

0

发现这是此处报告的 Facebook SDK 错误。

于 2017-03-27T20:56:24.560 回答