当前位置:首页 » 编程语言 » 友盟java

友盟java

发布时间: 2022-10-03 04:21:33

‘壹’ 友盟的服务端的java sdk怎么使用

你要连接别人的服务器吗?当然是要先导入这个包,再调用了。

‘贰’ 友盟统计Android以什么确定一个用户

Android 统计分析 SDK使用指南 1. 建立App,下载SDK 登录你的帐号后,看到友盟的管理后台,点击"+添加新应用",进入新应用信息填写的页面。 App建立成功后,可以获得该App的AppKey,以及最新的开发指南和SDK文件。 可在 这里 下载SDK,包含开发文档,demo程序和jar包。 说明:在新应用信息填写中,请尽量填写真实的信息。您可以通过友盟统计分析平台的特性节省重复建立App的时间。 如果您要对App不同的发布渠道进行统计,不需要创建新App,请使用分发渠道分析,通过分发渠道分析,您可以更方便的对比数据。 2. 实现基本的使用基本统计实现本的页面跳转,机型,分辨率,地理位置 …的统计1. 导入umeng-sdk*.jar(简称SDK)下载最新版sdk的zip包,解压将其中的umeng-sdk.jar释放到本地目录,Eclipse用户右键您的工程根目录,选择Properties -> Java Build Path -> Libraries, 然后点击 Add External JARs... 选择指向 Analytics_Android_SDK_*.jar的路径,点击OK,即导入成功。 2. 配置 AndroidManifest.xml<manifest……><application ……> ……<activity ……/><meta-dataandroid:value="YOUR_APP_KEY"android:name="UMENG_APPKEY"></meta-data><meta-dataandroid:value="Channel ID"android:name="UMENG_CHANNEL"/></application><uses-sdkandroid:minSdkVersion="4"></uses-sdk><uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission><uses-permissionandroid:name="android.permission.INTERNET"></uses-permission><uses-permissionandroid:name="android.permission.READ_PHONE_STATE"></uses-permission><uses-permissionandroid:name="android.permission.READ_LOGS"></uses-permission></manifest>说明: META-DATA 用途 UMENG_APPKEY 用来定位该应用程序的唯一性。 UMENG_CHANNEL 用来标注应用推广渠道,区分新用户的来源来查看统计,您可以使用20位以内的英文和数字为渠道定名,替换value中的"Channel ID"。详见渠道统计。 权限 用途 INTERNET(必须) 允许应用程序联网,以便向我们的服务器端发送数据。 READ_PHONE_STATE(必须) 获取用户手机的IMEI,用来唯一的标识用户。(如果您的应用会运行在无法读取IMEI的平板上,我们会将mac地址作为用户的唯一标识,请添加权限: android.permission.ACCESS_WIFI_STATE ) ACCESS_NETWORK_STATE 检测网络状态,友盟SDK 1.6版本新增权限。 READ_LOGS 如果您想获得客户端crash的报告, 需要添加这个权限。具体见【使用错误报告】。 WRITE_EXTERNAL_STORAGE 如果您使用了友盟自动更新提醒功能,需添加这个权限,为了将更新的APK临时存在SD卡里。 3. 添加代码 添加引用: import com.umeng.analytics.MobclickAgent 注册 Activity: 在每个Activity的onResume方法中调用 MobclickAgent.onResume(Context), onPause方法中调用 MobclickAgent.onPause(Context) publicvoid onResume() { super.onResume(); MobclickAgent.onResume(this);}publicvoid onPause() { super.onPause(); MobclickAgent.onPause(this);}API:public void onResume(Context context) context 当前Activity的引用,这里请不要将全局的application context传入。 public void onPause(Context context) context 当前Activity的引用,这里请不要将全局的application context传入。 API说明: void onResume(Context context) context 当前Activity引用 void onPause(Context context) context 当前Activity引用 说明: 方法将会自动地从AndroidManifest.xml文件里读取Appkey。 确保在所有的activity中都调用 MobclickAgent.onResume() 和MobclickAgent.onPause()方法,这两个调用将不会阻塞应用程序的主线程,也不会影响应用程序的性能。 注意如果您的Activity之间有继承或者控制关系请不要同时在父和子Activity中重复添加onPause和onResume方法,否则会造成重复统计(eg.使用TabHost、TabActivity、ActivityGroup时)。 一个应用程序在多个activity之间连续切换时,将会被视为同一个session(启动)。 当用户两次使用之间间隔超过30秒时,将被认为是两个的独立的session(启动),例如用户回到home,或进入其他程序,经过一段时间后再返回之前的应用。 4. 测试 确认所需的权限都已经添加:INTERNET, READ_PHONE_STATE, (READ_LOGS, WRITE_EXTERNAL_STORAGE) 确认APPKEY已经正确的写入Androidmanifest.xml 确认所有的Activity中都调用了onResume和onPause方法 确认测试手机(或者模拟器)已成功连入网络 启动应用程序,几分钟之后您应该已经可以看到相应的报表. 3. 使用错误报告友盟统计分析工具,还可以帮助您捕捉用户在使用应用程序过程中出现的异常退出(FC), 并在应用程序下次启动时将错误报告发送给服务器。 1. 自动捕获异常退出(FC) 在AndroidManifest.xml里面添加权限android.permission.READ_LOGS 在程序的Main Activity(应用程序入口)的onCreate方法里调用MobclickAgent.onError(Context). publicvoid onCreate(Bundle savedinstanceState) { super.onCreate(savedInstanceState); MobclickAgent.onError(this); ...}API:public void onError(Context context) context 当前Activity的引用 说明:错误报告包含应用程序版本,操作系统版本和设备型号以及程序出现异常时的Stacktrace,这些数据将帮助您修正应用程序的Bug。 2. 手动发送错误报告如果您自己捕获了程序中的异常,但是依然希望,将这次异常信息发送到友盟的服务器,您可以调用下面的函数。 MobclickAgent.reportError(Context context,String error) API:public void reportError(Context context, String error) context 当前Activity的引用 error 开发者手动捕获的错误信息 说明:手动发送的异常信息和自动捕获的异常信息一样,都会展示在错误报告面板。 4. 使用自定义事件除了基本统计分析功能外,我们还支持您自定义的事件分析,例如您可以统计游戏中通过不同关卡的人数,广告的点击次数或者视频被播放的次数等等。 使用自定义事件功能请先在网站应用管理后台(设置->编辑自定义事件)中添加相应的自定义事件后,服务器才会对相应的自定义事件请求进行处理。 1. 事件数量统计1. 在您希望跟踪的代码部分,调用如下方法:MobclickAgent.onEvent(Context context, String event_id);API:public void onEvent(Context context, String event_id) context 当前Activity的引用 event_id 为当前统计的事件ID,注意要先在友盟网站上注册此事件ID。 示例:统计微博应用中“转发"事件发生的次数,那么在“转发"的函数里调用 MobclickAgent.onEvent(this, "Forward") 2. 记录事件的不同属性及取值,调用如下方法:MobclickAgent.onEvent(Context context, String event_id, Map<String,String>; map);API:public voidonEvent(Context context, String event_id, Map map) context 当前Activity的引用 event_id 为当前统计的事件ID,注意要先在友盟网站上注册此事件ID。 map 为当前事件的属性和取值集合(key-value) 示例:MobclickAgent.onEvent(LoginActivity.this, "sinaLogin"); 新浪用户登陆海知笔记 3. 考虑事件在一个属性上的取值,可以调用如下方法:MobclickAgent.onEvent(Context context, String event_id, String label);API:public void onEvent(Context context, String event_id, String label) context 当前Activity的引用 event_id 为当前统计的事件ID,注意要先在友盟网站上注册此事件ID. label 事件的一个属性描述 示例:统计游戏中“死亡"事件发生的关卡数,那么可以在死亡的函数里调用 MobclickAgent.onEvent(this, "player_dead","level");2. 事件时长统计有的事件是持续发生的,需要记录其持续的时间,这里提供两种解决方法。 1. 在事件开始和结束时分别调用onEventBegin和 onEventEnd两个函数。MobclickAgent.onEventBegin(Context context, String event_id);...MobclickAgent.onEventEnd(Context context, String event_id);API:public voidonEventBegin(Context context, String event_id) public void onEventEnd(Context context, String event_id) context 当前Activity引用 event_id 为当前统计的事件ID,注意要先在友盟网站上注册此事件ID. public void onEventBegin(Context context, String event_id, String label) public void onEventEnd(Context context, String event_id, String label) context 当前Activity引用 event_id 为当前统计的事件ID,注意要先在友盟网站上注册此事件ID. label 事件的一个属性描述 示例:跟踪播放音乐事件发生的总时间,在音乐播放开始时调用: MobclickAgent.onEventBegin(this, "music_play");在音乐播放结束时调用: MobclickAgent.onEventEnd(this, "music_play");2. 跟踪时长的事件包含多个属性,在事件开始和结束时分别调用onKVEventBegin和 onKVEventEnd两个函数MobclickAgent.onKVEventBegin(Context context, String event_id, Map<String,String> map, String ekvFlag);...MobclickAgent.onKVEventEnd(Context context, String event_id, String ekvFlag);API:public void onKVEventBegin(Context context, String event_id, Map map, String ekvFlag) context 当前Activity引用 event_id 为当前统计的事件ID,注意要先在友盟网站上注册此事件ID. map 为当前事件的属性和取值集合(key-value) ekvFlag 事件标示符 public void onKVEventEnd(Context context, String event_id, String ekvFlag) context 当前Activity引用 event_id 为当前统计的事件ID,注意要先在友盟网站上注册此事件ID ekvFlag 事件标示符,ekvFlag 和 event_id 一起标示一个唯一事件,并不会被统计;对于同一个事件,在onKVEventBegin和onKVEventEnd 中要传递相同的event_id 和 flag 示例跟踪每种类型的音乐播放了多久,在音乐播放开始时调用 Map<String,String> music = new HashMap<String,String>(); music.put("type", "popular"); music.put("artist", "JJLin"); music.put("User_status", "registered");MobclickAgent.onKVEventBegin(this, "music",music,"m7");在音乐播放结束时调用: MobclickAgent.onKVEventEnd(this, "music",music,"m7");3. 自己计算并上传event时长,在您想跟踪时长的代码部分,调用如下方法:MobclickAgent.onEventDuration(Context context, String event_id, long ration);orMobclickAgent.onEventDuration(Context context, String event_id,String label, long ration)orMobclickAgent.onEventDuration(Context context, String event_id, Map<String, String> map, long ration)API:public void onEventDuration(Context context, String event_id, long ration) public void onEventDuration(Context context, String event_id,String label, long ration) context 当前Activity引用 event_id 为当前统计的事件ID,注意要先在友盟网站上注册此事件ID label 事件的一个属性描述 ration 事件持续时长,单位毫秒,您需要手动计算并传入时长,作为事件的时长参数 public void onEventDuration(Context context, String event_id, Map map, long ration) context 当前Activity引用 event_id 为当前统计的事件ID,注意要先在友盟网站上注册此事件ID map 为当前事件的属性和取值集合(key-value) ration 事件持续时长,单位毫秒,您需要手动计算并传入时长,作为事件的时长参数 说明 时长是友盟统计的一个新功能,使用过程中可能会出现一些常见的错误,开发者应该尽量的避免,这里有一些可能出错的案例。 每个event的key不能超过10个,event ID、map中key和value都不能使用特殊字符,且长度不能超过255个字符(否则将截取前255个字符),“id", “ts", “"是保留字段,不能作为event ID及key的名称 5. 使用分发渠道分析有时需要统计应用程序的分发渠道,例如有多少用户来从联想乐园下载了您的应用,又有多少用户通过Google android market下载到您的应用程序。您只需要在AndroidManifest.xml里添加meta-data,并将 value属性修改为对应的发布渠道名。 配置AndroidManifest.XML添加下面代码 <application ……><activity ……/><meta-dataandroid:value="Channel ID"android:name="UMENG_CHANNEL"/></application>当然,这需要您在不同渠道发布应用程序时,重新编译打包。 说明 不要改变'UMENG_CHANNEL',修改'Channel ID'为您的渠道名称,注意不能是纯数字(eg.value="AndroidMarket")。 每台设备只记录第一次统计到的渠道,您如果在测试的时候发现渠道统计到的设备数量不增加,很可能是因为您用同一个设备修改过渠道号,您换一台设备测试即可。 6. 使用在线配置功能这个功能目前可以帮你在网站上动态配置两种类型的参数: 自定义key-value型的键值对 数据发送策略 在程序的入口Activity的OnCreate()方法中调用 publicvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); MobclickAgent.updateOnlineConfig(this);}API:public voipdateOnlineConfig(Context context)

