flutter 集成 MobPush 推送
flutter 集成 MobPush 推送前言flutterApp进行厂商注册后台服务器前言在公司使用flutter 开发app的时候,需要用到推送,最终选择了MobPush,MobPush好处在于完全免费,通知也支持部分厂商(华为、小米、魅族、OPPO、vivo),而且集成简单,有文档案例。这里只讲述了,我使用时需要执行的操作。快速入口: MobPush官方网站.flutterApp首先我这里的
·
flutter 集成 MobPush 推送
前言
在公司使用flutter 开发app的时候,需要用到推送,最终选择了MobPush,MobPush好处在于完全免费,通知也支持部分厂商(华为、小米、魅族、OPPO、vivo),而且集成简单,有文档案例。这里只讲述了,我使用时需要执行的操作。
快速入口: MobPush官方网站.
flutterApp
首先我这里的flutter项目 初始化android是通过kotlin。第一步先添加插件
dependencies:
mobpush_plugin:
IOS:
IOS需要查看IOS的集成文档
官方文档更加详细: IOS集成文档入口.
android:
首先在 根目录下的 android 项目中的build.gradle添加
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// 导入MobSDK, 推送
classpath 'com.mob.sdk:MobSDK:+'
//这里和官方文档不一样,我不需要FCM厂商推送 所以没配置
}
然后在 /android/app/build.gradle 中添加以下代码:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
// 导入MobSDK, 推送
apply plugin: 'com.mob.sdk'
MobSDK {
appKey "******" //在MobPush注册的app key
appSecret "******" //在MobPush注册的app secret
//配置MobPush
MobPush {
//配置厂商推送(可选配置,不需要厂商推送可不配置,需要哪些厂商推送只需配置哪些厂商配置即可)
devInfo {
//配置小米厂商推送
XIAOMI {
//特殊厂商配置的appId 与 appKey
appId "******"
appKey "******"
}
//配置华为厂商推送
HUAWEI {
appId "******"
}
}
}
//配置MobShare
}
非kotlin初始化android项目的,还需要在 MainActivity 文件中进行配置,
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GeneratedPluginRegistrant.registerWith(this);
}
这样配置方面就已经完成
接下在是在使用到推送的地方(例如main.dart)
//设置隐私协议授权状态
MobpushPlugin.updatePrivacyPermissionStatus(true);
//设置远程推送环境,向用户授权(仅 iOS)
if (Platform.isIOS) {
MobpushPlugin.setCustomNotification();
// 开发环境 false, 线上环境 true
MobpushPlugin.setAPNsForProduction(false)
}
//获取注册的设备id, 这个可以不初始化
MobpushPlugin.getRegistrationId().then((Map<String, dynamic> ridMap) {
print(ridMap);
String regId = ridMap['res'].toString();
print('------>#### registrationId: ' + regId);
});
//设置别名,注意,每个别名只能存在一台设备,后者会覆盖前者。厂商通道,会根据后者来进行推送
MobpushPlugin.setAlias("别名").then((Map<String, dynamic> aliasMap){
String res = aliasMap['res'];
String error = aliasMap['error'];
String errorCode = aliasMap['errorCode'];
print(">>>>>>>>>>>>>>>>>>>>>>>>>>> setAlias -> res: $res error: $error");
});
更多的方法就不一一详解,具体可以去官方文档查看。
官方文档更加详细: flutter集成文档入口.
进行厂商注册
官方文档更加详细: 特殊厂商处理.
后台服务器
官方文档: MobPush 服务端集成SDK.
更多推荐
已为社区贡献2条内容
所有评论(0)