在AndroidManifest.xml中配置友盟cocos2dx游戏统计参数

1

首先在AndroidManifest.xml中的application中添加需要在c++层调用的属性。
    <meta-data android:value="559a907d67e58e3e08001af6" android:name="UMENG_APPKEY"></meta-data>
    <meta-data android:value="X001" android:name="UMENG_CHANNEL"></meta-data> 

2

由于这两个属性在游戏中不会更改,所以选择在init的时候直接保存在变量里。
try {
            ApplicationInfo appInfo;
            appInfo = getPackageManager()
                     .getApplicationInfo(getPackageName(),
             PackageManager.GET_META_DATA);
            String msg=appInfo.metaData.getString("UMENG_APPKEY");
            appkey = msg;
            Log.d(TAG, " UMENG_APPKEY == " + msg );
            msg=appInfo.metaData.getString("UMENG_CHANNEL");
            Channel = msg;
            Log.d(TAG, " UMENG_CHANNEL == " + msg );
        } catch (NameNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

3

在需要配置友盟的地方通过jni调用如下函数
public static void ConfigUmeng(){
Cocos2dxActivity.getinstance().get_Cocos2dxGLSurfaceView().get_Cocos2dxRenderer().ConfigUmeng(appkey,Channel);  
    }
在Cocos2dxRenderer中添加ConfigUmeng方法
public void ConfigUmeng(final String appkey,final String channelId) {
    Cocos2dxRenderer.nativeConfigUmeng(appkey,channelId);
}
private static native void nativeConfigUmeng(final String appkey,final String channelId);

在main.cpp中实现jni调用的c++配置

void Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeConfigUmeng(JNIEnv*  env, jobject thiz,jstring appkey,jstring channelId)
{
    const char *appkeyName = env->GetStringUTFChars(appkey, NULL);
    const char *channelIdName = env->GetStringUTFChars(channelId, NULL);
    MOBCLICKCPP_START_WITH_APPKEY_AND_CHANNEL(appkeyName, channelIdName);
    env->ReleaseStringUTFChars(appkey, appkeyName);
    env->ReleaseStringUTFChars(channelId, channelIdName);
}

关于jni的实现参考 http://codingnow.cn/cocos2d-x/992.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值