我在我的应用程序中实现了 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 通知。