‘叁’ 友盟提供的debug.keystore密码是多少

介绍:是java的密钥库、用来进行通信加密用的、比如数字签名。keystore就是用来保存密钥对的,比如公钥和私钥。具体用法,在网上搜java数字签名,文件加密就行了、有很多教程的 使用: 1.首先要得到你的debug keystore位置: 打开Eclipse--->Win...

‘肆’ 如何在Java多线程下高效利用HttpClient连接同一服务器接口

您好,提问者:
1、先说长连接吧,如果TCP协议的话长连接可以通过心跳包来实现。
2、推送的话,这个可以弄一个定时器,来控制线程,推送发送完毕,线程stop()。

‘伍’ 如果用java友盟推送的话,用户的alias数量超过10万,该怎么推送

说到底也是逐个推送的

~~~~~~~~~~~~~

‘陆’ 友盟和360加固保的崩溃日志有什么区别

最近新产品刚上线,问题很多,每天都在解各种Bug。作为一个安卓开发者,安卓系统让人又爱又恨。一个好的性能监控工具,能让开发者在解bug的路上轻松不少。

绝大部分开发者会使用第三方性能监控产品来获取应用的崩溃数据,友盟应该是市场占比最大的一个,身边的程序猿都在用它。其次不得不提到Bugly,这也是数据和服务做的很专业的产品。还有一个是360加固保,他们推出的崩溃日志分析服务很有特点。所以,就和大家分享下在安卓平台应用性能监测方面友盟、Bugly、360加固保三家产品的使用感受。

