自有账户体系对接百度云推送必须要弄懂的问题



  • 同一个设备上的同一个APP多次绑定返回的user_id相同,channel_id也相同。
  • 同一个APP在不同的设备上绑定user_id是不相同的,channel_id也不相同。
  • 同一台设备对应唯一一个channel_id。(多个APP共用一条通道),所以在同一台设备上的多个APP绑定时,它们的channel_id是相同的。
  • 同一台设备上的不同APP对应不同的user_id。
  • 不同设备上的相同APP对应不同的一对[channel_id, user_id]
  • 怎么让自定义账户体系的id跟推送账户[channel_id,user_id]
    对应 ?

目前百度云推送消息只能到APP,不能为APP的自定义账户推送消息。如果想对APP的单个自定义账户准备推送消息,那么就需要知道当前用户客户端的设备在云服务器上的维护信息,所以自己要在服务器上建立一张对应表[自定义用户ID,user_id,channel_id]。

  • 自定义账户体系的id跟推送账户[channel_id,user_id]
    对应是一次绑定就可以了吗?

    不是!因为自定义账户在APP上,可能会在不同的设备上登录,设备对应的

    [channel_id,user_id]就会不同,所以需要实时绑定并维护对应关系。当自定义用户登录APP时,就要重新绑定下对应关系。当用户退出APP,就要删除对应关系。

  • 账号发送消息需要注意什么问题?

    服务端给对应的自定义用户发送消息,需要通过维护的关系,来找到云推送的

    [channel_id,user_id], 如果找不到对应关系,说明该账号暂时未在线,自动放弃当前消息对云推送服务的调用。云推送的前提就是,云推送客户端相对于云推送服务器是在线的。相对于业务来说,[channel_id,user_id]
    对应的客户端APP上的登陆用户,正好是我们希望推送的用户。这样才完成我们账户体系上的一次成功推送。

  • 考虑过同一台设备上同一APP上账户的切换问题么?

    同一台设备上同一APP上,对应的[channel_id,user_id]
    是一样的,所以a账户登出,b账户登录。如果后端有需要推送的消息给a,那么如果不及时去除账户a的绑定对应关系,那么就很会出现b会收到a的推送消息的情况。所以后台再处理推送的时候,由于前端在不断的登陆登出的变化,用户的对应关系也在变化。服务端在推送消息,要确保获取即时的账户绑定对应关系,从而告知云推送服务端正确的推送的客户端。

  • 延迟问题

即使获取到再即时的绑定对应关系,由于APP上切换账号的迅速,再加上云推送服务器的延迟问题,那么当消息推送到客户端的时候,很可能当前APP上的登录用户,已经不是发出推送的目标用户了,这样就会出现推送发错的问题。为了避免这样的问题,消息体格式,需要有接受用户id(项目编号)标记,在APP端,需要增加消息校验,当前消息是否是自己的消息,如果不是,则丢弃掉,并将告知我们服务端该消息发错,需要重新发送。

时间: 2024-10-09 20:09:44

自有账户体系对接百度云推送必须要弄懂的问题的相关文章

Android 高仿微信实时聊天 基于百度云推送

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38799363 ,本文出自:[张鸿洋的博客] 一直在仿微信界面,今天终于有幸利用百度云推送仿一仿微信聊天了~~~ 首先特别感谢:weidi1989分享的Android之基于百度云推送IM ,大家可以直接下载:省了很多事哈,本例中也使用了weidi的部分代码,凡是@author way的就是weidi1989的代码~~ 1.效果图 核心功能也就上面的两张图了~~~我拿着手机和模拟器

消息推送之百度云推送Android集成与使用方法

这两天由于项目需要,研究了一下百度云推送,本来这事没什么多大工作量的,但注册百度开发者账户创建应用令我蛋疼菊紧了好一阵,这些东西做了对技术没啥提升,不做又不行,必经之路.好在我耗费了N多个毫毫秒秒后稀里哗啦的闯了过来. 在此先吐槽一下.这个云推送虽然没多少东西,但对于初次接触的人来说还是有点不利索的,所以肯定要看官方文档,只是不知是百度哪个哥们做的文档,pdf做的也太不地体贴了:英文字符里面竟然有中文空格,复制到自己的项目中发现江山一片红,娘的,这猛一看还不一定能看得出来到底是哪里出了错. fo

消息推送之百度云推送Android集成与用法

