搜尋套件、儲存庫與 APP 分類

flutter_shortcuts 封面
套件詳情v1.3.0

flutter_shortcuts

用於在主螢幕上建立靜態與動態應用程式/對話捷徑的 Flutter 插件。

AndroidiOS
近 30 天下載
63
喜歡數
147
Pub 分數
140

安裝套件

flutter pub add flutter_shortcuts

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

Flutter Shortcuts 是一個插件,可在 Android 和 iOS 的主螢幕上為應用程式和對話建立靜態與動態捷徑。它讓使用者能直接從裝置主螢幕快速存取應用程式中的特定功能或對話,進而提升使用者體驗與參與度。此插件可無縫整合至 Flutter 應用,並支援兩種平台的捷徑類型。開發者可透過程式設計或設定檔靜態定義捷徑,輕鬆實作情境感知動作。它透過利用原生作業系統的捷徑功能,提升功能的可發現性與易用性。

適用情境

  • 快速存取應用內功能
  • 直接導航到對話線程
  • 提升使用者生產力
  • 從主螢幕啟用深度連結
  • 支援上下文操作

主要特色

  • 支援靜態和動態捷徑
  • 跨平台(Android 與 iOS)
  • 與 Flutter 的輕鬆整合
  • 原生作業系統捷徑渲染
  • 可透過程式碼或清單設定
  • 上下文感知的快捷方式創建

適合對象

  • 需要快速存取功能的應用
  • 訊息或聊天應用程式
  • 生產力工具
  • 以使用者為中心的設計實施
  • 針對 Android 和 iOS 的開發者

使用建議

  • 需要平台特定的設定才能實現完整功能
  • 動態捷徑可能需要重新整理邏輯
  • 與 Android 相比,iOS 的自訂功能有限
  • 權限和用戶同意處理
  • 建議在實體設備上進行測試

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

Flutter Shortcuts

Flutter_Shortcuts

GitHub GitHub code size in bytes GitHub top language GitHub language count GitHub tag (latest by date) GitHub issues GitHub Repo stars GitHub forks

Compatibility

✅   Android
❌   iOS (active issue: iOS support for quick actions)

Show some :heart: and :star: the repo

Why use Flutter Shortcuts?

Flutter Shortcuts Plugin is known for :

Flutter Shortcuts
Fast, performant & compatible
Free & Open-source
Production ready
Make App Reactive

Features

All the features listed below can be performed at the runtime.

✅   Create Shortcuts
✅   Clear Shortcuts
✅   Update Shortcuts
✅   Conversation Shortcuts
✅   Use both flutter and android asset as shortcut icon

Demo

Quick Start

Step 1: Include plugin to your project
dependencies:
  flutter_shortcuts: <latest version>

Run pub get and get packages.

Step 2: Instantiate Flutter Shortcuts Plugin
final FlutterShortcuts flutterShortcuts = FlutterShortcuts();
Step 3: Initialize Flutter Shortcuts
flutterShortcuts.initialize(debug: true);

Example

Define Shortcut Action
flutterShortcuts.listenAction((String incomingAction) {
    setState(() {
    if (incomingAction != null) {
        action = incomingAction;
    }
  });
});
Get Max Shortcut Limit

Return the maximum number of static and dynamic shortcuts that each launcher icon can have at a time.

int? result = await flutterShortcuts.getMaxShortcutLimit();
Shortcut Icon Asset

Flutter Shortcuts allows you to create shortcut icon from both android drawable or mipmap and flutter Assets.

  • If you want to use icon from Android resources, drawable or mipmap.

use: ShortcutIconAsset.androidAsset

ShortcutItem(
  id: "2",
  action: 'Bookmark page action',
  shortLabel: 'Bookmark Page',
  icon: "ic_launcher",
  shortcutIconAsset: ShortcutIconAsset.androidAsset,
),
  • If you want to create shortcut icon from flutter asset. (DEFAULT)

use: ShortcutIconAsset.flutterAsset

ShortcutItem(
  id: "2",
  action: 'Bookmark page action',
  shortLabel: 'Bookmark Page',
  icon: 'assets/icons/bookmark.png',
  shortcutIconAsset: ShortcutIconAsset.flutterAsset,
),
Set shortcut items

Publishes the list of shortcuts. All existing shortcuts will be replaced.

flutterShortcuts.setShortcutItems(
  shortcutItems: <ShortcutItem>[
    const ShortcutItem(
      id: "1",
      action: 'Home page action',
      shortLabel: 'Home Page',
      icon: 'assets/icons/home.png',
    ),
    const ShortcutItem(
      id: "2",
      action: 'Bookmark page action',
      shortLabel: 'Bookmark Page',
      icon: "ic_launcher",
      shortcutIconAsset: ShortcutIconAsset.androidAsset,
    ),
  ],
),
Clear shortcut item

Delete all dynamic shortcuts from the app.

