背景
很长一段时间内,都是直接使用的官方的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_PROGRAM | QQ小程序 |
| IMAGE | 单图 |
| TEXT | 纯文本 |
| MULITI_IMAGE | 多图(多图要包含文字描述) |
| VIDEO | 视频 |
| MUSIC | 音乐 |
| Emotion | 表情(GIF图片,即Emotion类型,只有微信支持)(暂未实现) |
支持的分享平台:
QQ、SINA、WEIXIN、WEIXIN_CIRCLE、QZONE... 具体查看u-share官方
详细
具体的用法,直接查看,如果有用,麻烦star一下