react-native 集成友盟推送
react-native 集成友盟推送
公司开发app时用到了,友盟推送,但是友盟的官方文档写的比较模糊;粗略整理一下从集成友盟推送,到打开推送消息的处理过程;如有处理不合适的地方欢迎指正!!!!
集成推送功能
友盟推送官方提供的文档react-native https://developer.umeng.com/docs/66632/detail/67587
- 添加jar包 ,可以选择对应功能的jar包,添加到自己的android项目中;
- 导入项目module 添加完jar包后将push项目导入并且引用到自己的工程中
- 添加桥文件 需要添加三个文件,直接在demo中复制即可
- MainActivity集成代码
//onCreate
PushModule.initPushSDK(this);PushAgent.getInstance(this).onAppStart();
- MainApplication中添加代码 添加完pacageList 后
//onCreate
SoLoader.init(this, /* native exopackage */ false);//初始化组件化基础库, 统计SDK/推送SDK/分享SDK都必须调用此初始化接口RNUMConfigure.init(context, appKey, channel(Umeng), UMConfigure.DEVICE_TYPE_PHONE, secret);// initUpush();
到此可以收到推送消息,在rn页面中可以调用桥文件里的方法获取DeviceToken等信息
添加通知消息点击事件,涉及到从原生会调rn方法自此不详细描述(发送消息事件的方式)
// An highlighted blockprivate void initUpush() {PushAgent mPushAgent = PushAgent.getInstance(this);handler = new Handler(getMainLooper());//sdk开启通知声音mPushAgent.setNotificationPlaySound(MsgConstant.NOTIFICATION_PLAY_SDK_ENABLE);// sdk关闭通知声音// mPushAgent.setNotificationPlaySound(MsgConstant.NOTIFICATION_PLAY_SDK_DISABLE);// 通知声音由服务端控制// mPushAgent.setNotificationPlaySound(MsgConstant.NOTIFICATION_PLAY_SERVER);// mPushAgent.setNotificationPlayLights(MsgConstant.NOTIFICATION_PLAY_SDK_DISABLE);// mPushAgent.setNotificationPlayVibrate(MsgConstant.NOTIFICATION_PLAY_SDK_DISABLE);UmengMessageHandler messageHandler = new UmengMessageHandler() {/*** 自定义消息的回调方法*/@Overridepublic void dealWithCustomMessage(final Context context, final UMessage msg) {handler.post(new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stub// 对自定义消息的处理方式,点击或者忽略boolean isClickOrDismissed = true;if (isClickOrDismissed) {//自定义消息的点击统计UTrack.getInstance(getApplicationContext()).trackMsgClick(msg);} else {//自定义消息的忽略统计UTrack.getInstance(getApplicationContext()).trackMsgDismissed(msg);}Toast.makeText(context, msg.custom, Toast.LENGTH_LONG).show();}});}/*** 自定义通知栏样式的回调方法*/@Overridepublic Notification getNotification(Context context, UMessage msg) {switch (msg.builder_id) {case 1:Notification.Builder builder = new Notification.Builder(context);RemoteViews myNotificationView = new RemoteViews(context.getPackageName(), R.layout.notification_view);myNotificationView.setTextViewText(R.id.notification_title, msg.title);myNotificationView.setTextViewText(R.id.notification_text, msg.text);myNotificationView.setImageViewBitmap(R.id.notification_large_icon, getLargeIcon(context, msg));myNotificationView.setImageViewResource(R.id.notification_small_icon, getSmallIconId(context, msg));builder.setContent(myNotificationView).setSmallIcon(getSmallIconId(context, msg)).setTicker(msg.ticker).setAutoCancel(true);return builder.getNotification();default://默认为0,若填写的builder_id并不存在,也使用默认。return super.getNotification(context, msg);}}};mPushAgent.setMessageHandler(messageHandler);/*** 自定义行为的回调处理,参考文档:高级功能-通知的展示及提醒-自定义通知打开动作* UmengNotificationClickHandler是在BroadcastReceiver中被调用,故* 如果需启动Activity,需添加Intent.FLAG_ACTIVITY_NEW_TASK* */UmengNotificationClickHandler notificationClickHandler = new UmengNotificationClickHandler() {@Overridepublic void dealWithCustomAction(Context context, final UMessage msg) {super.dealWithCustomAction(context,msg);Log.d("umeng---------",msg.extra.toString());}};//使用自定义的NotificationHandler,来结合友盟统计处理消息通知,参考http://bbs.umeng.com/thread-11112-1-1.html//CustomNotificationHandler notificationClickHandler = new CustomNotificationHandler();mPushAgent.setNotificationClickHandler(notificationClickHandler);//注册推送服务 每次调用register都会回调该接口mPushAgent.register(new IUmengRegisterCallback() {@Overridepublic void onSuccess(String deviceToken) {UmLog.i(TAG, "device token: " + deviceToken);}@Overridepublic void onFailure(String s, String s1) {UmLog.i(TAG, "register failed: " + s + " " + s1);}});}
欢迎指正!!!
react-native 集成友盟推送相关推荐
- React Native集成友盟推送
React Native集成友盟推送 android推送集成 1.导入SDK: (1)push文件夹位置: (2)将push文件夹直接复制粘贴到rn项目android目录下,目录结构如下: 2.添加修 ...
- php upush 友盟 推送_react-native集成友盟推送
react-native-upush 近期由于产品需求,需要在react-native项目上集成友盟推送,笔者翻阅各种这方面资料后,看到RN论坛上面有位大神给出了具体的集成方案,请参考:react-n ...
- Android之集成友盟推送功能
友盟是中国最大的移动开发者服务平台,为移动开发者提供免费的应用统计分析.社交分享.消息推送.自动更新.在线参数.移动推广效果分析.微社区等app开发和运营解决方案. 如何快速集成友盟推送功能: 1. ...
- Android集成友盟推送功能
友盟是中国最大的移动开发者服务平台,为移动开发者提供免费的应用统计分析.社交分享.消息推送.自动更新.在线参数.移动推广效果分析.微社区等app开发和运营解决方案. 如何快速集成友盟推送功能: 1. ...
- php 友盟推送角标,android集成友盟推送实现离线在线推送及桌面图标角标设置
本人亲测有效,有问题欢迎评论,互相学习 1.集成友盟推送-根据友盟文档集成即可实现在线推送 2.集成后想要实现点击跳转到指定页面,那么就要根据后台返回的数据进行跳转 (1)在线推送-在applicat ...
- Android开发——集成友盟推送SDK遇到的坑(一)
前言 Android开发的小伙伴们一定会集成第三方SDK,这里记录一下我在遇到的集成友盟推送SDK遇到的坑. Project with path ':push' could not be found ...
- Android 集成友盟推送方案(1)
我自己继承过FCM(国外app)百度云推送,阿里云推送,小米推送,华为推送,友盟推送,目前这几类推送方式.本文主讲友盟推送方式的集成步骤: 大家可以根据官网网址进行集成:官网如下: https://d ...
- Android集成友盟推送最详细介绍
前言 如今大部分应用都会涉及到推送,正好最近的项目推送是我在搞,今天就分享一下我的使用过程. 集成方式 关于友盟推送的集成方式,文档已经介绍的很详细了,我就不在此多做解释. 友盟推送完整集成过程 完全 ...
- Android集成友盟推送
这几天一直在做Android 消息推送接入前的准备工作 特此在这里将自己在加载第三方推送时出现的问题以及详细的接入步骤进行记录,已免后者踩坑 目录 为什么选择友盟推送? 接入前的准备: 打开官方示例 ...
最新文章
- 实训3:配置网络负载平衡服务_Linux系统配置及服务管理第十四章网络管理实战2...
- java int 127_Integer类型中奇怪的127和128
- python编程入门与案例详解pdf-这些年我读过的技术经典图书(附电子版下载地址)...
- C语言 | 基于STM32实现AT24CXX应用(代码类)
- python不及格_10 个 Python 工程师,9 个不合格!!
- 阳狮集团与阿里巴巴全域营销伙伴关系再升级:数据和业务合作将更紧密
- 移动端导出excel_连载系列【4】Excel开发移动端quot;APPquot;
- Android ListView的基本应用
- 苹果三星手机被诉辐射超标;淘集集启动破产清算;Drupal 8.8.0 发布 | 极客头条...
- android6.0原生brower_Android Browser学习一 application的初始化
- mysql数据库管理工具navicat for mysql怎么用
- 医号馆诊所管理软件系统更新,新增人脸识别、处置单等功能!
- Linux(1)- 服务器核心知识、Linux入门、VMware与centeos安装、远程连接linux、linux基本命令使用...
- 宁皓网bootstrap
- NFT Insider #92:NBA球星拉梅洛·鲍尔入驻The Sandbox元宇宙,蓝精灵协会宣布与著名艺术家展开一系列合作
- 2188 完成比赛的最少时间(递推)
- 《软技能-代码之外的生存指南》读书笔记
- toad导入数据_配置toad进行导入导出数据库操作
- 鲁大师html5性能,安兔兔和鲁大师公布最新手机性能/流畅度排名
- java jaxb_java – 使用JAXB和Any进行序列化