美文网首页工作生活
Android Firebase推送集成的巨坑记录

Android Firebase推送集成的巨坑记录

作者: 所幸时光未苍凉 | 来源:发表于2019-07-02 20:04 被阅读0次

    国内应用很少用到国外的推送,在网上的资料也比较少,在公司集成Firebase的时候遇到很多坑,目前来说遇到的最大的坑就是Firebase的消息推送。这个问题卡了我大半天,谨以此记录一下。

    准备条件

    1.将Firebase添加至Android项目,具体细节请详细查看这位大神的文章。注意:google-services.json不要弄错

    2.在获取到token令牌后,上传服务器成功(自备梯子)。

    遇坑情况

    在firebase后台推送的时候,不管App是处于前台还是后台的时候都能收到消息,但是将App应用杀死后,却始终收不到推送消息(需求是要不管App是否存活,都要收到消息),在网上百度了很久后才发现解决的办法有两种。

    解决办法

    1.服务端的json数据文件里面不要少了"icon:"这个字段

    {
        "to" : "APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx...",
        "notification" : {
          "body" : "great match!",
          "title" : "Portugal vs. Denmark",
          "icon" : "myicon" //一定不能缺少这个字段
        },
        "data" : {
          "Nick" : "Mario",
          "Room" : "PortugalVSDenmark"
        }
      }
    

    2.如果以上所有的条件都满足,杀死App后还是收不到推送消息,这时候就要考虑手机的问题了,首先要去App应用管理里面,打开通知栏权限,然后看是否有“自启动”这个开关,如果有就将它打开,然后重新运行App,再推送。这些都尝试之后,还是不行,就重启手机或者换一台手机测试,绝对可行!!

    3.最好使用国外的真机测试(ps:港版的手机也行)。首先测试一下Facebook应用在后台被干掉的情形下是否能收到好友消息,如果不能收到即可排除是手机自身的问题(原因很多,不一一赘述);如果某款手机的Facebook能在后台被干掉的情形下收到好友的消息,即这款手机是符合google三件套系列的原生手机,一般这种情况下,测试自己的应用也能在被干掉的情形下收到firebase后台推送的测试消息,如果这时候还收不到说明自己集成的代码有问题,得好好自查一下了。

    参考文章:
    国外的Android系统“即使App不在后台运行,也能获得推送”的简单分析

    相关文章

      网友评论

        本文标题:Android Firebase推送集成的巨坑记录

        本文链接:https://www.haomeiwen.com/subject/slothctx.html