【超全总结】集成环信消息推送注意事项(华为、oppo、vivo等)

news2024/9/25 7:26:01

环信即时通讯 IM 支持集成第三方厂商的消息推送服务,为 Android 开发者提供低延时、高送达、高并发、不侵犯用户个人数据的离线消息推送服务。

当客户端应用进程被关闭等原因导致用户离线,环信即时通讯 IM 服务会通过第三方厂商的消息推送服务向该离线用户的设备推送消息通知。当用户再次上线时,会收到离线期间所有消息。

目前支持的手机厂商推送服务包括:Google、华为、小米、OPPO、VIVO 和魅族。本文介绍在客户端应用中实现各厂商的推送服务时需要注意的事项。

1.初始化注意事项

参考文档中提供的案例

这部分操作时在环信初始化的时候来进行的

注意:

EMoptions 一定不要重复创建对象 如果重复创建,是不会出现对象重复的报错,因此会导致初始化的时候绑定不上证书 ,所以这块要特别注意

2.FCM推送需要注意事项

(1)FCM推送上传

此图的json文件是需要上传到环信管理后台的并不是给客户端的json

(2)options.enableFCM("") 参数值就是在环信管理后台上传的SenderID


关于客户端绑定的id 在我们的 google-service.json文件中project_number

(3) 如果在接收推送的时候没有出现通知,可以检查下 是否已经在EMFCMMSGService中自己写入了本地通知,环信只为FCM做了一个唤醒需要您自己做本地通知进行展示,如果没有看到通知 但是接收方是有唤醒的,也视为成功,自己评判不准确可以提供接收方的日志提供给环信技术支持查看下

  ","marks":[{"type":"color","value":"#ffb45f"},{"type":"backgroundColor","value":"rgb(51, 51, 51)"},{"type":"fontFamily","value":"Courier New"},{"type":"fontSize","value":12}]}]}],"state":{}},{"type":"block","id":"LLhI-1665372447646","name":"paragraph","data":{"version":1},"nodes":[{"type":"text","id":"fiGI-1665372447644","leaves":[{"text":"","marks":[{"type":"fontSize","value":12}]}]}],"state":{}}]" style="white-space: normal;">

3.华为推送注意事项

(1)华为的通知在app未上架之前的通知级别默认是不重要通知(运营通知) 只有上线以后才可以自己定义界别 其次可能是因为推送的标题的限制直接到不重要通知中,

(2)支持自定义铃声 华为设备必须安装2.6+以上华为移动服务 还需要开启当前app的启动权限

(3)清单文件中声明appid <meta-data android:name="com.huawei.hms.client.appid" android:value="appid=填写开发者的appid" /> (4)证书上传在管理后台要上传 OAuth2.0客户端 中Client Secret 起首为小写的密钥

(4)证书上传在管理后台要上传 OAuth2.0客户端 中Client Secret

(5)华为厂商集成 需要 导入agconnect-services.json文件 以及 环信封装好的类导入到项目中(HMSPushHelper) 需要在初始化以后 在Mainactivty的onCreate中 引用 HMSPushHelper.getInstance().getHMSToken(this);

HMSPushHelper在环信demo中有提供直接将此类拖入到您的项目中即可使用

(6)华为推送的通知进入到营销通知 去华为官网按照这个看下自动类权益设置一下

4.OPPO推送注意事项

1.环信管理后台截图

(1)OPPO集成的时候 上传证书环信管理后台上传的是MasterSecret 而客户端(AS初始化)上绑定的是AppSecret

2. oppo官网Master位置截图

oppo官方链接: 【推送服务】OPPO PUSH 客户端SDK接口文档(2.1.0版本) - 移动服务 - 开发者社区

(1)客户端绑定证书是Appsecret 调用 enableOppoPush("appkey","appSecret");

(2) SDK 3.7.1-升3.9.0级到 2.1.0 版本初始化添加(HeytapPushManager.init(context,true)), 如果OPPO aar版本为 3.0.0 环信sdk需要升级大于或等于3.9.1 OPPO的通知也会归纳到不重要级别 具体配置需要在OPPO控制台进行自己配置

