私は自分のアプリにFacebook App Invites機能を実装しました。私のアプリで送受信は正常に機能しますが、Androidアプリで招待状を受け取ったFacebookユーザーは、指定されたプッシュ通知も一般通知も受け取りません。here App Invitesセクションにのみ表示されます。 誰かがFacebook通知を表示するために何ができるのか知っていますか?AndroidのFacebook招待状は、 "App Invites"セクションに表示されます
のFacebook SDK 4.20
このAppInviteContent
するCLECに保存されているhttps://stellarscepter.com/clecs/fb-invite?sender=PsF6qaJPLKVnOjxr2Ufzs5cSVTZ2
のindex.html(/フォルダ上のFB-招待のために使用さ
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);
}
});
}
});
}
カスタムアプリのリンクURLを送信して招待サーバー)のアプリケーションリンクのメタデータ
<!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>
EDIT 1:私はすでに招待を受け、いずれかを受信していないテストと実際のFacebookのユーザー、どちらかと試してみました
。私はまた、Facebookを介して自動化され、自動化されていないユーザーも使ってみました。すべての組み合わせで、Facebookの通知は表示されません。
_「すでにアプリがインストールされている、または既に招待状を受け取っている場合は、それ以上の通知は受け付けません」_ _ここではどちらも該当しないことを確認しましたか? – CBroe
はい。申し訳ありませんが、私はそれを指定するのを忘れていました:私はテストと本物のFacebookユーザーのどちらかを試しました。私はまた、Facebookを介して自動化され、自動化されていないユーザーも使ってみました。すべての組み合わせで、Facebookの通知は表示されません。 – arabello