Android Facebook 邀请仅显示在“应用邀请”部分
Posted
技术标签:
【中文标题】Android Facebook 邀请仅显示在“应用邀请”部分【英文标题】:Android Facebook invite only shown in "App Invites" section 【发布时间】:2017-03-21 14:33:09 【问题描述】:我在我的应用中实现了 Facebook 应用邀请功能。在我的应用程序中发送和接收工作正常,但是在他的 android 应用程序上收到邀请的 Facebook 用户既没有收到推送通知,也没有收到指定 here 的一般通知。它仅显示在 App Invites 部分。 有谁知道我该怎么做才能显示 Facebook 通知?
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 的自定义应用链接网址
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 通知。
【问题讨论】:
“如果此人已经安装了应用程序或已经收到了邀请,他们将不会收到任何进一步的通知” - 您是否验证过这些都不是这里的情况? 是的。抱歉,我忘了指定它:我尝试了测试和真正的 Facebook 用户,他们已经收到了邀请,但没有收到任何邀请。我还尝试了通过 Facebook 进行了授权和未授权的用户。在每种组合中均未显示 Facebook 通知。 【参考方案1】:发现这是一个 Facebook SDK 错误报告 here。
【讨论】:
以上是关于Android Facebook 邀请仅显示在“应用邀请”部分的主要内容,如果未能解决你的问题,请参考以下文章
仅使用 Facebook 令牌在 iOS 上发送 Firebase 邀请登录 Firebase 身份验证
应用程序邀请 facebook |没有在 iOS 上收到通知,但在 android 中收到了邀请,但邀请列在 facebook -> 应用程序 -> 应用程序邀请中
Facebook 分享对话框始终仅在 Android 上显示验证码