IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> flutter集成极光推送 -> 正文阅读

[移动开发]flutter集成极光推送

注册极光账号

登记极光官网https://www.jiguang.cn/push?source=bdpc&plan=4&unit=80&keyword=5286

点击应用管理

?点击创建应用,填写应用信息后点击确定

?保存AppKey(项目需要配置)

?填写项目包名(注意填写后不能修改)有华为oppo等厂商key可以配置提供推送效果

在flutter项目的?pubspec.yaml 中加入 依赖包

dependencies:
? #极光推送
  jpush_flutter: 2.2.2

在main初始化极光推送

///初始化极光推送
void startJPush() {
  JPush jpush = JPush();
  //配置jpush(不要省略)
  //debug就填debug:true,生产环境production:true
  jpush.setup(
      appKey: '替换极光注册的appKey',
      channel: 'developer-default',
      production: true,
      debug: true);
  //监听jpush(ios必须配置)
  jpush.applyPushAuthority(
      const NotificationSettingsIOS(sound: true, alert: true, badge: true));
  jpush.addEventHandler(
    onReceiveNotification: (Map<String, dynamic> message) async {
      print('message11:$message');
    },
    onOpenNotification: (Map<String, dynamic> message) async {
      //点击通知栏消息,在此时通常可以做一些页面跳转等
      print('message22:$message');
    },
  );
}

安卓配置:

在 /android/app/build.gradle 中添加下列代码

android: {
    ....
    defaultConfig {
        applicationId "替换成自己应用 ID"
        ...
        ndk {
            //选择要添加的对应 cpu 类型的 .so 库。
            abiFilters 'armeabi', 'armeabi-v7a', 'x86', 'x86_64', 'mips', 'mips64', 'arm64-v8a',
        }

        //极光推送配置key
        manifestPlaceholders = [
                JPUSH_PKGNAME : applicationId,
                JPUSH_APPKEY : "b75e994247ba8107f3f1c23f", // NOTE: JPush 上注册的包名对应的 Appkey.
                JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可.

//                MEIZU_APPKEY : "MZ-魅族的APPKEY",
//                MEIZU_APPID : "MZ-魅族的APPID",
//                XIAOMI_APPID : "MI-小米的APPID",
//                XIAOMI_APPKEY : "MI-小米的APPKEY",
//                OPPO_APPKEY : "OP-oppo的APPKEY",
//                OPPO_APPID : "OP-oppo的APPID",
//                OPPO_APPSECRET : "OP-oppo的APPSECRET",
//                VIVO_APPKEY : "vivo的APPKEY",
//                VIVO_APPID : "vivo的APPID"
        ]
    }
}

如果需要配置指定厂商key还需要下面配置

model的build.gradle配置

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"


    // 接入华为厂商
//    implementation 'com.huawei.hms:push:4.0.2.300'
//    implementation 'cn.jiguang.sdk.plugin:huawei:4.0.0'// 极光厂商插件版本与接入 JPush 版本保持一致,下同
//    // 接入 FCM 厂商
//    implementation 'com.google.firebase:firebase-messaging:21.0.1'
//    implementation 'cn.jiguang.sdk.plugin:fcm:4.0.0'
//    // 接入魅族厂商
//    implementation 'cn.jiguang.sdk.plugin:meizu:4.0.0'
//    // 接入 VIVO 厂商
//    implementation 'cn.jiguang.sdk.plugin:vivo:4.0.0'
//    // 接入 OPPO 厂商
//    implementation 'cn.jiguang.sdk.plugin:oppo:4.0.0'
//    // 接入小米厂商
//    implementation 'cn.jiguang.sdk.plugin:xiaomi:4.0.0'
}

项目的build.gradle配置

repositories {
    google()
    mavenCentral()
    maven { url 'https://maven.aliyun.com/repository/public/'}
    maven { url 'https://maven.aliyun.com/repository/spring/'}
    maven { url "https://www.jitpack.io" }
    maven { url "http://download.flutter.io"}
}
allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url 'https://maven.aliyun.com/repository/public/'}
        maven { url 'https://maven.aliyun.com/repository/spring/'}
        maven { url "https://www.jitpack.io" }
        maven { url "http://download.flutter.io"}
    }
}

IOS配置:

配置极光的tag和别名还有ios端的证书配置稍后更新
ios苹果端并不需要改动代码,只需要配置证书开启服务就行

跳转指定页面可以在推送消息配置附加字段

?在下面监听方法可以获取配置

jpush.addEventHandler(
  onReceiveNotification: (Map<String, dynamic> message) async {
    //推送通知栏新消息
    print('message11:$message');
  },
  onOpenNotification: (Map<String, dynamic> message) async {
    //点击通知栏消息,在此时通常可以做一些页面跳转等
    print('message22:$message');
    var text=message["extras"];
    print('text:$text');
    var text2=text["cn.jpush.android.EXTRA"];//sdk里面固定key
    print('text2:$text2');
    var text3=text["key"];//key是推送附件字段配置的key
  },
);

?

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-03-04 15:44:08  更:2022-03-04 15:45:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 17:16:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码