这些是具有代码和截图的详细步骤:
AppInviteContent content = new AppInviteConent.Builder() .setApplinkUrl("App link url created via the Facebook Applink creator tool") .setPrevIEwImageUrl("http://www.redacted.com/prevIEwImage.png") .build();appInviteDialog.show(this,content);
这将导致显示一个对话框,其中预览了安装应用程序的链接,以及在顶部输入消息的选项:
然后点击下一步,选择一个或多个朋友,然后点击右上角发送按钮:
结果是一个看似成功的发送:
我附上一个回调,以确保它实际上是一个成功的发送:
appInviteDialog.registerCallback(facebookCallbackManager,new FacebookCallback<AppInviteDialog.Result>() { @OverrIDe public voID onSuccess(AppInviteDialog.Result result) { Log.d(TAG,"onSuccess result = "+ result.getData().toString()); } @OverrIDe public voID onCancel() {} @OverrIDe public voID onError(FacebookException e) { Log.d(TAG,"onError message = "+ e.getMessage()); }});
这打印出“onSuccess result = Bundle [{dIDComplete = 1}]”
预期结果:朋友收到通知.
实际结果:朋友什么也没收.
一些可能有帮助的信息:
>应用程式仅适用于AndroID.
>任何平台上都没有收到通知,包括Facebook的AndroID应用程序.
>应用程序链接网址已被确认工作通过点击它在Facebook的AndroID应用程序. (它创建一个链接到Google Play商店的d出式窗口)
>单点登录已启用,用户已登录,但根据Facebook上的AppInviteDialog文档不需要.
>试图与目标用户尚未授权的应用程序,以及已安装该应用程序的用户.相同的结果.
>我使用的Facebook SDK版本是4.0.0
这是令人沮丧的,因为一切似乎都OK,没有办法(我知道)来调试这个问题.
我希望有人可以帮助我,也可以指向正确的方向.
谢谢!
解决方法 好的,原来一切都工作正常.我的错误是假设没有安装应用程序,没有授权的应用程序应该生成推送通知.创建新的测试用户后,使用当前未安装应用程序的设备,并且该应用程序不得已被用户授权.
所以这里的关键是,如果应用程序安装在目标设备上,即使用户以前没有授权应用程序,也不会生成推送通知.此外,似乎如果用户以前已经授权了应用程序,即使在某些时候它被删除,它也不会生成通知.
所以如果你想测试这个,创建一个全新的测试用户,并登录到您正在测试的平台上的Facebook应用程序,并确保该应用程序未安装在设备上.
我认为,尽管安装了应用程序,它仍然会生成通知,因为多个用户可能正在使用相同的设备,但这似乎是现在.
我会在这里离开这里,以防将来有人遇到类似的问题.
健康长寿·繁荣昌盛!
总结以上是内存溢出为你收集整理的android – 为什么我的Facebook AppInviteDialog请求没有被目标朋友收到?全部内容,希望文章能够帮你解决android – 为什么我的Facebook AppInviteDialog请求没有被目标朋友收到?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)