美文网首页
2021 Feb. Week 1

2021 Feb. Week 1

作者: defalt的简书 | 来源:发表于2021-02-04 23:08 被阅读0次

FCM 推送:

融云采用的一直都是透传 (data方式), FCM分为notification和data两种方式.

需要开启统计功能的用户对关闭auto_init的疑问, google推送官方文档: https://firebase.google.com/docs/cloud-messaging/android/client?authuser=0

(Rong推送, 也是透传式)

沉浸式状态栏 输入框冲突:

https://blog.csdn.net/smileiam/article/details/69055963

会话置顶:

会话置顶状态也是会被同步到服务端的, 在连接后直接从服务端取会话置顶状态, 直接在端上生成会话了, 这个不依赖于消息, 且无法关掉.

厂商推送暴露给用户接口:

华为 — HwPush 小米— MiPushMessageReceiver Vivo— VivoPush

用户复写相应获取Token的方法后, 把我们的逻辑也拷贝进去, 然后再注册给PushClient.

**FCM第一次杀死无法接到推送的现象: **

1.一切都配置完成之后, 开始测试. 第一次启动App, 杀死. 发送测试消息. 收不到推送.

2.再次启动App, 杀死, 发送测试消息. 这次能收到推送了.

第一次杀死App之后, 发送测试消息, 可以看到log中会即时打出:

09-17 11:50:34.298 W/GCM ( 2025): broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg=com.rongcloud.fcm_demo (has extras) }

GCM打出的log, result=CANCELLED. 广播的intent发送回调是: cancelled. 也就是这个广播还没发送到app层/sdk层, 就已经被系统拦截到了. 失败了.

最开始以为是App关于GCM, 或者FCM的权限问题. 在manifest里遗漏了某个配置, 或者App的通知权限没有打开. 但是做了一番检查以及配置之后, 这个问题还是存在.

之后求助于Google和StackOverflow, 发现有些人是遇到过类似问题的, 但是都没有一个很好的解决方案, 把网上的解决方法一一尝试之后, 这个顽固的问题还是存在.

后来也是一个偶然的发现, 如果我在IDE中直接点击“Run”把App安装运行到手机上, 会出现这个问题, 但是我把项目打包成apk后, 再安装到手机上. 这个问题就消失了, 第一次杀死App之后, 也是可以顺利收到消息的. 这样才把这个问题给解决掉.

Android app杀死:

"确认了只要Android段融云ipc进程还在运行,就认为用户没有下线"

杀死后, 主进程死亡, 对应的私有IPC进程会一同死亡吗

进程死亡与否, 是否影响TCP连接.

已读回执与服务端同步的问题:

RC:ReadNtfMsg + RC:SRSMsg

相关文章

网友评论

      本文标题:2021 Feb. Week 1

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