一、产品定位:

友盟:友盟是老牌数据分析专家,相比分享和推送等服务,崩溃分析只是友盟应用统计中的一小部分,并不作为其主要运维的产品,这个从友盟的页面宣传和产品摆放位置不难看出,而且友盟的崩溃分析服务只分为趋势和列表两个页面,相对过于简单。

Bugly:Bugly是专门从事应用崩溃分析的产品,所以在数据的精准度和深度上很专业。Bugly还做过不少线下技术沙龙活动,来推广他们的崩溃日志。产品页面的整体感觉偏技术化,在数据整合和页面展现上,如果是初次使用的话感觉有点乱,页面关联较多。其次,感觉Bugly不太稳定,在QQ交流群里也经常有开发者提到没数据或异常的问题。

360加固保:加固保以APP加固知名,它推出的崩溃日志分析服务最大特点是免SDK集成,这是与其他产品最明显的区别。也就是说不需要任何代码集成过程,上传APP进行加固后就可以使用崩溃日志分析服务(虽然是免SDK集成,但也会增加些包体大小,大概150M左右)。

二、捕获范围:

友盟:只能捕获Java层崩溃,而Native层则获取不到(Native层崩溃是由C++层代码错误引起的,在绝大多数Android系统上, Native层崩溃发生时不会弹出提示框提醒程序崩溃),所以在捕获范围上,明显不足。

