信鸽 php message,信鸽接入总结
发布日期:2022-02-08 20:23:58 浏览次数:43 分类:技术文章

本文共 2052 字,大约阅读时间需要 6 分钟。

简单的介绍信鸽接入的,

信鸽接入

�官方文档

接入按照官方文档来就好了,这里不是重点

接受推送消息

APP已经打开的情况

1、Activity中监听点击事件

在需要监听到点击的Activity的onCreate中初始化对当前界面的监听,这里是直接接入和处理点击,根据后台的配置,可能会直接进入到某个页面,也就是会直接重新启动app或者直接跳到某个页面而不是在重启之后跳转

@Override

protected void onCreate(@Nullable Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// 这里尽量在onCreate的靠前位置进行初始化

XGPushClickedResult clickedResult = XGPushManager.onActivityStarted(this);

if (clickedResult != null) {

// 这里MessageBean根据需要传递的自定义参数来定义就好

MessageBean messageBean = new Gson().fromJson(clickedResult.getCustomContent(), new TypeToken() {

}.getType());

messageBean.setMsgId(clickedResult.getMsgId());

messageBean.setTitle(clickedResult.getTitle());

messageBean.setContent(clickedResult.getContent());

// 处理点击获取的推送消息

handlerPushMessage(messageBean);

}

}

2、判断是否进入了闪屏页

由于默认要重新打开APP,所以会再次从SplashActivity进入,如果不让它显示,那么需要去判断然后关闭SplashActivity

private void initXG() {

XGPushClickedResult clickedResult = XGPushManager.onActivityStarted(this);

if (clickedResult != null) {

MessageBean messageBean = new Gson().fromJson(clickedResult.getCustomContent(), new TypeToken() {

}.getType());

messageBean.setMsgId(clickedResult.getMsgId());

messageBean.setTitle(clickedResult.getTitle());

messageBean.setContent(clickedResult.getContent());

handlerPushMessage(messageBean);

// 如果当前是splashactivity

if (this instanceof SplashActivity) {

// 如果SplashActivity在栈底,因为splash在每次启动后会被关闭所以isTaskRoot会为false,此时程序会打开Splash,就调用到finish关闭splash,如此就不会重新打开app了

if (isTaskRoot()) {

// 如果splashactivity在启动中, 也就是app不在活动的时候的点击事件

handleAppNotRunNotificationClick();

return;

}

// 如果splash不在activity的栈中那么关闭splashactivity(这个splashactivity是当app开启的时候点击了通知栏又打开的,这样就防止了app被重新进入splashactivity)

// 这里处理当app在运行时点击了app通知的事件

handleNotificationClick();

finish();

}

}

}

注意

测试的时候发生推送暂停

由于不停的进行发送推送进行测试,导致后面的时候发送全部直接进入到发送暂停,这是由于腾讯限制一个小时内的推送总量数了

9787992179af

img1

如果你在Activity中使用了静态的常量,并且做了拼接的操作,那么这个常量由于没有被释放,那么在点击通知后再次进入,拼接仍然会添加在这个常量的后面,所以尽量少使用常量,并且在拼接的额时候尽量使用临时的字符串,不要让静态的自负床常量变动

在点击后Activity进行跳转的过程中如果Activity的背景没有设置为透明,那么在跳转的时候会出现黑屏的现象,并且如果被进入的Activity包含了动画,这个黑屏的时间会比较长,所以要在Activity的theme中设置它的背景为透明

转载地址:https://blog.csdn.net/weixin_33132553/article/details/115817292 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:php echo json节点,php 怎么接受别人echo出来的 json ?
下一篇:php数值要反着写,php操作颜色数值转换颜色为其反色

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年03月23日 19时41分06秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章