华为推送通道集成指南
华为推送通道是由华为官方提供的系统级推送通道。在华为手机上,推送消息能够通过华为的系统通道抵达终端,并且无需打开应用就能够收到推送。
  • 华为推送只有在签名发布包环境下才可以收到推送消息
  • 华为手机中的移动推送服务,必须升级到 2.5.3 以上版本

1. 获取华为推送秘钥

  1. 1.
  2. 2.
    注册/登录开发者账号。(如果您是新注册账号,需进行实名认证).
  3. 3.
    在华为推送平台中新建应用。注意:应用包名需跟您在GIO集成的包名保持一致

2. 在project 的 build.gradle 添加华为推送SDK的maven仓库地址

1
buildscript {
2
...
3
repositories {
4
google()
5
jcenter()
6
// sdk1.5.0版本开始迁移到了Maven Central
7
mavenCentral()
8
// 华为仓库
9
maven { url 'http://developer.huawei.com/repo/' }
10
}
11
12
buildscript {
13
dependencies {
14
...
15
classpath 'com.huawei.agconnect:agcp:1.3.1.300'
16
}
17
}
18
...
19
}
20
21
allprojects {
22
...
23
repositories {
24
google()
25
jcenter()
26
// sdk1.5.0版本开始迁移到了Maven Central
27
mavenCentral()
28
// 华为仓库
29
maven { url 'http://developer.huawei.com/repo/' }
30
}
31
...
32
}
Copied!

3. 在app build.gradle添加华为通道SDK依赖

1
dependencies {
2
...
3
//由于推送底层网络库依赖OkHttp3网络库,请添加OkHttp3依赖
4
implementation 'com.squareup.okhttp3:okhttp:3.12.1'
5
//推送SDK依赖
6
implementation 'com.growingio.android:gtouch:$gtouch_version'
7
//华为推送SDK依赖
8
implementation 'com.growingio.android.gpush:gpush-huawei-adapter:$gtouch_version'
9
}
Copied!
$gtouch_version 为最新SDK版本号,现最新的版本号为请参考SDK更新日志

4. 对接华为官方推送服务

根据华为官方文档集成华为推送
  1. 1.
    登录AppGallery Connect网站,点击“我的项目”。
  2. 2.
    在项目列表中找到您的项目,在项目中点击需要集成HMS Core SDK的应用。
  3. 3.
    在“项目设置 > 常规”页面的“应用”区域,点击“agconnect-services.json”下载配置文件。
  4. 4.
    将“agconnect-services.json”文件拷贝到应用级根目录下。
  5. 5.
    在app的 build.gradle文件添加
1
apply plugin: 'com.huawei.agconnect'
Copied!

5. 配置AppID

1
android {
2
......
3
defaultConfig {
4
manifestPlaceholders = [
5
PACKAGE_NAME : "您的APP包名",
6
7
GPUSH_HUAWEI_APP_ID : "华为推送的AppId(华为推送不需要AppKey)",
8
]
9
......
10
}
11
......
12
}
Copied!

6. 代码混淆

1
-ignorewarning
2
3
-keepattributes *Annotation*
4
5
-keepattributes Exceptions
6
7
-keepattributes InnerClasses
8
9
-keepattributes Signature
10
11
-keepattributes SourceFile,LineNumberTable
12
13
-keep class com.hianalytics.android.**{*;}
14
15
-keep class com.huawei.updatesdk.**{*;}
16
17
-keep class com.huawei.hms.**{*;}
18
19
-keep class com.huawei.android.hms.agent.**{*;}
Copied!

7. 配置服务端AppID和AppSecret

8. 设置推送消息回执

