Flutter TPNS
1. 基本接入
1.1 环境配置
小编在接入 Flutter TPNS 时,需要在 Flutter 和 Android 两端进行插件的安装配置;
-
Flutter
在工程 pubspec.yaml 中 dependencies 下引入 tpns_flutter_plugin 插件;
dependencies:
flutter:
sdk: flutter
tpns_flutter_plugin:
git:
url: https://github.com/TencentCloud/TPNS-Flutter-Plugin
ref: V1.0.7
-
Android
在 app build.gradle 文件下配置 ID 和 KEY 以及支持的 .so 库;
defaultConfig {
applicationId "com.ace.plugin.flutter_app07"
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
ndk {
abiFilters 'armeabi', 'armeabi-v7a', 'x86', 'x86_64', 'mips', 'mips64', 'arm64-v8a', 'arm6'
}
manifestPlaceholders = [
XG_ACCESS_ID : "1500018481",
XG_ACCESS_KEY : "AW8Y2K3KXZ38",
]
}
1.2 方法使用
我按照官网的介绍尝试了一些常用的 API 方式,主要分为应用类,账号类和标签类三种 API,小菜业务中没有应用账号和标签模块,暂未深入研究;
- 应用接口 API
a. 注册推送服务
对于服务的注册初始化,可以在首次进入应用 initState() 中直接初始化,也可以根据业务逻辑在固定的位置进行初始化,需要传递申请的账号 ID 和 KEY;注册成功之后会在 onRegisteredDone() 中进行回调,并获取对应设备的唯一 Token;
XgFlutterPlugin().startXg("1500018481", "AW8Y2K3KXZ38");
// 注册回调
XgFlutterPlugin().addEventHandler(
onRegisteredDone: (String msg) async {
print("HomePage -> onRegisteredDone -> $msg");
_showDialog('注册成功', msg);
},
);
b. 注销推送服务
服务的注销方法可以通过 stopXg() 进行处理,并在 unRegistered 进行回调监听;
XgFlutterPlu