flutter集成Mob推送(Android)

这篇具有很好参考价值的文章主要介绍了flutter集成Mob推送(Android)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Mob推送
Flutter对接文档
1、在pubspec.yaml文件中加入下面依赖

mobpush_plugin: ^1.2.2 # MOB推送

2、导入 MobPush 相关依赖
在项目根目录的build.gradle中添加以下代码:

buildscript {
    repositories {
        // 配置Mob Maven库
        maven {
           url "https://mvn.mob.com/android"
        }
      // 配置HMS Core SDK的Maven仓地址。(集成华为厂商需要添加)
        maven {
           url 'https://developer.huawei.com/repo/'}
        }
        ...
    }
    dependencies {
        ...
        // 集成MobPush
        classpath 'com.mob.sdk:MobSDK:+'
    }
}

3、在 /android/app/build.gradle 中添加以下代码:

apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
// 导入MobSDK
apply plugin: 'com.mob.sdk'

4、平台相关集成 在项目的/android/app/build.gradle中添加:

MobSDK {
    appKey "您的MobTech平台appKey"
    appSecret "您的MobTech平台appSecret"

    //配置MobPush
    MobPush {
        //配置厂商推送(可选配置,不需要厂商推送可不配置,需要哪些厂商推送只需配置哪些厂商配置即可)
        devInfo {
            //配置小米厂商推送
            XIAOMI {
                appId "您的小米平台appId"
                appKey "您的小米平台appKey"
            }

            //配置华为厂商推送
            HUAWEI {
                appId "您的华为平台appId"
            }

            //配置魅族厂商推送
            MEIZU {
                appId "您的魅族平台appId"
                appKey "您的魅族平台appKey"
            }

            //配置FCM厂商推送
            FCM {
                //设置默认推送通知显示图标
                iconRes "@mipmap/default_ic_launcher"
            }

            //配置OPPO厂商推送
            OPPO {
                appKey "您的OPPO平台appKey"
                appSecret "您的OPPO平台appSecret"
            }

            //配置VIVO厂商推送
            VIVO {
                appId "您的VIVO平台appId"
                appKey "您的VIVO平台appKey"
            }
        }
    }
}

5、在MainActivity的onCreate中添加以下代码:

package com.crlgc.canteenapp;

import android.os.Bundle;

import io.flutter.embedding.android.FlutterActivity;
import io.flutter.embedding.android.FlutterFragmentActivity;
import io.flutter.embedding.engine.FlutterEngine;
import io.flutter.plugins.GeneratedPluginRegistrant;

public class MainActivity extends FlutterFragmentActivity {
    
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        GeneratedPluginRegistrant.registerWith(new FlutterEngine(this));
    }

    
    public void configureFlutterEngine(FlutterEngine flutterEngine) {
        super.configureFlutterEngine(flutterEngine);
    }
}

SDK API
6、回传用户隐私授权结果 (submitPrivacyGrantResult)

/**
 * 回传用户隐私授权结果
 * @param status     用户是否同意隐私协议
 * @param result     默认传null
 */  
Mobcommonlib.submitPolicyGrantResult(bool status, Function(bool)? result)

7、设置别名(setAlias)

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");
});

8、添加推送回调监听(addPushReceiver 接收自定义透传消息回调、接收通知消息回调、接收点击通知消息回调、接收别名或标签操作回调)

MobpushPlugin.addPushReceiver(_onEvent, _onError);

void _onEvent(Object event) {
	Map<String, dynamic> eventMap = json.decode(event);
    Map<String, dynamic> result = eventMap['result'];
    //action:0自定义;1接收通知;2用户点击
    int action = eventMap['action'];
}

void _onError(Object event) {

}
  • 有问题在gradle.properties添加
    MobSDK.spEdition=FP

涉及文件如下:登录文件设置了别名,main获取推送消息及设置后续操作。
flutter集成Mob推送(Android)
*** 问题排查:
1、如果遇到 missPlugin等问题,重新构建,重启Android Studio或重启电脑。
2、获取不到registrationId,看看时候申请了权限;

 <!--允许程序读写手机状态和身份-->
 <uses-permission android:name="android.permission.READ_PHONE_STATE" />

3、创建了推送收不到:
flutter集成Mob推送(Android)

(1)看手机是否开启了通知权限;
(2)在后台排查一下设备是否在线
flutter集成Mob推送(Android)
(3)推送设置,包名是不是自己的包名,默认是com.null_as_default
flutter集成Mob推送(Android)
4、离线消息:只能通过厂商下发才能及时收到。文章来源地址https://www.toymoban.com/news/detail-431413.html

