应工作要求,需要对客户端添加友盟用户反馈的功能,然后就简单的去了解了下。自己整理下从头到尾的做法,巩固下自己的知识,虽然友盟客户端上也有例子,但是我觉得自己做一遍更好点。
第一步:
我们要给自己的产品申请一个AppKey,地址:https://www.umeng.com/sso/login?service=http://www.umeng.com/users/login_redirect 先自己注册一个友盟的账号吧,然后我们创建一个新的应用,名字就写你的项目名称吧,就会获得独一无二的APPKEY,保存好这个key,将他添加到AndroidManifest.xml文件中去吧,对了这地方顺便把相关的权限添加上去吧
<!-- ###################声明SDK使用的相关权限###################### -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 检测网络状态 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 获取mac地址作为用户的备用唯一标识 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 获取用户手机的IMEI,用来唯一的标识用户。 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><!-- 缓存资源优先存入SDcard -->
<uses-permission android:name="android.permission.INTERNET" /> <!-- 允许应用程序联网,以便向我们的服务器端发送数据。 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 用于评论模块分享位置信息 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><!-- 用于评论模块分享位置信息 -->
<meta-data
android:name="UMENG_APPKEY"
<span style="white-space:pre"> </span>//此处为你的专属APPkey,这地方是我的。。。
android:value="53ccad5a56240bbd9411f837" >
</meta-data>
然后我们到这个网站http://dev.umeng.com/feedback/android/quick-start 去下载友盟反馈的SDK,解压出来后
1:将libs里面的jar包 build path 到你自己的项目中去
2:将res文件夹里面的,注意不是example里面的res,而是解压出来就看到的res文件夹里面的内容复制到你自己的res资源文件中去,有的文件夹名字重复的话,就一个个子目录去复制。
3:在你的程序中添加相应的代码,代码很少,。只有三句,下面是我的例子,我的界面就是一个带有Button按钮的普通界面:
下面就是java代码:
package com.example.umeng_fankui;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import com.umeng.fb.FeedbackAgent;
public class MainActivity extends Activity {
<span style="color:#ff0000;">FeedbackAgent agent;</span>
//声明Button按键
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//友盟官方代码
<span style="color:#ff0000;">agent = new FeedbackAgent(this);</span>
agent.sync();
button=(Button) findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("走这里了!!!!");
//开启友盟界面
<span style="color:#ff0000;">agent.startFeedbackActivity();</span>
}
});
}
public static String getDeviceInfo(Context context) {
try{
org.json.JSONObject json = new org.json.JSONObject();
android.telephony.TelephonyManager tm = (android.telephony.TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
String device_id = tm.getDeviceId();
android.net.wifi.WifiManager wifi = (android.net.wifi.WifiManager) context.getSystemService(Context.WIFI_SERVICE);
String mac = wifi.getConnectionInfo().getMacAddress();
json.put("mac", mac);
if( TextUtils.isEmpty(device_id) ){
device_id = mac;
}
if( TextUtils.isEmpty(device_id) ){
device_id = android.provider.Settings.Secure.getString(context.getContentResolver(),android.provider.Settings.Secure.ANDROID_ID);
}
json.put("device_id", device_id);
return json.toString();
}catch(Exception e){
e.printStackTrace();
}
return null;
}
}
4:千万别忘了,还要在AndroidMainfest.xml文件中添加上
<activity android:name="com.umeng.fb.ConversationActivity" />
<activity android:name="com.umeng.fb.ContactActivity" />
这两个activity在这里声明才能打开。。。不然一直会报一个缺少ConversationActivity的错误,需要你把友盟自带的这个Acitivity在上面声明下。
最后小米3手机测试了下,可以显示了,界面和官方的一样,不太好看吧。。。如果你想美化的话,就去改layout里面的umeng_fb_activity_conversation.xml 这个布局文件吧
而另外一个umeng_fb_activity_contact.xml是当你要用到用户和客服方对话的时候才有的界面,一般的小公司支持不了那种24小时在线客服这个就算了吧。。。O(∩_∩)O哈哈~
好了,结束。