zoukankan      html  css  js  c++  java
  • flutter 极光推送

    一、配置极光开发者

    1.注册极光开发者

    https://www.jiguang.cn/push

    2.创建应用

    (1)

     (2)android设置包名

     

     当前台注册好后就可以推送了

    (3)IOS设置

     

    二、创建APP

     1.添加依赖 

    pubspec.yaml  添加: flutter_jpush: ^0.0.4

     2.android 专属配置

        defaultConfig {
            // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
            applicationId "xxx"
            minSdkVersion 16
            targetSdkVersion 28
            versionCode flutterVersionCode.toInteger()
            versionName flutterVersionName
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    
            ndk {
                //选择要添加的对应 cpu 类型的 .so 库。
                abiFilters 'armeabi', 'armeabi-v7a', 'x86', 'x86_64', 'mips', 'mips64' // 'arm64-v8a',        
            }       
            manifestPlaceholders = [
                JPUSH_PKGNAME : applicationId,
                JPUSH_APPKEY : "123", //JPush上注册的包名对应的appkey.
                JPUSH_CHANNEL : "developer-default",//你的推送渠道,如果不知道填写developer-default即可
            ]
        }

     3.编写代码

    import 'package:flutter/material.dart';
    import 'package:flutter_jpush/flutter_jpush.dart';
    
    void main() => runApp(MyApp());
    
    class MyApp extends StatefulWidget {
      @override
      _MyAppState createState() => _MyAppState();
    }
    
    class _MyAppState extends State<MyApp> {
    
      void initState(){
        super.initState();
        _initJPush();
        _initNotification();
      }
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          home: Scaffold(
              appBar: AppBar(
                title: Text("测试"),
              ),
              body: Center(
                child: Text('data'),
              )),
        );
      }
    
    
      //初始化
      void _initJPush() async {
        await FlutterJPush.startup();
        print("初始化jpush成功");
    
        // 获取 registrationID
        var registrationID = await FlutterJPush.getRegistrationID();
        print(registrationID);
    
        // 注册接收和打开 Notification()
        _initNotification();
      }
      //初始化
      void _initNotification() async {
        FlutterJPush.addReceiveNotificationListener(
            (JPushNotification notification) {
          print("收到推送提醒: $notification");
        });
    
        FlutterJPush.addReceiveOpenNotificationListener(
            (JPushNotification notification) {
          print("打开了推送提醒: $notification");
        });
      }
    }

    测试

    推送通知

    注意:android一定要加上包名,而且一旦确认不能更改

  • 相关阅读:
    死锁:同步中嵌套同步,但锁不同,示例二:
    WinCC VBS利用EXCEL调用Windows API函数
    IE8在上传文件时路径无效或无效的图片文件解决办法【转】
    jquery 资料
    设置倒计时10秒可用的按钮JS函数(转)
    WINCC中数据EXCEL报表的实现方法
    Js 操作radiobuttonlist的方法 (转)
    转自百度 silverlight(转)
    Silverlight五子棋(转)
    两台Oracle服务器,使用udl测试连接
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/10695028.html
Copyright © 2011-2022 走看看