个推Android SDK的官方集成步骤中,需要在Manifest.xml文件中仿佛很多官方的Service,Receiver以及Activity。但是像我这种只需要透传消息的功能的需求,并不需要全部的Service,Receiver和Activity。因此需要对不需要的东西进行剔除,剩下实现基本透传消息的Service,Receiver声明。
android:name="your custom push receiver name"
android:exported="false">
这个是自定义推送消息Receiver声明,由自己实现,继承子BroadcastReceiver,具体可以参考官网这个实现细节。
android:name="com.igexin.sdk.PushService"
android:exported="true"
android:label="NotificationCenter"
android:process=":pushservice" />
android:name="com.igexin.sdk.PushManagerReceiver"
android:exported="false">
上面的Service和Receiver是实现推送的核心声明。
有了上面的声明,基本上就可以实现透传消息的接收了。上面的声明均来自jar包:GetuiSDK。
有的时候还需要在应用退出的时候还能够接收推送消息,因此需要一个另外的Receiver声明:
android:exported="false">
加入这个声明之后,如果个推SDK已经启动,但是应用没有启动,个推SDK会唤醒自定义实现的Push Receiver,接收消息。这个声明在jar包:GetuiExt中。
基本上上面的声明就可以实现基本的透传消息了。其他官网的Activity,Service,Receiver声明可以去除了,如果没有功能需求的话。