前置条件:拥有
AppKey
建议使用自动集成,
在 module 的 gradle 中添加依赖和AndroidManifest的替换变量。
android {
......
defaultConfig {
applicationId "com.xxx.xxx" // 你应用的包名.
......
manifestPlaceholders = [
JPUSH_APPKEY : "你的appkey", //JPush上注册的包名对应的appkey.
JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可.
]
......
}
......
}
dependencies {
......
compile 'cn.jiguang.sdk:janalytics:1.1.1' // 此处以JAnalytics 1.1.1 版本为例。
compile 'cn.jiguang.sdk:jcore:1.1.2' // 此处以JCore 1.1.2 版本为例。
......
}
写入应用权限
<!-- Required 一些系统要求的权限,如访问网络等-->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- Optional for location -->
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
SDK初始化
public class MyApplication extends Application {
private static final String TAG = "JPush";
@Override
public void onCreate() {
Log.d(TAG, "[ExampleApplication] onCreate"); //日志
super.onCreate();
JAnalyticsInterface.setDebugMode(true);
JAnalyticsInterface.init(this);
}
}
注册MyApplication
<application
……
android:name=".MyApplication"
……
</application>
在极光管理台添加事件(入口:统计→事件统计→自定义计数→设置→新增)
API调用
//方法1:增加一个hashMap<String,String>
CountEvent countEvent = new CountEvent("1"); // 事件ID :1
Map<String, String> extraMap = new HashMap<String, String>();
extraMap.put("1", "value"); //触发者 :1 响应内容:value
countEvent.addExtMap(extraMap);
Map<String, String> extraMap2 = new HashMap<String, String>();
extraMap2.put("1", "2" ); //触发者 :1 响应内容:2
countEvent.addExtMap(extraMap2);
//方法2:增加单个值
CountEvent countEvent = new CountEvent("1"); // 事件ID :1
countEvent.addKeyValue("extra4", "2" ); //触发者 :extra4 响应内容:2
JAnalyticsInterface.onEvent(context, countEvent);
自定义计算事件同理。
官方文档:
点击查看极光统计