在华为推送APP编辑界面配置回执,以便于我们GrowingIO更好的统计推送数据
目前单击【测试回执】,会提示“https,error",请忽略并直接单击【提交】。
其中回调地址
1
https://messages.growingio.com/v1/callback/huawei
Copied!
HTTPS证书
1
-----BEGIN CERTIFICATE-----
2
MIIGOjCCBSKgAwIBAgIRALgnuZWCR+iOD4izy+ml7dgwDQYJKoZIhvcNAQELBQAw
3
gY8xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
4
BgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE3MDUGA1UE
5
AxMuU2VjdGlnbyBSU0EgRG9tYWluIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBD
6
QTAeFw0yMTA4MjYwMDAwMDBaFw0yMjA5MjMyMzU5NTlaMBoxGDAWBgNVBAMMDyou
7
Z3Jvd2luZ2lvLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJQN
8
pLFM9rXcbQ0uvJBArJza9p7U9noR9O+DXguaHNMWp1kAQN45ZoVV5t3iqdPc6WaH
9
iUFRnAysDKs8Gdx6ArN2SDaekE119ywbZAkZNfwSESyXKND1cPBgu7AIcnwRwpTv
10
u946MIlQ2YDy/sVe2E9xNdCxtzfBsFCcBGdTUmiczjyowOvtdxWm9r7DDUAm5vFK
11
BZIqy5POXkAe4hTYb5m6VFHaZL+dXm02zZhbzFy8Rqlq9XK5N1WqQ9vDHkrS3v5H
12
6xsoE9QU52AvzBAdSiWjpM3LWijgWiEoRKL1HpfvYFiSZlqkVex/N3tewmLdOUSf
13
LG3DuyRCMqK9THRtqVkCAwEAAaOCAwMwggL/MB8GA1UdIwQYMBaAFI2MXsRUrYrh
14
d+mb+ZsF4bgBjWHhMB0GA1UdDgQWBBR8tPS9uoCpclkI17VYyWVHv1evKDAOBgNV
15
HQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYI
16
KwYBBQUHAwIwSQYDVR0gBEIwQDA0BgsrBgEEAbIxAQICBzAlMCMGCCsGAQUFBwIB
17
FhdodHRwczovL3NlY3RpZ28uY29tL0NQUzAIBgZngQwBAgEwgYQGCCsGAQUFBwEB
18
BHgwdjBPBggrBgEFBQcwAoZDaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdv
19
UlNBRG9tYWluVmFsaWRhdGlvblNlY3VyZVNlcnZlckNBLmNydDAjBggrBgEFBQcw
20
AYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wKQYDVR0RBCIwIIIPKi5ncm93aW5n
21
aW8uY29tgg1ncm93aW5naW8uY29tMIIBgQYKKwYBBAHWeQIEAgSCAXEEggFtAWsA
22
dwBGpVXrdfqRIDC1oolp9PN9ESxBdL79SbiFq/L8cP5tRwAAAXuA2OUoAAAEAwBI
23
MEYCIQDUPM7fUKfkZmuxIzjBUL3r1JJIMuxveatejFBqKLh85gIhAOHG0frydQMh
24
XraIwZ5wTd4K30nJAn28V6+2ohtW9LBzAHcAQcjKsd8iRkoQxqE6CUKHXk4xixsD
25
6+tLx2jwkGKWBvYAAAF7gNjk8gAABAMASDBGAiEA1lR2Nu6ERx8l3N4qIDUFJJ45
26
UEy6JJU52JdeZnmru5kCIQDV77MfJgDf+moLxQaQMHhGZlGcIHt7a2Bq1COoRwPK
27
aAB3ACl5vvCeOTkh8FZzn2Old+W+V32cYAr4+U1dJlwlXceEAAABe4DY5MUAAAQD
28
AEgwRgIhAJ8Lz2ic0KwfheQGEDsHdFG4H0otvgi3Fv8NPOu85wfsAiEA4yjHd2E0
29
GUtE+dBQMtAJzayxO5YE2gDcI2vzGmaOOtwwDQYJKoZIhvcNAQELBQADggEBAGGl
30
W+Eg48/p0YtRCOQ9rE87ZOgV0T7M2Xk9KLorzuB18ZWITk4lDSj7tPcgd0B0Rg3y
31
hXcmWfJjz8PLzYhCYZSlZuwGibcvFFe8Tpok18iO25dekxs9QsiRAEXbgTG13Fsf
32
j0NAGLxGUmnhoJn8x5fU9AGim/Rn313U99h5NqCPVPpwV6KQ3Z7Rt9q7ikvW5F2W
33
Wecsf2uvFgDU4NY9NINJYIOs3tnN/NHHkCQjseRRtmWTBS7m/fvZvSrvb7/o+Kse
34
7DlBTM/WCGDLo4ZW/BqwY2d4Gs2hnzqQqUPpz0tOZ3cWuA/D7jokOGFh2IxCwzQO
35
v7g0eJupNAawi4fBGrw=
36
-----END CERTIFICATE-----
Copied!

9. 厂商通道测试方法

  1. 1.
    将集成好的App(测试版本)安装在一台华为测试机上,并且运行App
  2. 2.
    保持App在前台运行,尝试扫码测试推送消息
  3. 3.
    如果应用收到消息,将App退到后台,并且杀掉所有App进程
  4. 4.
    再次进行测试推送消息,如果能够收到推送,则表明厂商通道集成成功
  5. 5.
    最好能根据官方推荐方式,先测通华为官方推送

10. 兼容性

如果您的App已经集成了个推VIP或极光VIP版本的推送SDK,我们的Android SDK也能兼容。
为了和个推兼容,我们将厂商通道独立打包。以华为推送通道为例,我们打包两个SDK:gpush-huawei-sdk和gpush-huawei-adapter。
如果是个推、极光等VIP版本的用户可以将官方SDK包gpush-huawei-sdk 排除出去。
1
implementation ('com.growingio.android.gpush:gpush-huawei-adapter:$gtouch_version') {
2
exclude(group: 'com.huawei.hms' , module: 'push')
3
}
Copied!
Last modified 2mo ago