android – 为什么我的Facebook AppInviteDialog请求没有被目标朋友收到?

简而言之:一切似乎都在客户端工作,但Facebook的目标朋友没有收到任何信息.

这些是具有代码和截图的详细步骤:

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商店的弹出式窗口)
>单点登录已启用,用户登录,但根据Facebook上的AppInviteDialog文档不需要.
>试图与目标用户未授权的应用程序,以及已安装该应用程序的用户.相同的结果.
>我使用的Facebook SDK版本是4.0.0

这是令人沮丧的,因为一切似乎都OK,没有办法(我知道)来调试这个问题.

我希望有人可以帮助我,也可以指向正确的方向.

谢谢!

解决方法

好的,原来一切都工作正常.我的错误是假设没有安装应用程序,没有授权的应用程序应该生成推送通知.

创建新的测试用户后,使用当前未安装应用程序的设备,并且该应用程序不得已被用户授权.

所以这里的关键是,如果应用程序安装在目标设备上,即使用户以前没有授权应用程序,也不会生成推送通知.此外,似乎如果用户以前已经授权了应用程序,即使在某些时候它被删除,它也不会生成通知.

所以如果你想测试这个,创建一个全新的测试用户,并登录到您正在测试的平台上的Facebook应用程序,并确保该应用程序未安装在设备上.

我认为,尽管安装了应用程序,它仍然会生成通知,因为多个用户可能正在使用相同的设备,但这似乎是现在.

我会在这里离开这里,以防将来有人遇到类似的问题.

健康长寿·繁荣昌盛!

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...