Android 友盟推送SDK集成---一路艰辛

android集成友盟推送,点击通知,先启动应用,然后再跳指定 界面;应用前台,接收推送,应用内弹框 友情提示:在看本文前,最好对友盟推送的集成文档看个差不多,不然可能有些概念不是太清楚。 友盟集成文档:https://developer.umeng.com/docs/66632/detail/98581 本文demo下载地址:https://github.com/274800562/umengtest.git ----------------分割线-------------------- 应用分... 阅读详情

这是一份详细集成友盟推送SDK的心酸历程,也集成了华为、小米、OPPO、vivo厂商通道,处理了app进程关闭、app在后台、app前台通知点击的处理

1  根据友盟自动集成文档,集成友盟SDK    友盟地址 点击这里

2 集成后查看友盟demo,进行预初始化那些,打印友盟token等

3 使用友盟的推送工具测试集成是否OK

以上这三步最简单,就不多说了。

重点来了:

1 友盟的自定义点击通知时的打开动作 UmengNotificationClickHandler

UmengNotificationClickHandler notificationClickHandler = new UmengNotificationClickHandler() {
    @Override
    public void dealWithCustomAction(Context context, UMessage msg) {
        super.dealWithCustomAction(context, msg);
        Log.i(TAG, "dealWithCustomAction: " + msg.getRaw().toString());
    }

    @Override
    public void openActivity(Context context, UMessage msg) {
        super.openActivity(context, msg);
        Log.i(TAG, "click openActivity: " + msg.getRaw().toString());
    }

    @Override
    public void launchApp(Context context, UMessage msg) {
        super.launchApp(context, msg);
        Log.i(TAG, "click launchApp: " + msg.getRaw().toString());
    }

    @Override
    public void dismissNotification(Context context, UMessage msg) {
        super.dismissNotification(context, msg);
        Log.i(TAG, "click dismissNotification: " + msg.getRaw().toString());
    }
};
pushAgent.setNotificationClickHandler(notificationClickHandler);

这个自定义只有在app位于前台的时候有作用,很多机型在app home回桌面后就没有反应了,所以用这个不好。如果你要用这个,那么在通知类型为自定义的时候(大多时候通知都为自定义,然后根据参数进行跳转),那么dealWithCustomAction()这个方法中,你的自定义处理需要写在super方法之前,不然没反应。

下面我将正确的处理方法:

1 集成厂商通道,集成的方法根据友盟的文档就可以了,比各大厂商自己的文档简单多了,集成后不要看友盟文档里面说的日志,自己调方法打印regId就可以了,有了regId 然后用各大厂商的推送测试工具,测试app关闭的情况下,能否收到通知。这个各大厂商里面都有的,小米、OPPO等有申请一下通道ID,不然小米会给你整一个不重要通知里面,看不懂通知了。这里再讲一个大坑,vivo的厂商推送,一天一个设备只有5个机会,

友盟SDK应用(一)------第三方登陆 初期准备: 1、到友盟官网下载SDK http://dev.umeng.com/ 2、到需要使用的第三方登陆方开放平台注册 微信开放平台:http://open.weixin.qq.com/    (AppID、AppSecret) 腾讯开放平台:http://open.qq.com/               (AppID、AppKey) 微博开放平台:http:/ 阅读详情

相关推荐

(系统的推送)友盟推送

今年再次负责这个模块,最大亮点就是支持了系统的推送,也就是说你设备退出后台应用了,发推送还可以收到推送 https://info.umeng.com/detail?id=169&&cateId=1 测试方案 设备 红米note7 Ao1B_xPIJtdNZrlHR20nH2AWkDi6XNGpxktFRxbW11NT Mix2s AtV94r2-iXzkzM2JTriKOAbs...

活着就是应该在解放自我 1395

友盟移动应用开发工具类SDK综述

在移动应用开发的过程中,集成第三方SDK(Software Development Kit)是增强应用功能和提升用户体验的常用方法。友盟作为国内领先的应用分析与推送服务提供商,为开发者提供了一系列实用的工具类SDK。本章将介绍友盟SDK的基本概念、功能以及如何在项目中进行集成。友盟SDK提供了一系列的功能,包括但不限于应用统计、用户行为分析、错误监控和推送服务等。开发者可以利用这些功能,快速有效地了解应用的运行情况,优化用户体验,并实现精准营销。

