hua_wei_push_plugin

pub package

华为推送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

  1. 生成证书 证书生成教程,并前往 华为开发者中心 [项目-应用] 中配置 SHA256证书指纹

  2. 修改 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
    +       }
        }
    }
    
  3. 修改 android\build.gradle

    buildscript {
        repositories {
            google()
            jcenter()
    +       maven {url 'https://developer.huawei.com/repo/'}
        }
       
        dependencies {
    +       classpath 'com.huawei.agconnect:agcp:1.2.1.301'
        }
    }
    
  4. 前往华为开发者中心 [项目-应用]下载 agconnect-services.json

  5. 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 完美的音量控制器插件 pub package
Flutter FlutterTencentImPlugin 腾讯云IM插件 pub package
Flutter FlutterTencentRtcPlugin 腾讯云Rtc插件 pub package
Flutter FlutterXiaoMiPushPlugin 小米推送SDK插件 pub package
Flutter FlutterHuaWeiPushPlugin 华为推送(HMS Push)插件 pub package
Flutter FlutterTextSpanField 自定义文本样式输入框 pub package
Flutter FlutterClipboardListener 粘贴板监听器 pub package
Flutter FlutterQiniucloudLivePlugin Flutter 七牛云直播云插件 暂未发布,通过 git 集成