我看文档里面是这样解释的
应用启动后,推送SDK初始化,判断采用那种推送服务,比如华为手机就用华为推送,小米手机就用小米推送,或者全部或部分使用第三方推送。如果客户要加其它推送也是在这里加。选定好推送厂商后,就初始化对应推送厂商的SDK,注册成功后会得到推送token,调用IM SDK的setDeviceToken,传入推送token和类型。注意类型是可以扩展的,而且对IM系统没有任何影响的。 SDK被调用setDeviceToken后,会把推送token和类型传入到IM服务,IM服务为对应手机保存下来以备后用。事实上IM服务不需要理解token和type的含义,只需要透传给推送服务即可。
友盟注册成功后会返回一个deviceToken,我是不是把这个设置给IM就可以了,还是说需要像demo中一样,通过各厂商获取到对应的deviceToken去设置
而且我看推送服务端的代码里面只有一个判断决定是否要推送
long now = System.currentTimeMillis(); if (now - start > 15000) { LOG.error("等待太久,消息抛弃"); return; }
像根据用户在不在线,需不需要推送这种其他的判断,是IM服务来决定的还是在其他哪里决定的?