Android 混合推送SDK,快速集成6个厂商推送,共享系统推送通道,杀死也能收到推送,推送到达率90%以上
APACHE-2.0 License
OPPOVIVO
APP90%
Java
SDK2
SDKSDKAPPAPP
APP618APPSDK
APPAPPAPP
APPAPPAPPAPPMixPush
/ | ||||
---|---|---|---|---|
Android | ||||
EMUI4.04.1EMUI5.0 | ||||
OPPO | OPPOColorOS3.1 | |||
VIVO | VIVO Android 9.0 9.0 | |||
Flyme | ||||
APNs | ||||
APNs | APNs |
buildscript {
repositories {
...
mavenCentral()
maven { url 'http://developer.huawei.com/repo/' }
}
dependencies {
...
classpath 'com.huawei.agconnect:agcp:1.6.0.300'
}
}
allprojects {
repositories {
...
mavenCentral()
jcenter()
maven { url 'http://developer.huawei.com/repo/' }
}
}
VIVOAPP_IDAPP_KEYOPPO APP_KEY APP_SECRET
apply plugin: 'com.huawei.agconnect'
android {
compileSdkVersion 31
defaultConfig {
...
manifestPlaceholders["VIVO_APP_ID"] = "<VIVO_APP_ID>"
manifestPlaceholders["VIVO_APP_KEY"] = "<VIVO_APP_KEY>"
manifestPlaceholders["MI_APP_ID"] = "<MI_APP_ID>"
manifestPlaceholders["MI_APP_KEY"] = "<MI_APP_KEY>"
manifestPlaceholders["OPPO_APP_KEY"] = "<OPPO_APP_KEY>"
manifestPlaceholders["OPPO_APP_SECRET"] = "<OPPO_APP_SECRET>"
manifestPlaceholders["MEIZU_APP_ID"] = "<MEIZU_APP_ID>"
manifestPlaceholders["MEIZU_APP_KEY"] = "<MEIZU_APP_KEY>"
}
}
dependencies {
def mixpush_version = '2.4.0'
implementation "io.github.mixpush:mixpush-core:$mixpush_version" //
implementation "io.github.mixpush:mixpush-mi:$mixpush_version" //
implementation "io.github.mixpush:mixpush-meizu:$mixpush_version" //
implementation "io.github.mixpush:mixpush-huawei:$mixpush_version" //
implementation "io.github.mixpush:mixpush-oppo:$mixpush_version" // OPPO
implementation "io.github.mixpush:mixpush-vivo:$mixpush_version" // VIVO
}
3
public class MyPushReceiver extends MixPushReceiver {
@Override
public void onRegisterSucceed(Context context, MixPushPlatform mixPushPlatform) {
// regId
//MixPushClient.getInstance().getRegisterId
}
@Override
public void onNotificationMessageClicked(Context context, MixPushMessage message) {
// TODO
}
}
Application
//
//MixPush.getInstance().setLogger(new PushLogger(){});
MixPush.getInstance().setPushReceiver(new MyPushReceiver());
// 5OPPOVIVO
MixPush.getInstance().register(this);
regIdonCreate,regId
MixPushClient.getInstance().getRegisterId(this, new GetRegisterIdCallback() {
public void callback(MixPushPlatform platform) {
if (platform != null) {
Log.e("GetRegisterIdCallback", platform.toString());
// TODO regId
}
}
});
# MixPush
-keep class com.mixpush.mi.MiPushProvider {*;}
-keep class com.mixpush.meizu.MeizuPushProvider {*;}
-keep class com.mixpush.huawei.HuaweiPushProvider {*;}
-keep class com.mixpush.oppo.OppoPushProvider {*;}
-keep class com.mixpush.vivo.VivoPushProvider {*;}
#
-ignorewarnings
-keepattributes *Annotation*
-keepattributes Exceptions
-keepattributes InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
-keep class com.huawei.hianalytics.**{*;}
-keep class com.huawei.updatesdk.**{*;}
-keep class com.huawei.hms.**{*;}
#
-keep class com.xiaomi.**{*;}
# OPPO
-keep public class * extends android.app.Service
-keep class com.heytap.msp.** { *;}
# VIVO
-dontwarn com.vivo.push.**
-keep class com.vivo.push.**{*; }
-keep class com.vivo.vms.**{*; }
#
-keep class com.meizu.**{*;}
<dependencies>
<dependency>
<groupId>io.github.mixpush</groupId>
<artifactId>mixpush-sender</artifactId>
<version>2.3.9</version>
</dependency>
</dependencies>
class MixPushServerExample {
public static void main(String[] args) {
MixPushSender sender = new MixPushSender.Builder()
.packageName("<packageName>")
.mi("<appSecretKey>",false)
.meizu("<appId>", "<appSecretKey>")
.huawei("<appId>", "<appSecretKey>")
.oppo("<appKey>", "<masterSecret>")
.vivo("<appId>", "<appKey>", "<appSecretKey>")
.miAPNs("<appSecretKey>")
.test(true)
.build();
MixPushMessageConfig activitiesMessageConfig = new MixPushMessageConfig.Builder()
// OPPO
.oppoPushChannelId("activities")
.build();
MixPushMessage message = new MixPushMessage.Builder()
.title("")
.description("")
.payload("{\"url\":\"http://github.com/taoweiji\"}")
.config(activitiesMessageConfig)
.build();
MixPushTarget target = MixPushTarget.single("mi","xxxx");
sender.sendNotificationMessage(message,target);
}
}
huaweiPushChannelId | |
vivoSystemMessage | falsetrue |
timeToLive | 72 |
miPushChannelId | IM |
oppoPushChannelId | OPPO |
title | passThroughfalse |
description | passThroughfalse |
payload | json |
passThrough | falsetrue |
messageId | Result |
config | ChannelId |
5
IM
mihuaweiok- error
Android | OPPO | VIVO | ||||
---|---|---|---|---|---|---|
4.4 | mi, ok | mi, ok | - | mi, ok | mi, ok | - |
5.x | mi, ok | mi, ok | meizu, ok | mi, ok | mi, ok | mi, ok |
6.x | mi, ok | mi, ok | meizu, ok | mi, ok | mi, ok | - |
7.x | mi, ok | huawei, ok | meizu, ok | oppo, ok | mi, ok | mi, ok |
8.x | mi, ok | huawei, ok | meizu, ok | oppo, ok | mi, ok | mi, ok |
9.x | mi, ok | huawei, ok | meizu, ok | oppo, ok | vivo, ok | oppo, ok |
10.x | mi, ok | huawei, ok | meizu, ok | oppo, ok | vivo, ok | oppo, ok |