flutterShortcuts.clearShortcutItems();
Push Shortcut Item

Push a new shortcut item. If there is already a dynamic or pinned shortcut with the same ID, the shortcut will be updated and pushed at the end of the shortcut list.

flutterShortcuts.pushShortcutItem(
  shortcut: ShortcutItem(
    id: "5",
    action: "Play Music Action",
    shortLabel: "Play Music",
    icon: 'assets/icons/music.png',
  ),
);
Push Shortcut Items

Pushes a list of shortcut item. If there is already a dynamic or pinned shortcut with the same ID, the shortcut will be updated and pushed at the end of the shortcut list.

flutterShortcuts.pushShortcutItems(
  shortcutList: <ShortcutItem>[
    const ShortcutItem(
      id: "1",
      action: 'Home page new action',
      shortLabel: 'Home Page',
      icon: 'assets/icons/home.png',
    ),
    const ShortcutItem(
      id: "2",
      action: 'Bookmark page new action',
      shortLabel: 'Bookmark Page',
      icon: 'assets/icons/bookmark.png',
    ),
    const ShortcutItem(
      id: "3",
      action: 'Settings Action',
      shortLabel: 'Setting',
      icon: 'assets/icons/settings.png',
    ),
  ],
);
Update Shortcut Item

Updates a single shortcut item based on id. If the ID of the shortcut is not same, no changes will be reflected.

flutterShortcuts.updateShortcutItem(
  shortcut: ShortcutItem(
    id: "1",
    action: 'Go to url action',
    shortLabel: 'Visit Page',
    icon: 'assets/icons/url.png',
  ),
);
Update Shortcut Items

Updates shortcut items. If the IDs of the shortcuts are not same, no changes will be reflected.

flutterShortcuts.updateShortcutItems(
 shortcutList: <ShortcutItem>[
   const ShortcutItem(
     id: "1",
     action: 'Resume playing Action',
     shortLabel: 'Resume playing',
     icon: 'assets/icons/play.png',
   ),
   const ShortcutItem(
     id: "2",
     action: 'Search Songs Action',
     shortLabel: 'Search Songs',
     icon: 'assets/icons/search.png',
   ),
 ],
);
Set Conversation Shortcut

Set conversationShortcut: true in ShortcutItem to make the shortcut as conversation shortcut.

The conversation shortcut can also be set as important and bot by setting isImportant: true & isBot: true.

await flutterShortcuts.pushShortcutItems(
 shortcutList: <ShortcutItem>[
   const ShortcutItem(
     id: "1",
     action: 'open_chat_1',
     shortLabel: 'Divyanshu Shekhar',
     icon: 'assets/icons/home.png',
     conversationShortcut: true,
     isImportant: true,
   ),
   const ShortcutItem(
     id: "2",
     action: 'oepn_chat_2',
     shortLabel: 'Subham Praharaj',
     icon: 'assets/icons/bookmark.png',
     conversationShortcut: true,
   ),
   const ShortcutItem(
     id: "3",
     action: 'oepn_chat_3',
     shortLabel: 'Auto Reply Bot',
     icon: 'assets/icons/url.png',
     conversationShortcut: true,
     isBot: true,
   ),
 ],
);
Change Shortcut Item Icon

Change the icon of the shortcut based on id. If the ID of the shortcut is not same, no changes will be reflected.

flutterShortcuts.changeShortcutItemIcon(
  id: "2",
  icon: "assets/icons/next.png",
);
Get shortcut icon properties

Get the icon properties of your shortcut icon.

Map<String, int> result = await flutterShortcuts.getIconProperties();
print( "maxHeight: ${result["maxHeight"]}, maxWidth: ${result["maxWidth"]}");

Project Created & Maintained By

Divyanshu Shekhar

GitHub followers

Subham Praharaj

GitHub followers

Contributions

Contributions are welcomed!

If you feel that a hook is missing, feel free to open a pull-request.

For a custom-hook to be merged, you will need to do the following:

Describe the use-case.

  • Open an issue explaining why we need this hook, how to use it, ... This is important as a hook will not get merged if the hook doens't appeal to a large number of people.

  • If your hook is rejected, don't worry! A rejection doesn't mean that it won't be merged later in the future if more people shows an interest in it. In the mean-time, feel free to publish your hook as a package on https://pub.dev.

  • A hook will not be merged unles fully tested, to avoid breaking it inadvertendly in the future.

Stargazers

Stargazers repo roster for @DevsOnFlutter/flutter_shortcuts

Forkers

Forkers repo roster for @DevsOnFlutter/flutter_shortcuts

Copyright & License

Code and documentation Copyright (c) 2021 Divyanshu Shekhar. Code released under the BSD 3-Clause License.

所屬分類

依賴

依賴清單 1 項

  • plugin_platform_interface^2.0.0

原始碼儲存庫

使用此套件的專案

暫無相關資料。