Bugly:Java层和Native层都能捕获到。

360加固保:Java层和Native层都能捕获到,且捕获的log及时全面。

下面是三家在崩溃捕获范围的对比列表,Bugly最全,但SDK大小也会随之增加,如果开发者在集成的时候,选择了arm64位/ X86架构,大概会增加500KB左右。arm64位和X86架构的手机毕竟很少,所以如果选择兼容,势必会增加SDK的大小。

整体对比看,每家各有优势,个人认为Bugly和360加固保都是不错的性能监测工具,这里只指列出了三家有特点或差异的部分,仅代表个人观点,欢迎大家吐槽讨论。

‘柒’ 友盟统计sdk混淆后为什么不能统计的

如果您的应用使用了混淆, 请添加

-keepclassmembersclass*{
public<init>(org.json.JSONObject);
}


这是由于SDK中的部分代码使用反射来调用构造函数, 如果被混淆掉, 在运行时会提示"NoSuchMethod"错误。 另外,由于SDK需要引用导入工程的资源文件,通过了反射机制得到资源引用文件R.java,但是在开发者通过proguard等混淆/优化工具处理apk时,proguard可能会将R.java删除,如果遇到这个问题,请在proguard配置文件中添加keep命令如:

-keeppublicclass[您的应用包名].R$*{
publicstaticfinalint*;
}

把[您的应用包名] 替换成您自己的包名,如com.yourcompany.example。如果您使用5.0.0及以上版本的SDK,请添加如下命令:

-keepclassmembersenum*{
publicstatic**[]values();
publicstatic**valueOf(java.lang.String);
}

‘捌’ 友盟推送android java端的代码怎么使用

最好的方法,研读官方提供的Demo,这里说的Java端应该是前端,即Android App端,在应用程序启动的时候,开启推送功能,同时在清单文件移植Demo提供的一些内容,测试几遍就差不多了。。。

‘玖’ umeng ios推送怎么添加title和内容

可以在Debug模式下输出的logcat中看到Device Token,也可以使用下面的方法来获取Device Token。
帮用户确定是没有替换包名导致的错误 附上二个问题的答案: device token获取的办法: String device_token = UmengRegistrar.getRegistrationId(context),说明Device Token为友盟生成的用于标识设备的id,长度为44位,不能定制和修改。同一台设备上每个应用对应的Device Token不一样。
获取Device Token的代码需要放在mPushAgent.enable();后面,注册成功以后调用才能获得Device Token。
如果返回值为空, 说明设备还没有注册成功, 需要等待几秒钟,同时请确保测试手机网络畅通。
关于以上类似的问题,可以试试极光推送,多种消息类型,开发者可以轻松地通过极光发送各个移动平台的系统通知,还可以在控制台编辑多种富文本展示模板; 极光还提供自定义消息的透传,客户端接到消息内容后根据自己的逻辑自由处理。

热点内容
安卓上哪里下大型游戏 发布:2024-12-23 15:10:58 浏览:189
明日之后目前适用于什么配置 发布:2024-12-23 14:56:09 浏览:56
php全角半角 发布:2024-12-23 14:55:17 浏览:829
手机上传助手 发布:2024-12-23 14:55:14 浏览:733
什么样的主机配置吃鸡开全效 发布:2024-12-23 14:55:13 浏览:830
安卓我的世界114版本有什么 发布:2024-12-23 14:42:17 浏览:711
vbox源码 发布:2024-12-23 14:41:32 浏览:279
诗经是怎么存储 发布:2024-12-23 14:41:29 浏览:661
屏蔽视频广告脚本 发布:2024-12-23 14:41:24 浏览:420
php解析pdf 发布:2024-12-23 14:40:01 浏览:820