flutter 極光推送


一、配置極光開發者

1.注冊極光開發者

https://www.jiguang.cn/push

2.創建應用

 

二、創建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一定要加上包名,而且一旦確認不能更改

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM