美文网首页
flutter中接入极光推送遇到的坑

flutter中接入极光推送遇到的坑

作者: 文豪英杰 | 来源:发表于2023-12-06 11:43 被阅读0次

本文记录了个人在接入极光推送时遇到的坑,特别是接入华为厂商通道推送遇到的坑,如果你正在接入flutter极光推送,希望本篇文章能帮助到你。


首先,flutter版本的极光推送,我最先开始是接入的最新版本的,但是后面问了极光客服,他们说flutter插件目前统一用这个分支https://github.com/jpush/jpush-flutter-plugin/tree/dev-2.x

好吧,咱也不知道为什么,但是听人劝吃饱饭,改用了这个版本。按照官方文档初始化后,开始iOS的配置。iOS以前需要使用推送证书,现在的话,推荐使用Token Authentication

Token Authentication是 APNs 新推出的推送鉴权方式。它相对老的证书鉴权方式有如下优势:

1.同一个账户下所有 App 无论是测试 App 还是正式版 App,都能使用同一个 key 来发推送消息和 voice-over-Internet Protocol (VoIP) 消息,不再需要为每个 App 生成一个证书。

2.生成的 Auth Key 不再有过期时间,无需像证书那样每年需要重新生成一次。

3.生成过程简单,不需要繁琐、易错的证书导出操作

集成相关步骤可以参考这篇文章:https://www.jianshu.com/p/704673bb3e50

然后到极光后台配置iOS,选择鉴权方式Token Authentication,把下载的Token Authentication传上去,其他的相关参数一填写,iOS就配置完成。

重点来了,iOS的推送测试,只能真机测试,不能使用模拟器。


下面开始安卓的厂商通道推送,安卓如果不配置厂商通道推送,APP未打开的情况下,是收不到推送的。第一次配置,我参考了flutter 极光推送华为厂商通道推送_极光通道与厂商通道-CSDN博客,这篇文章,如果你也参考了这篇文章,那么接下来,你可能会遇到和我一样的问题。

这里集成步骤就不过多描述了,按照上面的文章集成后,我遇到的第一个问题,又是没有使用真机测试,而且你测试对应的厂商推送,需要使用对应厂商的手机,如测试华为的推送需要使用华为的手机。

当我开始测试的时候,不用说,没有成功,于是我开始找问题,首先我怀疑,在app/build.gradle里,这个版本号我没有对应:

app/build.gradle这里说的版本号和对应的JPush版本号相同,我不知道这个和对应的版本是否相同,然后咨询极光技术支持,在日志里找到了对应的版本。

好了 ,把所有的都改成了对应的版本后,小米成功了,然而华为没有成功。查看日志,提示:not support huawei,把日志提交给极光技术支持,他说打印的日志不全,建议我换个手机测试。最先开始使用的是华为nova9真机,然后我换成了华为P40,这次终于有问题出现了, 《错误码:907135000》:错误码:907135000 · BDS技术支持组

按照这个文档给出的说法,我注意到,我按照参考的文章flutter 极光推送华为厂商通道推送_极光通道与厂商通道-CSDN博客里集成,是把agconnect-services.json文件拖到项目下面的 android/app/src 目录下,而907135000这个错误,是说我需要把agconnect-services.json放置到主工程build.gradle同级的目录中,于是修改后:

再次运行,好的,报错6003,错误码:6003 · BDS技术支持组,按照这里面说的,就是我的SHA256有问题。多次检查我的SHA256,没有出错啊,问题在哪里呢?重新配置华为的参数,也不行。我的signingConfigs如下:

我甚至把release下的SHA256和config下的SHA256都填写到了华为的后台,还是不行。

想了半天,debug我没有配置,会不会有影响,一查果然,debug没有配置,系统会使用默认的配置,这个时候,你可以配置debug使用和release一样的配置。或者你可以把debug的SHA256填写到华为后台去。


查看debug下默认的SHA256的方法:

1.先打包debug.apk,把debug.apk文件解压,在解压后的文件夹中,找到并打开名为 `META-INF` 的文件夹。在 `META-INF` 文件夹中,你可以查看其中的文件。其中,SHA256 哈希值通常位于名为 `CERT.SF` 或 `CERT.RSA` 的文件中。

2.在终端或命令提示符窗口中,导航到 `META-INF`文件所在的目录。

3.执行命令:  keytool -printcert -file CERT.RSA   

如下图所示:

最后,填写好了debug的SHA256后,你可能还不会马上成功,你需要等个10-30分钟,然后一定要刷新华为官网的页面,重新下载并导入agconnect-services.json。

重新运行项目,如果控制台出现下图所示,就说明配置成功了。

相关文章

  • Flutter开发 集成极光推送

    Flutter推送 极光推送Flutter版本 最近研究Flutter推送,在网上找了很多资料,发现极光推送竟然有...

  • Flutter项目接入极光推送

    先奉上Demo地址[https://github.com/kelinZhou/flutterJpushDemo] ...

  • 极光推送接入

    极光推送调研 极光接入 主要功能使用 总结 极光接入 申请极光AppKey 极光接入步骤/引入jar包 申请极光A...

  • 极光推送遇到的坑

    1,打开Push Notification开关 打开这个之后,Push Notification就已经开启了 2,...

  • 极光推送的几个问题

    极光推送的几个问题 最近接入极光推送遇到了几个问题 服务端发出通知没有声音 需要设置声音字段的值, sound:'...

  • 接入极光推送

    正常情况下,接入我们接入极光推送的sdk,当应用退出后,用户便无法再接受到推送,那么这样显示是不符合我们的需求得,...

  • Flutter 学习(七)Flutter集成极光推送

    Flutter集成极光推送 目前众多推送厂家只有极光支持了flutter,支持一下!!! 废话不多说,开始撸代码 ...

  • Android接入华为推送遇到的坑

    前两个月接入了Android华为推送,遇到的坑真是不少,在此记录下。 坑1:有两个华为推送?我可能接入了假的华为推...

  • 极光推送集成Module中遇到的坑

    序言:在上次做完极光推送的实验说说极光推送那些事后,已然被推送的魅力所吸引,近期打算做一个仿朋友圈的功能,想要结合...

  • 极光推送遇到的那些坑

    1 在app启动的时候不进入didRegisterForRemoteNotificationsWithDevice...

网友评论

      本文标题:flutter中接入极光推送遇到的坑

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