第三方推送(小米华为友盟)接入实践
2017-03-21 19:39
429 查看
0,前言
这几天接了一下友盟,小米,华为三方的推送。总的流程下来,小米的api是最友好的,华为的文档和demo有点脱节。这两个推送在特定的手机上都挺稳定的的。
友盟的就有点麻烦,过程中遇到几个问题
1,接入友盟之后,APK方法数超过64K了
对于这种超大的第三方库无爱 : (是这样解决的。
android { compileSdkVersion 21 buildToolsVersion "21.1.0" defaultConfig { ... minSdkVersion 14 targetSdkVersion 21 ... // Enabling multidex support. multiDexEnabled true } ... } dependencies { compile 'com.android.support:multidex:1.0.0' } MultiDex.install(getTargetContext());
https://developer.android.com/studio/build/multidex.html
2,第二个问题是要自定义点击通知栏要调整到特定页面,需要重写
@Override public void dealWithNotificationMessage(Context context, UMessage msg){ if ( msg.extra == null) { super.dealWithNotificationMessage(context, msg); return; } Notification notification = new Notification.Builder(context) .setContentTitle(msg.title) .setContentText(msg.text) .setSmallIcon(R.drawable.share_default_logo) .build(); notification.flags |= FLAG_AUTO_CANCEL; notification.defaults = DEFAULT_ALL; notification.ledARGB = Color.BLUE; notification.ledOnMS = 5000; ((NotificationManager) SeeYouApp.getInstance().getSystemService(NOTIFICATION_SERVICE) ).notify(0, notification); }
3,要识别一下友盟的channel进程,允许它注册。
4,测试
测试起来很麻烦,因为杀应用,如果我们原有的进程没有被杀,那么友盟的推送就不会被杀,我们的进程被杀,友盟也被杀。这叫我怎么测…后来同事提醒,可以相互唤醒。所以就是安装一个友盟的官方的App,然后设置允许相互唤醒(这个各个手机的设置都不同,在设置里面找相互唤醒类似的字眼)
后台那边就是判断一下原有通道是不是通的,如果不通就走第三方渠道。
之前一直在测弱网络,所以我以为会有一个心跳的误差。其实杀APP,后台立刻就能知道长连接断了,因为socket断了,系统会发eof(从抓包上看就是FIN)。
5,其他有的没的
华为只支持企业级应用,所以我是用公司账号注册两个app,去测试的。华为客户端这边的识别就直接是包名,要有手机卡,手机必须是华为手机才能推到。小米接入小米推送之后,手动杀进程居然只杀了前台应用,得去应用里面强制关闭。没接入之前我记得手动杀进程是什么都不剩的,也许是官方推送保活福利吧。
相关文章推荐
- (4.2.12)浅谈第三方推送[推送基础]:百度推送、小米推送、华为推送
- 友盟推送集合小米华为通道
- (4.2.12.1)浅谈第三方推送[快速集成]:百度推送、小米推送、华为推送、魅族推送
- Android 推送集成华为,小米,友盟
- (4.2.12.2)浅谈第三方推送[API的不同]:百度推送、小米推送、华为推送
- 解决 cocos android 接入友盟推送 sdk 在5.0以下的系统出现UnsatisfiedLinkError 错误
- 最近因为项目需要,需要接入友盟的推送,遇到很多问题,记录一下
- 接入友盟分享和第三方登录sdk DownloadService报错
- Android集成小米华为推送以及收不到离线消息的坑
- 友盟iOS推送接入的记录
- 获取Android手机系统当前界面Activity;(第三方app跳转华为,小米,oppo,vivo的自启动管理)
- 集成第三方推送最佳实践
- 集成第三方推送最佳实践
- unity消息推送- 接入小米推送SDK-自定义消息通知声音
- android接入华为推送
- iOS开发(第三方使用)——极光推送SDK接入
- Android友盟推送接入
- Android 接入华为推送教程
- 集成第三方推送最佳实践