(样例图中展示SDK是3.8.5 所以使用的oppo2.1.0.aar)

5.VIVO集成注意事项

  (1) VIVO 集成 3.9.1或以上需要升级推送版本到3.0.0.4_484,vivo默认是推送是运营消息 重新上传证书需要重新配置,jar包需要放在libs幕布下并sync

(2)vivo需要上架app后才能收到离线推送

更多详细攻略请查看推送文档地址:Android 第三方推送设置 | 环信 IM 文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/430630.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙Service Ability的前世今生--进阶篇

二、SA的配置 ​ SA的运行需要配合多个配置项&#xff0c;此节专门对此进行说明。 ​ OpenHarmony中SA一般由两个配置文件和一个so组成。上一章节已介绍了生成so中代码。此节描述下另外两个配置文件(.cfg或.rc、xml)。 ​ SA的启动一般采用.cfg或.rc .xml libxxx.z.so方式…

Python 编程必不可少的unittest测试框架

一段表面看起来平平无常的代码&#xff0c;很可能暗藏很多bug无法一眼看透&#xff0c;没有经过测试的代码是不可靠的代码。上一篇讲过pytest测试框架这次我们换个框架。 unittest 是一个单元测试框架&#xff0c;单元测试完成对一个模块、一个类或一个函数的运行结果进行检验…

SpringSecurity之注销与自动登录

前言 前面我们讲解了用户的登录以及用户授权的过程。今天我们看一下&#xff0c;系统中常用的注销与自动登录各功能&#xff01; 注销操作 注销操作&#xff0c;首先需要在我们的配置类中添加上我们的注销路径。主要配置详见下方标红处代码&#xff0c;标记了退出的路径以及…

java轻量级框架MiniDao的详解

MiniDao是一款基于Java语言开发的轻量级持久层框架&#xff0c;它的目标是简化数据库操作流程&#xff0c;提高开发效率&#xff0c;减少代码量。MiniDao采用简单的注解配置方式&#xff0c;可以很容易地与Spring等常用框架集成使用。 MiniDao的主要特点包括&#xff1a; 简单…

浙大数据结构网课第一周入门

题目详情 Given a sequence of K integers { N1​, N2​, ..., NK​ }. A continuous subsequence is defined to be { Ni​, Ni1​, ..., Nj​ } where 1≤i≤j≤K. The Maximum Subsequence is the continuous subsequence which has the largest sum of its elements. For …

RBF-UKF径向基神经网络结合无迹卡尔曼滤波估计锂离子电池SOC(附MATLAB代码)RBF神经网络训练部分

1.清空变量 close all clear,clc 2.导入数据用以RBF神经网络训练&#xff0c;一共14组&#xff0c;训练数据P&#xff08;第一列为电压值&#xff0c;第二列为SOC值&#xff0c;第三列为电流值。&#xff09;&#xff0c;并将所有数据存储在变量PP中&#xff0c;所有电压数据…

蓝桥杯:优秀的拆分

蓝桥杯&#xff1a;优秀的拆分https://www.lanqiao.cn/problems/801/learning/ 目录 题目描述 输入描述 输出描述 输入输出样例 输入 输出 输入 输出 题目分析&#xff08;位运算&#xff09; AC代码&#xff08;Java) 题目描述 一般来说&#xff0c;一个正整数可以拆…

【】:addService 和 getService

一次完整的 Binder IPC 通信过程通常是这样&#xff1a; 首先 Binder 驱动在内核空间创建一个数据接收缓存区&#xff1b; 接着在内核空间开辟一块内核缓存区&#xff0c;建立内核缓存区和内核中数据接收缓存区之间的映射关系&#xff0c;以及内核中数据接收缓存区和接收进程用…

无线传感器网络硬件设计简介

无线传感器网络硬件设计简介 无线传感器网络因其巨大的应用前景越来越受到学术界和工业界的广泛关注。本文介绍了无线传感器网络节点的体系结构&#xff0c;分析比较了国内外当前典型的硬件平台&#xff0c;重点讨论了目前无线传感器网络节点常用的处理器、射频芯片、电源和传…

