- 在以项目名为命名的顶层
build.gradle
文件中,添加个推maven库地址,如下图所示: - //Maven URL地址maven { url "http://mvn.gt.igexin.com/nexus/content/repositories/releases/"}
- 配置依赖
- compile 'com.getui:sdk:2.10.2.0'
- 配置 so 库
- 在项目根目录下的
gradle.properties
文件中配置useDeprecatedNdk
参数,如下图所示:
android.useDeprecatedNdk=true
配置个推应用参数
- 在
app/build.gradle
文件中的android.defaultConfig
下指定所需的 CPU 架构,如下图所示: - ndk { abiFilters "armeabi", "armeabi-v7a", "x86_64" }
-
- 在
app/build.gradle
文件中的android.defaultConfig
下添加manifestPlaceholders
,配置个推相关的应用参数(参见【步骤1】),如下图所示: - manifestPlaceholders = [ GETUI_APP_ID : "APP_ID", GETUI_APP_KEY : "APP_KEY", GETUI_APP_SECRET : "APP_SECRET"]
-
配置自定义推送服务
package xixinxin.bawie.com.push_getui; import android.app.Service; import android.content.Intent; import android.os.IBinder; import android.support.annotation.Nullable; import com.igexin.sdk.GTServiceManager; public class PushService extends Service{ @Override public void onCreate() { super.onCreate(); GTServiceManager.getInstance().onCreate(this); } @Override public int onStartCommand(Intent intent, int flags, int startId) { return GTServiceManager.getInstance().onStartCommand(this,intent, flags, startId); } @Override public void onDestroy() { super.onDestroy(); GTServiceManager.getInstance().onDestroy(); } @Override public void onLowMemory() { super.onLowMemory(); GTServiceManager.getInstance().onLowMemory(); } @Nullable @Override public IBinder onBind(Intent intent) { return GTServiceManager.getInstance().onBind(intent); } }
<service android:name=".PushService"></service>
<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" />
- 在
-
接收推送服务事件
package xixinxin.bawie.com.push_getui; import android.content.Context; import com.igexin.sdk.GTIntentService; import com.igexin.sdk.message.GTCmdMessage; import com.igexin.sdk.message.GTTransmitMessage; public class MyService extends GTIntentService{ @Override public void onReceiveServicePid(Context context, int i) { } @Override public void onReceiveClientId(Context context, String 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) { } }
-
package xixinxin.bawie.com.push_getui; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import com.igexin.sdk.PushManager; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // PushService 为第三方自定义推送服务 PushManager.getInstance().initialize(this.getApplicationContext(),PushService.class); // MyService为第三方自定义接收推送服务 PushManager.getInstance().registerPushIntentService(this.getApplicationContext(),MyService.class); } }