Flutter用户消息收件箱管理插件notificare_user_inbox的使用

Flutter用户消息收件箱管理插件notificare_user_inbox的使用

Notificare Flutter SDK

GitHub release License

Notificare Flutter SDK 使得与许多 Notificare API 服务高效通信变得快速而简单,并使您可以无缝集成我们的各种功能,从推送通知到情境化存储。

开始使用我们的📚集成指南示例项目

目录

功能

推送通知: 接收推送通知并自动跟踪其参与度。

推送通知UI: 使用原生屏幕和元素来显示您的推送通知,并且无需努力即可处理其操作。

应用内消息: 零成本自动向用户展示相关应用内内容。

收件箱: 带有内置消息收件箱的应用程序由于其保留消息的性质(可以被用户多次打开),因此具有更高的转化率。该SDK为您提供构建收件箱UI所需的所有工具。

地理围栏: 将用户的地理位置转化为相关信息,根据地理位置行为自动化用户分段,并创建真正的情境通知。

忠诚度: 发挥数字卡的力量,这些卡片可以在应用程序之外存在,并始终在客户口袋里。

资产: 为您的应用程序添加强大的情境营销功能。在正确的时间或地点向正确的用户展示合适的内容。最大化您已经创建的内容,而不增加开发成本。

可扫描对象: 通过扫描NFC标签或QR码解锁新内容,这些内容可以无缝集成到您的移动应用程序中。

安装

要求

  • Android 6 (API level 23) 及以上版本
  • iOS 11 及以上版本

配置

将Flutter包添加到您的pubspec.yaml文件,并遵循入门指南。

dependencies:
  # 必需的
  notificare: ^4.0.0

  # 可选模块
  notificare_assets: ^4.0.0
  notificare_geo: ^4.0.0
  notificare_inbox: ^4.0.0
  notificare_loyalty: ^4.0.0
  notificare_push: ^4.0.0
  notificare_push_ui: ^4.0.0
  notificare_scannables: ^4.0.0

入门

集成

开始使用我们的📚集成指南示例项目

示例

  • 示例项目以简化的方式展示了其他集成,以便快速了解如何实现给定的功能。

示例代码

以下是一个简单的示例代码,演示了如何使用 notificare_inbox 插件来管理和显示用户的消息收件箱。

import 'package:flutter/material.dart';
import 'package:notificare/notificare.dart';
import 'package:notificare_inbox/notificare_inbox.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  [@override](/user/override)
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  List<InboxMessage> messages = [];

  [@override](/user/override)
  void initState() {
    super.initState();
    initializeInbox();
  }

  Future<void> initializeInbox() async {
    try {
      await Notificare.start();

      // 获取所有未读消息
      final unreadMessages = await NotificareInbox.getInboxMessages(status: InboxStatus.unread);
      setState(() {
        messages = unreadMessages;
      });

      // 监听消息状态变化
      NotificareInbox.onMessageStatusChanged.listen((event) {
        if (event.status == InboxStatus.read) {
          setState(() {
            messages.remove(event.message);
          });
        }
      });
    } catch (e) {
      print('Failed to start Notificare: $e');
    }
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('Notificare Inbox Example')),
        body: ListView.builder(
          itemCount: messages.length,
          itemBuilder: (context, index) {
            final message = messages[index];
            return ListTile(
              title: Text(message.title),
              subtitle: Text(message.body),
              trailing: Text(message.status.toString()),
            );
          },
        ),
      ),
    );
  }
}

更多关于Flutter用户消息收件箱管理插件notificare_user_inbox的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter用户消息收件箱管理插件notificare_user_inbox的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中使用notificare_user_inbox插件来管理用户消息收件箱的一个基本示例。这个插件允许你与Notificare后端服务集成,以管理和显示用户的收件箱消息。

1. 添加依赖

首先,你需要在pubspec.yaml文件中添加notificare_user_inbox依赖:

dependencies:
  flutter:
    sdk: flutter
  notificare_user_inbox: ^最新版本号  # 请替换为实际的最新版本号

然后运行flutter pub get来安装依赖。

2. 配置Notificare

在使用插件之前,你需要配置Notificare的客户端密钥和其他必要的参数。这通常在应用的入口文件(如main.dart)中进行。

import 'package:flutter/material.dart';
import 'package:notificare_user_inbox/notificare_user_inbox.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  // 配置Notificare
  await NotificareUserInbox.configure(
    clientKey: '你的Notificare客户端密钥',  // 替换为你的Notificare客户端密钥
    environment: 'production', // 或 'development',根据你的环境设置
  );

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

3. 获取用户收件箱消息

接下来,你可以使用NotificareUserInbox类来获取用户的收件箱消息。这里是一个简单的例子,展示如何在用户点击按钮时获取并显示收件箱消息。

import 'package:flutter/material.dart';
import 'package:notificare_user_inbox/notificare_user_inbox.dart';

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  List<NotificareMessage> _messages = [];

  Future<void> _fetchMessages() async {
    try {
      // 获取收件箱消息
      NotificareInboxResult result = await NotificareUserInbox.fetchMessages();
      if (result.success) {
        setState(() {
          _messages = result.messages;
        });
      } else {
        print('获取消息失败: ${result.error?.message}');
      }
    } catch (e) {
      print('发生错误: $e');
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('用户收件箱管理'),
      ),
      body: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          ElevatedButton(
            onPressed: _fetchMessages,
            child: Text('获取收件箱消息'),
          ),
          SizedBox(height: 20),
          Expanded(
            child: _messages.isEmpty
                ? Center(child: Text('没有消息'))
                : ListView.builder(
                    itemCount: _messages.length,
                    itemBuilder: (context, index) {
                      NotificareMessage message = _messages[index];
                      return ListTile(
                        title: Text(message.title ?? '无标题'),
                        subtitle: Text(message.body ?? '无内容'),
                      );
                    },
                  ),
          ),
        ],
      ),
    );
  }
}

4. 运行应用

确保你的Flutter环境已经配置正确,并且你的Notificare项目已经设置好。然后运行应用:

flutter run

这个示例展示了如何使用notificare_user_inbox插件来获取和显示用户的收件箱消息。根据实际需要,你可能需要处理更多的消息属性或实现更复杂的UI。此外,记得遵循Notificare的文档和最佳实践来确保你的应用能够正确处理消息和通知。

回到顶部