React Native之Umeng友盟统计、分享、授权封装(直接用)

1,306 阅读2分钟

背景

很长一段时间内,都是直接使用的官方的demo进行原生手动集成,但是umeng官方很长时间都没有更新了,sdk较老,并且缺失了很多方法,譬如小程序的分享,所以自己动手封装了友盟的统计、分享、授权,并且是以npm包的形式提供,免去手动集成的那些复杂的步骤(当然由于分享涉及到的第三方平台较多,原生还是需要更改很多东西,不过该库在文档中已经说明的较清楚了)

功能

相比官方的demo

  • npm包形式提供
  • 完全typescript化
  • 完全Promise化(官方的demo是callback形式)
  • 支持所有的分享模式(除了emoji分享)
  • 支持分享面板的自定义传参
  • 适配最新的umeng的sdk

Api

AnalyticsUtil

名称描述
手动页面统计接口onPageStart (pageName: string)
手动页面统计接口onPageEnd (pageName: string)
自定义事件onEvent (eventId: string)
自定义事件onEventWithLable (eventId: string, eventLabel: string)
自定义事件onEventWithMap (eventId: string, eventData: {[key:string]: string})
自定义事件onEventWithMapAndCount (eventId: string, eventData: {[key:string]: string}, eventNum:number)
自定义事件onEventObject (eventId: string, eventData: {[key:string]: any})
注册预置事件属性registerPreProperties (property: {[key:string]: any})
注销预置事件属性unregisterPreProperty (propertyName: string)
获取预置事件属性getPreProperties (callback: (result: string)=>void)
清空全部预置事件属性clearPreProperties ()
设置关注事件是否首次触发setFirstLaunchEvent (eventList: Array)
账号的统计profileSignInWithPUID (puid: string)
账号的统计profileSignInWithPUIDWithProvider (provider: string, puid: string)
账号登出profileSignOff ()

ShareUtil

相比AnalyticsUtil,ShareUtil基本完全改造了,根据传参的不一样调用不同的分享

名称描述
分享share (shareStyle: SHARE_STYLES, shareObject: BaseMediaObject)
授权auth (shareMedia: SHARE_MEDIAS)

支持的分享方式:

名称描述
LINK网页链接(网页H5链接)
WEIXIN_MINI_PROGRAM微信小程序
QQ_MINI_PROGRAMQQ小程序
IMAGE单图
TEXT纯文本
MULITI_IMAGE多图(多图要包含文字描述)
VIDEO视频
MUSIC音乐
Emotion表情(GIF图片,即Emotion类型,只有微信支持)(暂未实现)

支持的分享平台:

QQ、SINA、WEIXIN、WEIXIN_CIRCLE、QZONE... 具体查看u-share官方

详细

具体的用法,直接查看,如果有用,麻烦star一下

github.com/yz1311/rn-u…

其他

android全量更新bugly

高性能Wheel Picker选择组件(日期、时间段、省市区三级联动)

RN阴影效果

RN手写签名

RN高德地图导航库

RN实现清除本地缓存

RN实现自定义code-push热更新

RN之code-push-server管理App

RN博客园App