友盟+搜索

{{errorMsg}}

Android

概述

Umeng React Native SDK 是基于友盟SDK的封装,可以方便快捷的使用友盟SDK相关功能,该SDK的最新功能在友盟官方网站获取。 统计的所有指标均和移动统计相同。

下载SDK

方法 一:在官方地址下载移动统计SDK和ReactNative SDK.

方法 二:下载ReactNative SDK,参考Gradle集成方式集成统计

集成功能步骤简述

- 修改JAVA代码(1.4.3)
- 将UmengNativeModule.java/UmengReactPackage.java拷贝到项目中,并且修改相应的包名
- 集成友盟统计SDK(可以下载JAR/或者gradle增加maven依赖) 

基本功能集成

配置manifest和appkey

    <manifest……>
        <uses-sdk android:minSdkVersion="4"></uses-sdk>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
    <application ……>
    ……
    <activity ……/>
    <meta-data android:value="YOUR_APP_KEY" android:name="UMENG_APPKEY"></meta-data>
    <meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/>
    </application>
    </manifest>

不在manifest里配置友盟的appkey,而在Activity中配置:只需在程序启动时的Activity中调用此接口实现:

MobclickAgent.startWithConfigure(UMAnalyticsConfig config);`

统计的Session集成

入口Activity的onResume方法中调用 MobclickAgent.onResume(Context), onPause方法中调用 MobclickAgent.onPause(Context)。

    public void onResume() {
    super.onResume();
    MobclickAgent.onResume(this);
    }
    public void onPause() {
    super.onPause();
    MobclickAgent.onPause(this);
    }

Java代码配置

Application实现ReactApplication,方法getReactNativeHost返回的ReactNativeHost的getPackages需要注册.参考代码如下

private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
      @Override
      protected boolean getUseDeveloperSupport() {
          return BuildConfig.DEBUG;
      }

      @Override
      protected List<ReactPackage> getPackages() {
          return Arrays.<ReactPackage>asList(
                  new MainReactPackage(),
                  //在应用中注册这个包管理器
                  new UmengReactPackage()
          );
      }
  };
@Override
public ReactNativeHost getReactNativeHost() {
    return mReactNativeHost;
}

JS 页面配置

在需要使用友盟统计的JS中声明UMNative对象,然后即可调用对应统计的方法.

声明对象方法如下:

var UMNative = require('react-native').NativeModules.UmengNativeModule;

JS 统计方法

  • JavaScript方法介绍

    • UMNative.onEvent(eventId) 自定义事件
    • UMNative.onCCEvent(evenArray, evenValue, eventLabel) 结构化自定义事件
    • UMNative.onEventWithLabel(eventId, eventLabel) 自定义事件
    • UMNative.onEventWithParameters(eventId, eventData) 自定义事件
    • UMNative.onEventWithCounter(eventId, eventData, eventNum) 自定义事件
    • UMNative.onPageBegin(pageName) 页面开始的时候调用此方法
    • UMNative.onPageEnd(pageName) 页面结束的时候调用此方法
    • UMNative.profileSignInWithPUID(puid) 统计帐号登录接口
    • UMNative.profileSignInWithPUIDWithProvider(puid, provider) 统计帐号登录接口
    • UMNative.profileSignOff() 帐号统计退出接口
    • UMNative.setUserLevelId(level) 当玩家建立角色或者升级时,需调用此接口
    • UMNative.startLevel(level) 在游戏开启新的关卡的时候调用
    • UMNative.finishLevel(level) 关卡结束时候调用
    • UMNative.failLevel(level) 关卡失败时候调用
    • UMNative.exchange(orderId, currencyAmount, currencyType, virtualAmount, channel) 真实消费统计
    • UMNative.pay(cash, source, coin) 真实消费统计
    • UMNative.payWithItem(cash, source, item, amount, price) 真实消费统计
    • UMNative.buy(item, amount, price) 虚拟消费统计
    • UMNative.use(item, amount, price) 物品消耗统计
    • UMNative.bonusWithItem(item, amount, price, source) 额外奖励
    • UMNative.trackWithProperty(eventID, property) 发送事件
    • UMNative.registerSuperProperty(propertyName, propertyValue) 标记超级属性
    • UMNative.unregisterSuperProperty(propertyName) 删除超级属性
    • UMNative.getSuperProperty(propertyName,callback) 获取单个超级属性
    • UMNative.getSuperProperties (callback) 获取所有的超级属性
    • UMNative.clearSuperProperties () 清除超级属性
    • UMNative.setFirstLaunchEvent(array) track事件是否首次触发

Ios

概述

Umeng React Native SDK 是基于友盟SDK的封装,可以方便快捷的使用友盟SDK相关功能,该SDK的最新功能在友盟官方网站获取。 统计的所有指标均和移动统计相同。

下载SDK

官方地址下载统计SDK和ReactNative SDK。

导入SDK

将文件夹中的 UMNative.hUMNative.mUMMobClick.framework 添加到 iOS 工程中。

请在你的工程目录结构中,添加友盟统计框架,在选项TARGETS--> Build Phases-->Link Binary With Libraries-->Add Other,选择文件UMMobClick.framework文件并选择确认;添加系统依赖框架(Framework)和编译器选项 TARGETS-->Build Phases-->Link Binary With Libraries--> + -->CoreTelephony.framework libz.tbd libsqlite.tbd

基本功能集成

配置 AppDelegate.m (代表你的工程名字)

导入头文件#import "UMMobClick/MobClick.h"

*AppDelegate.m 的配置主要包括填写Appkey,设置发送策略和填写渠道id三部分,代码示例如下:

#import "UMMobClick/MobClick.h"
 ... - (BOOL))application:(UIApplication) *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UMConfigInstance.appKey = @"xxxxxxxxxxxxxx...";
UMConfigInstance.ChannelId = @"App Store";
UMConfigInstance.eSType = E_UM_GAME; //仅适用于游戏场景,应用统计不用设置        …       
[MobClick startWithConfigure:UMConfigInstance];//配置以上参数后调用此方法初始化SDK!
 } 

UMConfigInstance为SDK参数配置的实例类,只需要将其成员中标注为required的参数赋值,optional的为可选项。

appKey为开发者在友盟后台申请的应用Appkey(Appkey可在统计后台的 “统计分析->设置->应用信息” 页面查看); ChannelId的值为应用的渠道标识。默认为 @"App Store"

JS集成

在需要使用友盟统计的JS中声明UMNative对象,然后即可调用对应统计的方法.声明对象方法如下:

var UMNative = require('react-native').NativeModules.UmengNativeModule;

JS 统计方法

  • JavaScript方法介绍

    • UMNative.onEvent(eventId) 自定义事件
    • UMNative.onCCEvent(evenArray, evenValue, eventLabel) 结构化自定义事件
    • UMNative.onEventWithLabel(eventId, eventLabel) 自定义事件
    • UMNative.onEventWithParameters(eventId, eventData) 自定义事件
    • UMNative.onEventWithCounter(eventId, eventData, eventNum) 自定义事件
    • UMNative.onPageBegin(pageName) 页面开始的时候调用此方法
    • UMNative.onPageEnd(pageName) 页面结束的时候调用此方法
    • UMNative.profileSignInWithPUID(puid) 统计帐号登录接口
    • UMNative.profileSignInWithPUIDWithProvider(puid, provider) 统计帐号登录接口
    • UMNative.profileSignOff() 帐号统计退出接口
    • UMNative.setUserLevelId(level) 当玩家建立角色或者升级时,需调用此接口
    • UMNative.startLevel(level) 在游戏开启新的关卡的时候调用
    • UMNative.finishLevel(level) 关卡结束时候调用
    • UMNative.failLevel(level) 关卡失败时候调用
    • UMNative.exchange(orderId, currencyAmount, currencyType, virtualAmount, channel) 真实消费统计
    • UMNative.pay(cash, source, coin) 真实消费统计
    • UMNative.payWithItem(cash, source, item, amount, price) 真实消费统计
    • UMNative.buy(item, amount, price) 虚拟消费统计
    • UMNative.use(item, amount, price) 物品消耗统计
    • UMNative.bonusWithItem(item, amount, price, source) 额外奖励
    • UMNative.(coin, source) 额外奖励