パッケージ、リポジトリ、アプリカテゴリを検索

flutter_shortcuts のカバー
パッケージ詳細v1.3.0

flutter_shortcuts

ホーム画面に静的および動的なアプリ/会話のショートカットを作成するためのFlutterプラグイン。

AndroidiOS
30日間ダウンロード
63
いいね数
147
Pub ポイント
140

パッケージをインストール

flutter pub add flutter_shortcuts

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

Flutter Shortcuts は、Android および iOS のホーム画面にアプリおよび会話の静的および動的ショートカットを作成できるプラグインです。ユーザーがデバイスのホーム画面からアプリ内の特定の機能や会話にすばやくアクセスできるようにし、ユーザーエクスペリエンスとエンゲージメントを向上させます。このプラグインは Flutter アプリにシームレスに統合され、両方のプラットフォーム固有のショートカットタイプをサポートしています。開発者はプログラムでショートカットを定義するか、構成ファイルを通じて静的に定義でき、コンテキスト対応のアクションを簡単に実装できます。ネイティブOSのショートカット機能を活用することで、発見性と使いやすさが向上します。

用途

  • アプリ内機能への素早いアクセス
  • 会話スレッドへの直接ナビゲーション
  • ユーザー生産性の向上
  • ホーム画面からのディープリンクを有効化する
  • コンテキストアクションのサポート

主な機能

  • 静的および動的ショートカットをサポートしています
  • クロスプラットフォーム(Android および iOS)
  • Flutter との簡単な統合
  • ネイティブOSショートカットレンダリング
  • コードまたはマニフェスト経由で構成可能
  • コンテキスト認識型ショートカット作成

適している対象

  • 迅速な機能アクセスが必要なアプリ
  • メッセージングまたはチャットアプリケーション
  • 生産性ツール
  • ユーザー中心設計の実装
  • 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

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。