这两天因为项目须要.研究了一下百度云推送,本来这事没什么多大工作量的,但注冊百度开发人员账户创建应用令我蛋疼菊紧了好一阵,这些东西做了对技术没啥提升,不做又不行,必经之路. 好在我耗费了N多个毫毫秒秒后稀里哗啦的闯了过来. 在此先吐槽一下.这个云推送尽管没多少东西,但对于初次接触的人来说还是有点不利索的,所以肯定要看官方文档.仅仅是不知是百度哪个哥们做的文档.pdf做的也太不地体贴了:英文字符里面居然有中文空格,拷贝到自己的项目中发现江山一片红,娘的.这猛一看还不一定能看得出来究竟是哪里出了错.

Android项目集成百度云推送,无法回调到PushMessageReceiver中onBind方法的问题与解决

今天准备集成百度云推送,因为据朋友说,百度云推送作为android的推送还是相对稳定的. 开发工具:android studio 1.2.1.1  系统:Mac os x 10.10.3 立即下载了最新的V4.4.1版本的百度云推送demo,仔仔细细按照文档一步一步做完.但是测试的时候,就是回调不了. 最后在百度云应用管理详情中,看见了“生成快速示例的按钮”,生成之后安装,发现可以正常使用.于是开始研究这个快速示例,最后发现只有一处不同:armeabi/libbdpush_V2_2.so和mip

Android使用第三方推送(二)百度云推送

时间过得好快,转眼就是12月了.工作了之后,发现节奏停不下来,像是被上了发条,再也由不得自己.工作日如流水,周末更是转瞬即逝.其实想想也是有时间的,只不过没有很好的利用,或者花在了没有意义的事情上面.人总是有惰性的,但是持续下去就不好了. 上周开始接触第三方云推送,先后体验了极光推送,个推和百度云推送,也感受了各个平台的特性.有的部署便捷,有的功能强大,有的稳定可靠.今天简单介绍一下百度云推送的使用. 百度云推送给我的感觉就是稳定可靠,毕竟是百度出品,值得信赖.而且富媒体推送也是免费,又胜出极光

百度云推送的Service在启动的时候自己退出了

============问题描述============ 大家好,我在使用百度云推送SDK的时候发现在AVD中可以正常收到推送通知,而在手机上却没办法收到. 在Logcat中发现这么一句 shouldStopSelf-------localPriority = 360;  other packageName = com.push.test--priority =384 从Logcat的其他信息来看百度云推送的Service自己退出了,请问各位这是什么原因导致的 ============解决方案1

使用【百度云推送】第三方SDK实现推送功能详解

之前介绍过如何使用shareSDK实现新浪微博分享功能,今天介绍如何使用百度云推送SDK实现Android手机后台推送功能. 运行效果如下 第一步,如果使用百度的SDK,当然要先成为百度的开发者啦,这个就不详述了.成为开发者之后,我们要建立一个应用,如下图所示 第二步,创建好应用之后,我们点击开方者服务管理,进入工程管理页面,然后点击左侧云推送,进入云推送功能页面,具体如下图 进入云推送详细页面之后,我们点击推送设置,设置好我们的应用的包名,然后点击快速实例,将系统给我们产生的示例代码下载下来

App之百度云推送

下载最新的Android SDK压缩包并解压,在新建工程或已有工程中增加百度云推送功能. 我下载的是 ,里面有一个同名的文件夹,文件夹中有 导入云推送jar包和so文件: 将解压后的libs文件夹中所有文件拷贝到您的工程的libs文件夹中.如果您的工程中没有其他的.so文件,建议只拷贝armeabi文件夹.如果您的工程中还使用了其他的.so文件,只需要拷贝对应目录下的.so文件即可.如果你使用的Android开发环境是Android Stutio,在工程中“src/main”目录中新建名为jni

百度云推送初尝试

今晚(不对,具体应该说是昨晚,哈哈),给师弟师妹开了个分享会,然后打算把他们分到各个师兄那边,让师兄带着他们去学.然后,师妹跑过来问我说,我这边有什么优势,想了想,这个得怎么说啊.然后,就糊弄她说:没优势..(注孤身的节奏啊),然后师妹说她要跑去另一个师兄那边,我问她为什么,然后她跟我说:那边可以学到百度云推送(怪我当时没学,唉浪费了大好机会,哈哈) 想到就因为这么一个原因,就痛失师妹,我不服!! 然后,有了下文. 1.进入官网:http://push.baidu.com/ 2.找到文档中心:h