[英]Facebook App Invite, Invite Friends
我切換到Facebook 4.0以實現Android的AppInviteDialog。 我按照這個參考 。
出現對話框,我可以選擇朋友,邀請他們,我接到onSuccess()
電話,但我的朋友沒有得到邀請。
我使用了以下applink網址:https://fb.me/****412097*****
雖然我在對話框中看到了應用程序的圖像,但沒有previewImageURL。
碼:
//Inside onCreate -
callbackManager = CallbackManager.Factory.create();
mInvititeDialog = new AppInviteDialog(this);
mInvititeDialog.registerCallback(callbackManager,
new FacebookCallback<AppInviteDialog.Result>() {
@Override
public void onSuccess(Result result) {
NetworkController.showCustomToast(
InviteFriendsActivity.this,
"Invitation Sent Successfully!");
finish();
}
@Override
public void onCancel() {
Log.d("Result", "Cancelled");
NetworkController.showCustomToast(
InviteFriendsActivity.this, "Cancelled");
finish();
}
@Override
public void onError(FacebookException exception) {
Log.d("Result", "Error " + exception.getMessage());
NetworkController.showCustomToast(
InviteFriendsActivity.this,
"Error while inviting friends");
finish();
}
});
if (AppInviteDialog.canShow()) {
AppInviteContent content = new AppInviteContent.Builder()
.setApplinkUrl(appLinkUrl).build();
AppInviteDialog.show(InviteFriendsActivity.this, content);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
以下類似鏈接沒有幫助(即使它們來自ios)
https://stackoverflow.com/questions/27547826/facebook-app-invites-issue
好的,事實證明一切都工作正常。 我的錯誤在於假設沒有安裝應用程序,並且未授權應用程序應生成推送通知。
創建新測試用戶后,使用當前未安裝應用程序的設備和應用程序從未獲得用戶授權。
因此,關鍵是如果應用程序安裝在目標設備上,則不會生成推送通知,即使用戶之前未授權該應用程序也是如此。 此外,看起來,如果用戶之前已經授權該應用,即使它在某個時候被刪除了,它也不會生成通知。
因此,如果要對此進行測試,請創建一個全新的測試用戶並登錄您正在測試的平台上的Facebook應用程序,並確保該應用程序未安裝在設備上。
我認為盡管安裝了應用程序,它仍然會生成通知,因為多個用戶可能正在使用相同的設備,但現在看起來就是這樣。
我會留下這個,以防萬一將來有類似的問題。
健康長壽·繁榮昌盛!
它確實對我有用,但是我不太確定它是否涵蓋所有場景並且是完美的解決方案。 在此處發布其他用戶和建議(如果有)。
我正在使用以下代碼並且工作正常......但是在邀請朋友之后(如果你已經共享了android應用程序,那么被邀請者必須檢查他/她的移動應用程序..)通過瀏覽器看不到邀請
private CallbackManager sCallbackManager;
public void openDialogInvite(final Activity activity) {
String AppURl = "https://fb.me/421570...5709"; //Generated from //fb developers
String previewImageUrl = "http://someurl/13_dp.png";
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");
finish();
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException e) {
Log.d("Invitation", "Error Occured");
}
});
appInviteDialog.show(content);
}
}
這可能會幫助一些有同樣問題的人請使用此代碼
private void InviteFbFriends()
{
String appLinkUrl, previewImageUrl;
appLinkUrl = "app url(create it from facebook)"; //your applink url
previewImageUrl = "image url";//your image url
if (AppInviteDialog.canShow()) {
AppInviteContent content = new AppInviteContent.Builder()
.setApplinkUrl(appLinkUrl)
.setPreviewImageUrl(previewImageUrl)
.build();
AppInviteDialog.show(this, content);
}
}
注意。 您只能在設備中查看邀請
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.