ADUtils.java
4.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
package com.cnlive.goldenline.util;
import android.app.Activity;
import android.content.Context;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.support.annotation.NonNull;
import android.telephony.TelephonyManager;
import android.util.DisplayMetrics;
import android.util.Log;
import android.webkit.WebSettings;
import android.webkit.WebView;
import com.cnlive.goldenline.Configs;
import com.cnlive.goldenline.api.CmsAPI;
import com.cnlive.goldenline.model.admodel.AdParent;
import retrofit.Callback;
import retrofit.RetrofitError;
import retrofit.client.Response;
/**
* Created by Dean.Zhang on 2016-09-30.
*/
public class ADUtils {
public static AdParent getAdData(@NonNull Activity activity, String type){
CmsAPI cmsAPI=RestAdapterUtils.getRestAPI(Configs.Advertisement,CmsAPI.class);
DisplayMetrics metrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
int w =metrics.widthPixels; // 屏幕宽度
int h = metrics.heightPixels; // 屏幕高度
String osv=android.os.Build.VERSION.RELEASE; //操作系统版本号
String make= android.os.Build.MANUFACTURER; //制造商
String model= android.os.Build.MODEL; //手机型号
String ip= ADUtils.getLocalIpAddress(activity); //ip
String mac=ADUtils.getMacAddress(activity); //安卓手机mac码
String ua=ADUtils.getUA(activity); //获取设备ua
String did=ADUtils.getDeviceId(activity);
cmsAPI.getAdBannerData(type,
"android",
osv, //操作系统版本号
"46000", //运营商类型
"2", //设备类型
"2", //网络类型
"18205253727", //手机号码
ip, //ip
mac, //安卓手机mac码
make, //制造商
model, //设备型号
h+"", //设备屏幕高度
w+"", //设备屏幕宽度
ua, //用户浏览器信息
did, //imei
new Callback<AdParent>() {
@Override
public void success(@NonNull AdParent adBannerFullscreen, @NonNull Response response) {
Log.i("TAG","url=="+response.getUrl()+"\n 获取广告数据==="+adBannerFullscreen.toString());
}
@Override
public void failure(@NonNull RetrofitError error) {
Log.i("TAG","数据异常!==="+error.getUrl());
}
});
return null;
}
//获取网络ip
@NonNull
public static String getLocalIpAddress(@NonNull Context context){
//获取wifi服务
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
//判断wifi是否开启
if (!wifiManager.isWifiEnabled()) {
wifiManager.setWifiEnabled(true);
}
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int ipAddress = wifiInfo.getIpAddress();
String ip = intToIp(ipAddress);
return ip;
}
@NonNull
private static String intToIp(int i) {
return (i & 0xFF ) + "." +
((i >> 8 ) & 0xFF) + "." +
((i >> 16 ) & 0xFF) + "." +
( i >> 24 & 0xFF) ;
}
//安卓手机mac码
public static String getMacAddress(@NonNull Context context){
String result = "";
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
result = wifiInfo.getMacAddress();
return result;
}
//获取设备浏览器ua
public static String getUA(Context context){
WebView webview= new WebView(context);
webview.layout(0, 0, 0, 0);
WebSettings settings = webview.getSettings();
String ua = settings.getUserAgentString();
return ua;
}
public static String getDeviceId(@NonNull Context context){
TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
String imei = tm.getDeviceId();
return imei;
}
}