hua_wei_push_plugin 2.0.1 hua_wei_push_plugin: ^2.0.1 copied to clipboard
This plug-in is packaged based on the huawei Push SDK(hms push), providing common methods and listeners
hua_wei_push_plugin #
华为推送SDK Flutter插件
华为Push版本: v5.0.0.300
讨论群 #
使用要求 #
Flutter Version >= 1.12
如果非华为手机测试,则必须在 手机上安装 华为移动服务(HMS Core)
,否则会报:Failed to find HMS apk
错误,如果华为移动服务版本过低或权限不足(建议授予所有权限),会报:client api invalid
配置 #
Flutter #
hua_wei_push_plugin: ^[最新版本号]
Android #
-
生成证书 证书生成教程,并前往 华为开发者中心 [项目-应用] 中配置
SHA256证书指纹
-
修改
android\app\build.gradle
文件
在末尾加入+ apply plugin: 'com.huawei.agconnect'
增加证书信息,例:
android { + signingConfigs { + config { + storeFile file('android.keystore') + storePassword '123456' + keyAlias 'android_test_key' + keyPassword '123456' + v1SigningEnabled true + v2SigningEnabled true + } + } buildTypes { + debug { + signingConfig signingConfigs.config + } + release { + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig signingConfigs.config + } } }
-
修改
android\build.gradle
buildscript { repositories { google() jcenter() + maven {url 'https://developer.huawei.com/repo/'} } dependencies { + classpath 'com.huawei.agconnect:agcp:1.2.1.301' } }
-
前往华为开发者中心 [项目-应用]下载
agconnect-services.json
-
将
agconnect-services.json
放在android/app
目录
使用 #
接口 #
接口 | 说明 | 参数 |
---|---|---|
getToken | 获得Push Token | { appId: APP_ID } |
deleteToken | 删除 Push Token | { appId: APP_ID } |
getId | 获得ID | - |
getAAID | 获得AAID | - |
deleteAAID | 删除AAID | - |
getAppId | 获得AppId | - |
getCreationTime | 获得创建时间 | - |
getValue | 获得agconnect-services.json 文件的值,不同层级以 / 分开,例如 : client/package_name |
String key |
turnOnPush | 启用推送 | - |
turnOffPush | 关闭推送 | - |
subscribe | 订阅 | String topic |
unsubscribe | 取消订阅 | String topic |
setAutoInitEnabled | 设置自动初始化 | bool enabled |
isAutoInitEnabled | 是否启用自动初始化 | - |
监听器 #
添加监听器:HuaWeiPushPlugin.addListener
,移除监听器:HuaWeiPushPlugin.removeListener
监听器方法原形: typedef ListenerValue<P> = void Function(HuaWeiPushListenerTypeEnum type, P params);
类型 | 说明 | 参数格式 |
---|---|---|
MessageReceived | 接收透传消息 | Map |
MessageSent | 发送上行消息成功回调方法 | String |
MessageDelivered | 发送上行消息时如果使用了消息回执能力,消息到达App服务器后,App服务器的应答消息通过本方法回调给应用。 | MessageExceptionEntity |
SendError | 发送上行消息失败回调方法 | MessageExceptionEntity |
NewToken | 服务端更新token回调方法。 | String |
TokenError | 申请token失败回调方法。 | ExceptionEntity |
其它插件 #
我同时维护的还有以下插件,如果您感兴趣与我一起进行维护,请通过Github联系我,欢迎 issues 和 PR。
平台 | 插件 | 描述 | 版本 |
---|---|---|---|
Flutter | FlutterVideoPlayerLibrary-Desc | Flutter 最好用的播放器(UI库) | - |
Flutter | FlutterPerfectVolumeControl | Flutter 完美的音量控制器插件 | |
Flutter | FlutterTencentImPlugin | 腾讯云IM插件 | |
Flutter | FlutterTencentRtcPlugin | 腾讯云Rtc插件 | |
Flutter | FlutterXiaoMiPushPlugin | 小米推送SDK插件 | |
Flutter | FlutterHuaWeiPushPlugin | 华为推送(HMS Push)插件 | |
Flutter | FlutterTextSpanField | 自定义文本样式输入框 | |
Flutter | FlutterClipboardListener | 粘贴板监听器 | |
Flutter | FlutterQiniucloudLivePlugin | Flutter 七牛云直播云插件 | 暂未发布,通过 git 集成 |