到了这里,关于flutter集成Mob推送(Android)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • flutter极光推送配置厂商通道(华为)笔记--进行中

    厂商通道相关参数申请教程 集成厂商 集成指南 官方文档:厂商通道回执配置指南 注意:不同厂商对app上架的要求不同,华为、荣耀 对app上架没有硬性要求 解决方案: application 标签下的应用名属性值不要直接赋值中文字符串,应用名属性值引用strings文件中定义的参数。 ①

    2024年01月25日
    浏览(43)
  • flutter 极光推送配置流程(极光通道/华为厂商/IOS)

    极光推送配置流程 配置时间 2024年3月11日 应用列表 - 创建应用 Android - 选中消息推送 - 下一步 创建Flutter项目 填写包名 创建完成 运行命令行 flutter pub add jpush_flutter Android - app - build.gradle 更改 JPUSH_APPKEY 的值 工具类注册JPush Android main.dart 运行项目在Android端,有getRegistrationID,则

    2024年04月22日
    浏览(36)
  • Flutter iOS 集成使用 flutter boost

    在 Flutter项目中集成完 flutter boost,并且已经使用了 flutter boost进行了路由管理,这时如果需要和iOS混合开发,这时就要到 原生端进行集成。 注意:之前建的项目必须是 Flutter module 项目,并且原生项目和flutter module项目在同一个文件夹下面 下面是原生端集成 flutter boost的步骤

    2024年02月13日
    浏览(33)
  • Flutter--常用技术文档

    配置 清华大学flutter镜像 export PUB_HOSTED_URL=https://mirrors.tuna.tsinghua.edu.cn/dart-pub export FLUTTER_STORAGE_BASE_URL=https://mirrors.tuna.tsinghua.edu.cn/flutter 社区镜象 export PUB_HOSTED_URL=https://pub.flutter-io.cn export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn 混合开发 问题 解决 iOS、Flutter混合开发 ➜ Na

    2024年01月16日
    浏览(61)
  • Flutter集成Unity

    最近做项目时需要用到Flutter来做跨平台开发,但是项目中又用到了虚拟场景,这样一来就涉及到了Unity,那么总结下来便是用AndroidStudio来创建Flutter项目,将Unity项目嵌入到Flutter项目中,本篇文章就给大家分享一下Flutter集成Unity的详细过程,下一篇再给大家分享 Flutter与Unity之

    2023年04月09日
    浏览(62)
  • Flutter集成个推推送-安卓原生篇

    在众多的集成化推送中选择了个推,个推在 flutter 集成中还是比较简单的,只需要跟着官网一步一步走就可以了。今天这篇文章不涉及到 flutter 项目个推的集成,只是记录个推离线走安卓厂商时,进行获取一个离线的点击通知数据。 在个推的官网中提供的例子是 java 的,不符

    2024年02月06日
    浏览(39)
  • flutter 集成微信登录、分享功能

    1.微信开放平台创建应用 点击“创建移动应用”,填写相关信息后提交审核 审核通过后申请分享和登录的权限 2.ios相关配置 1.Associated Domains: 在xcode中依次点击:左侧根目录Runner--》TARGETS下的Runner--》Signing Capabilities--》+Capability--》添加Associated Domains 在Domains中填写域名,例如

    2024年02月16日
    浏览(30)
  • Flutter如何集成到已有iOS工程上

    大家好,我是咕噜铁蛋,今天我将和大家分享一个实用的技术教程——如何将Flutter集成到已有的iOS工程中。Flutter是Google推出的一款开源的移动UI框架,它允许开发者使用Dart语言来开发高性能、美观的原生应用,并支持iOS和Android两大平台。然而,在实际开发中,我们经常会遇

    2024年04月12日
    浏览(34)
  • Flutter iOS 集成使用 fluter boost

    在 Flutter项目中集成完 flutter boost,并且已经使用了 flutter boost进行了路由管理,这时如果需要和iOS混合开发,这时就要到 原生端进行集成。 注意:之前建的项目必须是 Flutter module 项目,并且原生项目和flutter module项目在同一个文件夹下面 下面是原生端集成 flutter boost的步骤

    2024年02月14日
    浏览(40)
  • Flutter 极简 Dio 组件二次封装文档

    本文档介绍了如何通过二次封装 Flutter Dio 组件来简化网络请求的过程。通过封装,我们可以提高代码复用性,简化调用方式,并添加一些常用的功能,使网络请求更加易于管理和维护。 首先,确保你的 Flutter 项目已经添加了 Dio 的依赖。在项目的 pubspec.yaml 文件中,添加以下

    2024年02月11日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包