weixin_28729843的博客 825

稀疏阵列选型指南:互质阵、嵌套阵、MRA,谁才是你项目里的‘性价比之王’?

本文深入探讨了稀疏阵列技术中的互质阵、嵌套阵和MRA三大架构的工程化选型策略,重点分析了它们在DOA估计、自由度、旁瓣抑制和计算复杂度等核心指标上的表现。通过实际案例和配置示例,为智能天线、声学定位和毫米波雷达等应用场景提供技术选型指南,帮助研发团队在硬件成本与性能之间找到最佳平衡点。

weixin_42525005的博客 488

python基础语法与数据结构

本文摘要: Python基础语法包含输入输出、函数、变量、数据类型及运算符等内容。输入函数input()获取键盘输入并以字符串存储,输出函数print()可格式化输出数据。函数通过def定义,可带参数和返回值,提高代码复用性。变量无需声明类型,可动态赋值。数据类型包括数字、字符串、布尔及复合类型,可通过type()查看。运算符包含算术、赋值等类型,其中复合赋值运算符如+=可简化运算。类型转换函数如int()、str()等可实现显式类型转换。这些基础语法构成Python编程的核心要素。

MM602388的博客 433

STM32+EC800M-CN 4G模块数据透传踩坑实录:从AT指令调试到花生壳内网穿透

本文详细介绍了STM32与移远EC800M-CN 4G模块的数据透传实现过程,包括硬件连接、AT指令调试、TCP连接建立以及花生壳内网穿透配置。通过实战案例和代码示例,帮助开发者快速解决4G通信模块在物联网应用中的常见问题,提升数据传输稳定性。

weixin_42715608的博客 320

手把手教你用分立元件搭建自举电路:解决高端MOS驱动难题

本文详细介绍了如何用分立元件搭建自举电路,解决高端MOS驱动中的栅源极电压不足问题。通过面包板实验,逐步讲解二极管、电容等关键元件的选型与电路搭建,提供波形调试和常见问题排查方法,帮助工程师提升开关电源和电机驱动等应用的效率与可靠性。

weixin_30555125的博客 152

嵌入式开发避坑指南:用DWT做延时函数,这几个细节不注意代码会跑飞

本文深入探讨了在Cortex-M嵌入式开发中使用DWT实现精确延时函数的关键技巧与常见陷阱。针对DWT_CYCCNT计数器应用中的内核兼容性、溢出处理、编译器优化等五大核心问题,提供了工业级稳健解决方案,帮助开发者避免代码跑飞风险,实现微秒级高精度延时控制。

weixin_42653691的博客 158

S32K144之芯片锁死解锁——关闭debug端口

S32K144之芯片锁死及解锁 经常捣鼓单片机就会发现,时常会因为某些操作不当导致芯片锁死情况的发生,通过Jlink我们可以读到芯片的ID,但是无法进行Debug,这很是让人苦恼。 基于S32K144的芯片锁死,一般有如下几种可能: 1、时钟配置异常,过高的配置时钟频率以及不配置时钟,都有可能造成芯片保护锁死,我就曾经因为不注意把时钟配置代码注释掉,导致芯片锁死。 2、我是微软雅黑烧写断电,如果在...

weixin_41935674的博客 1万+

机器学习-深嵌交叉验证(Nested Cross-Validation)

Section I: Code and Analyses 第一部分:代码 from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.svm import SVC from...

Santorinisu Blogs 2715

YOLOv11缝合改进Conv | SAConv在YOLOv11中的应用可切换空洞卷积与性能提升(附代码)

在本篇文章中,我们将深入探讨如何通过引入**SAConv**(Switchable Atrous Convolution,可切换空洞卷积)来优化YOLOv11网络结构,特别是在卷积操作方面的创新。我们会解析SAConv的核心原理和架构设计。

一键难忘的博客 951

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

上一篇: Android app启动图适配
下一篇: Android jitpack.io下载第三方库失败
plx_csdn
博客等级 码龄10年 10粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

plx_csdn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值