孩子为什么不能玩抖音精彩回答,共勉

2 可是&#xff0c;为什么我的同学、哥哥姐姐…… 反正身边好多人都在玩&#xff1f; 我不知道你父母有没有告诉你这个道理&#xff1a; 你把时间花在哪儿&#xff0c; 你就会成为什么样的人。 他们爱玩&#xff0c;是因为两个字&#xff1a; 空虚。 想象一下&#xff…

02、Cadence使用记录之创建元器件---原理图和封装(OrCAD Capture CIS)

02、Cadence使用记录之创建元器件—器件原理图符号和封装&#xff08;OrCAD Capture CIS&#xff09; 参考的教程是B站的视频&#xff1a;allegro软件入门视频教程全集100讲 前置教程&#xff1a; ## 01、Cadence使用记录之新建工程与基础操作&#xff08;原理图绘制&#xf…

新闻文本分类任务:使用Transformer实现

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

13.网络爬虫—多进程详讲(实战演示)

网络爬虫—多进程详讲 一进程的概念二创建多进程三进程池四线程池五多进程和多线程的区别六实战演示北京新发地线程池实战 前言&#xff1a; &#x1f3d8;️&#x1f3d8;️个人简介&#xff1a;以山河作礼。 &#x1f396;️&#x1f396;️:Python领域新星创作者&#xff0c…

Spark SQL实战(07)-Data Sources

1 概述 Spark SQL通过DataFrame接口支持对多种数据源进行操作。 DataFrame可使用关系型变换进行操作&#xff0c;也可用于创建临时视图。将DataFrame注册为临时视图可以让你对其数据运行SQL查询。 本节介绍使用Spark数据源加载和保存数据的一般方法&#xff0c;并进一步介绍…

node安装

一、下载nodejs的安装包&#xff1a; 下载地址&#xff1a;https://nodejs.org/zh-cn/download 根据自己电脑系统及位数选择&#xff0c;一般都选择windows64位.msi格式安装包 二、改变nodejs的下载依赖包路径 安装完nodejs后&#xff0c;也同时安装了npm&#xff0c; npm是…

半监督语义分割_paper reading part1

Assignment 要解决的问题思路方法结果自己的想法 01 A Survey on Semi-Supervised Semantic Segmentation University of Granada, 18071, Granada, Spain 2023.02出版 problem to solve ss先前的&#xff08;19年&#xff09;不适用先前的调研包含弱监督&#xff0c;ss不…

Docker Desktop使用PostgreSql配合PGAdmin的使用

在看此教程之前&#xff0c;请先下载安装Docker Desktop 安装成功可以查看版本 然后拉取postgresql的镜像&#xff1a;docker pull postgres:14.2 版本可以网上找一个版本&#xff0c;我的不是最新的 发现会报一个问题 no matching manifest for windows/amd64 10.0.19045 i…

小心,丢失的消息!RocketMQ投递策略帮你解决问题!博学谷狂野架构师

RocketMQ消息投递策略 作者: 博学谷狂野架构师GitHub&#xff1a;GitHub地址 &#xff08;有我精心准备的130本电子书PDF&#xff09;只分享干货、不吹水&#xff0c;让我们一起加油&#xff01;&#x1f604; 前言 RocketMQ的消息投递分分为两种&#xff1a;一种是生产者往MQ …

java中级面试题

1.假如有两个线程共同操作数据库&#xff0c;以乐观锁的角度考虑&#xff0c;怎么确保不会发生并发问题&#xff1f; PS&#xff1a;考点是CAS&#xff0c;比较并替换。CAS中有三个值&#xff0c;内存中的值&#xff0c;新值&#xff0c;旧值。 假如内存中的值是2000&#xf…

[C++]string类的模拟实现和相关函数的详解

目录string总体架构具体实现默认成员函数构造函数构造拷贝函数析构函数赋值重载[]相关操作函数c_str() && size()reserve() && resize()push_back() && append()find()inserterase() && clear其余操作符重载< 、 <、 >、 >、 !<…