Facebook App Invite,邀请好友
Facebook App Invite, Invite Friends
我切换到 Facebook 4.0 以便为 Android 实施 AppInviteDialog。我关注了 this reference.
对话框出现,我可以select朋友,邀请他们,我接到了onSuccess()
电话,但我的朋友没有收到邀请。
我使用了以下应用程序链接URL:https://fb.me/****412097*****
虽然我在对话框中看到了我的应用程序图像,但没有预览图像URL。
代码:
//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)
Code for fb invitation not working
Facebook App Invite not received
我正在使用以下代码并且工作正常...但是在邀请朋友之后(如果您共享了 android 应用程序,那么被邀请者必须检查 his/her 移动应用程序..)浏览器看不到邀请
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);
}
}
好的,事实证明一切正常。我的错误是假设没有安装应用程序,并且没有授权应用程序应该生成推送通知。
创建新的测试用户后,使用当前未安装该应用程序且该应用程序从未获得用户授权的设备。
所以这里的关键是,如果应用程序安装在目标设备上,则不会生成推送通知,即使用户之前没有授权该应用程序。另外,貌似,如果用户之前已经授权过该应用程序,即使在某个时候将其删除,它也不会生成通知。
因此,如果您想对此进行测试,请创建一个全新的测试用户并在您正在测试的平台上登录 Facebook 应用程序,并确保该应用程序未安装在设备上。
我认为尽管安装了应用程序,它仍应生成通知,因为多个用户可能正在使用同一台设备,但现在看起来就是这样。
我会把它留在这里,以防将来有人遇到类似的问题。
长命百岁!
它确实对我有用,但是我不太确定它是否涵盖了所有场景并且是完美的解决方案。在这里发布其他用户和建议(如果有的话)。
- 我还在我的 iOS 应用程序中集成了应用程序邀请 api。在更改应用程序设置后,我也面临同样的问题。我收到了各方面的通知。
- 正如 Mr.Asad 在他的回答中所说,它不会在浏览器上显示他说错了。实际上,要获得各方的邀请,我们必须按照以下方式为所有方面的应用程序进行设置。
来自开发者帐户 select 您的应用程序并为所有平台提供信息以在所有网站 ios、Android、Facebook 和网络上获得邀请。如果我们只为一个平台添加设置,例如仅提供 android 的信息,通知将显示在 android 设备上,而不是其他平台。
这可能对遇到同样问题的人有所帮助
请使用此代码
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);
}
}
注意。 您只能在设备中查看邀请
就我而言,我无法收到邀请并在 FB 应用程序上看到它们,因为 FB 应用程序处于开发模式(未上线)。
我切换到 Facebook 4.0 以便为 Android 实施 AppInviteDialog。我关注了 this reference.
对话框出现,我可以select朋友,邀请他们,我接到了onSuccess()
电话,但我的朋友没有收到邀请。
我使用了以下应用程序链接URL:https://fb.me/****412097*****
虽然我在对话框中看到了我的应用程序图像,但没有预览图像URL。
代码:
//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)
Code for fb invitation not working
Facebook App Invite not received
我正在使用以下代码并且工作正常...但是在邀请朋友之后(如果您共享了 android 应用程序,那么被邀请者必须检查 his/her 移动应用程序..)浏览器看不到邀请
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);
}
}
好的,事实证明一切正常。我的错误是假设没有安装应用程序,并且没有授权应用程序应该生成推送通知。
创建新的测试用户后,使用当前未安装该应用程序且该应用程序从未获得用户授权的设备。
所以这里的关键是,如果应用程序安装在目标设备上,则不会生成推送通知,即使用户之前没有授权该应用程序。另外,貌似,如果用户之前已经授权过该应用程序,即使在某个时候将其删除,它也不会生成通知。
因此,如果您想对此进行测试,请创建一个全新的测试用户并在您正在测试的平台上登录 Facebook 应用程序,并确保该应用程序未安装在设备上。
我认为尽管安装了应用程序,它仍应生成通知,因为多个用户可能正在使用同一台设备,但现在看起来就是这样。
我会把它留在这里,以防将来有人遇到类似的问题。
长命百岁!
它确实对我有用,但是我不太确定它是否涵盖了所有场景并且是完美的解决方案。在这里发布其他用户和建议(如果有的话)。
- 我还在我的 iOS 应用程序中集成了应用程序邀请 api。在更改应用程序设置后,我也面临同样的问题。我收到了各方面的通知。
- 正如 Mr.Asad 在他的回答中所说,它不会在浏览器上显示他说错了。实际上,要获得各方的邀请,我们必须按照以下方式为所有方面的应用程序进行设置。 来自开发者帐户 select 您的应用程序并为所有平台提供信息以在所有网站 ios、Android、Facebook 和网络上获得邀请。如果我们只为一个平台添加设置,例如仅提供 android 的信息,通知将显示在 android 设备上,而不是其他平台。
这可能对遇到同样问题的人有所帮助 请使用此代码
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);
}
}
注意。 您只能在设备中查看邀请
就我而言,我无法收到邀请并在 FB 应用程序上看到它们,因为 FB 应用程序处于开发模式(未上线)。