美文网首页
信鸽接入总结

信鸽接入总结

作者: J_xs | 来源:发表于2017-11-09 11:54 被阅读76次
简单的介绍信鸽接入的,

信鸽接入

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

接受推送消息

  • 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<MessageBean>() {
            }.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<MessageBean>() {
            }.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();
            }
        }
    }

注意

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


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

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

相关文章

  • 信鸽接入总结

    信鸽接入 �官方文档接入按照官方文档来就好了,这里不是重点 接受推送消息 APP已经打开的情况1、Activity...

  • Android 信鸽推送需要注意的细节

    由于信鸽接入文档比较详细,这里我不对如何接入进行阐述,想知道具体如何接入可以参考信鸽帮助手册:信鸽Andr...

  • 信鸽接入记录

    接入还是很简单的但是 有bug;bindAccount并不能替换之前的账号需要自己去反注册好坑;还有就是setTa...

  • 将deviceToken字符串转为NSData

    接入新版信鸽SDK之后,出现- (void)application:(UIApplication *)applic...

  • 腾讯信鸽推送接入

    下载SDK, 导入3个jar包和两个so库(不要导入support-v4包, 不要导入support-v4包, 不...

  • 信鸽推送迁移问题

    信鸽付费接入 错误码日志过滤:otherpush or hmssdk 1.Oppo:问题:注册回调成功,但是接收不...

  • Flutter接入腾讯信鸽推送通知

    接入通知前需要了解一件事情: 安卓的应用在接受推送消息的时候,需要APP至少在后台没有被杀掉,如果杀掉,就收不到了...

  • 信鸽推送总结

    1.信鸽推送 一个账号 可以绑定多台设备.比如一个人用group1账号 在一台设备上登陆,同时两一个人用grrou...

  • 极光推送接入

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

  • iOS 开发者账号Edit Phone Number无效的解决方

    这周一来上班公司领导说要接入腾讯信鸽的推送,注册的时候需要iOS证书,进入开发者账号发现根本打不开,需要同...

网友评论

      本文标题:信鸽接入总结

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