首先我们先在个推网页上创建一个应用
这个一定要和你的项目包名一致
这个CID需要在你项目里获取,下面我们走进代码中
首先在Android Studio配置
在清单文件中添加权限
<!-- iBeancon功能所需权限 -->;
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<!-- 个推3.0电子围栏功能所需权限 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
在里层的build.gradle里添加
依赖 implementation 'com.getui:sdk:2.13.0.0'
manifestPlaceholders = [
GETUI_APP_ID : "HOmGrlLgEi9RfVLqhjz527",
GETUI_APP_KEY : "SN65gUBsvAAsHn6r1WnbR3",
GETUI_APP_SECRET : "6jEm3bjYli9UHXTysQEnP3"
]
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86_64"
}
以下的需要在个推上获取
GETUI_APP_ID : "HOmGrlLgEi9RfVLqhjz527",
GETUI_APP_KEY : "SN65gUBsvAAsHn6r1WnbR3",
GETUI_APP_SECRET :"6jEm3bjYli9UHXTysQEnP3"
点进去就会看到 GETUI_APP_ID : GETUI_APP_KEY : GETUI_APP_SECRET : 相对应的值
在外层的build.gradle里添加
maven {
url "http://mvn.gt.igexin.com/nexus/content/repositories/releases/"
}
在创建一个类来继承Service,重写相应的方法
@Override
public void onCreate() {
super.onCreate();
GTServiceManager.getInstance().onCreate(this);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
return GTServiceManager.getInstance().onStartCommand(this, intent, flags, startId);
}
@Override
public IBinder onBind(Intent intent) {
return GTServiceManager.getInstance().onBind(intent);
}
@Override
public void onDestroy() {
super.onDestroy();
GTServiceManager.getInstance().onDestroy();
}
@Override
public void onLowMemory() {
super.onLowMemory();
GTServiceManager.getInstance().onLowMemory();
}
在创建一个类继承GTIntentService,重写方法
@Override
public void onReceiveServicePid(Context context, int i) {
}
@Override
public void onReceiveClientId(Context context, String s) {
Log.i("xxxxx",s);
}
@Override
public void onReceiveMessageData(Context context, GTTransmitMessage gtTransmitMessage) {
}
@Override
public void onReceiveOnlineState(Context context, boolean b) {
}
@Override
public void onReceiveCommandResult(Context context, GTCmdMessage gtCmdMessage) {
}
最主要的方法就是onReceiveClientId方法,打印出CID值,最后再你需要实现的地方写上一下俩个方法再清单文件中注册下就可以了
<service
android:name="这里写自己的类名"
android:exported="true"
android:label="PushService"
android:process=":pushservice">
</service>
<service android:name="这里写自己的类名"/>
// com.getui.demo.DemoPushService 为第三方自定义推送服务
PushManager.getInstance().initialize(this.getApplicationContext(), 自己的类名.class);
// com.getui.demo.DemoIntentService 为第三方自定义的推送服务事件接收类
PushManager.getInstance().registerPushIntentService(this.getApplicationContext(), 自己的类名.class);