c# – 如何在Xmarin.Android应用程序中使用Flurry Analytics(.ja
发布时间:2020-12-15 22:09:57 所属栏目:百科 来源:网络整理
导读:我想在我的Xamarin应用程序中使用Flurry.为此,我需要使用Flurry Analytics for Android,这是一个.jar文件. 为此,我创建了Bindings Library,并将FlurryAnalytics-4.2.0.jar作为InputJar包含在内.但是在建造之后我得到了这个错误: Com.Flurry.Sdk.Eg' already
我想在我的Xamarin应用程序中使用Flurry.为此,我需要使用Flurry Analytics for
Android,这是一个.jar文件.
为此,我创建了Bindings Library,并将FlurryAnalytics-4.2.0.jar作为InputJar包含在内.但是在建造之后我得到了这个错误: Com.Flurry.Sdk.Eg' already defines a member called 'A' with the same parameter types 事实上,Binding Library生成两个名为’A’的方法,这些方法具有相同的参数但内部具有不同的代码. 删除其中一个方法manully不起作用. 有谁知道我怎么能解决这个问题? 解决方法
这是现成的解决方案,干杯!
class Flurry { public const string ApiKeyValue = "YOUR_API_KEY"; private readonly IntPtr _flurryClass; private readonly IntPtr _flurryOnStartSession; private readonly IntPtr _flurryOnEndSession; private readonly IntPtr _flurrySetContinueSessionMillis; public Flurry() { _flurryClass = JNIEnv.FindClass("com/flurry/android/FlurryAgent"); _flurryOnStartSession = JNIEnv.GetStaticMethodID(_flurryClass,"onStartSession","(Landroid/content/Context;Ljava/lang/String;)V"); _flurryOnEndSession = JNIEnv.GetStaticMethodID(_flurryClass,"onEndSession","(Landroid/content/Context;)V"); _flurrySetContinueSessionMillis = JNIEnv.GetStaticMethodID(_flurryClass,"setContinueSessionMillis","(J)V"); } public void OnStartActivity(Activity activity) { try { JNIEnv.CallStaticVoidMethod(_flurryClass,_flurryOnStartSession,new JValue(activity),new JValue(new Java.Lang.String(ApiKeyValue))); } catch (Exception) { } } public void OnStopActivity(Activity activity) { try { JNIEnv.CallStaticVoidMethod(_flurryClass,_flurryOnEndSession,new JValue(activity)); } catch (Exception) { } } public void setContinueSessionMillis(long millis) { try { JNIEnv.CallStaticVoidMethod(_flurryClass,_flurrySetContinueSessionMillis,new JValue(millis)); } catch (Exception) { } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |