【プラグイン】Macで通知を表示する

前のトピックを表示 次のトピックを表示 Go down

【プラグイン】Macで通知を表示する

投稿 by miyako on 2016-07-23, 5:34 am

v14以降,DISPLAY NOTIFICATIONがMacにも対応し(Windowsはv2004から),OS X 10.8の「通知」が表示できるようになりました。

ただ,通知は4Dが最前面のときは表示されない「仕様」になっています。

Appleのガイドラインに準拠している,ということなのですが,
それでも敢えて通知を表示したいことがあるかもしれません。

Growlプラグインは,通知を表示し,コールバックメソッドで反応を処理することができます。

1. 10.8以降でGrowlが動いていなければシステム通知
2. 10.7以前でGrowlが動いていなければMIST(Growlに依存しない簡単な通知)
3. Growlが動いていればGrowlで通知

(GrowlはApp Storeで480円)

https://github.com/miyako/4d-plugin-growl


最終編集者 miyako [ 2016-09-15, 3:29 pm ], 編集回数 1 回

miyako

投稿数 : 204
登録日 : 2016/07/05

トップに戻る Go down

Re: 【プラグイン】Macで通知を表示する

投稿 by shozo Oe on 2016-07-24, 8:25 pm

DISPLAY NOTIFICATION(Mac)の場合、
ドキュメントは「Appleの仕様に基づけ、通知メッセージは、アプリケーションが前面にない場合にのみ表示されるという点に注意して下さい。しかしながら、メッセージは通知センターのには表示されます。」とあります。(原文ママ)
とするとどういう実装になるんでしょうか。
ウインドウを表示しているあいだ、on timerイヴェントかなにかで通知される内容をチェックするようにするのだとは思いますが、、

shozo Oe

投稿数 : 16
登録日 : 2016/07/12

トップに戻る Go down

Re: 【プラグイン】Macで通知を表示する

投稿 by miyako on 2016-07-25, 9:20 am

欠落しているテキストは「通知センターのリスト」つまり履歴には表示される,だと思います。
つまり,画面の右側から通知がスライドするように表示されることはないが,
メニューバーの「通知センター」アイコンをクリックすると通知の内容が確認できる,ということです。

実装ですが,On Timerなどを使用するのではなく,
飽くまで画面上の通知(たとえば変数にメッセージを代入するなど)を主とし,
DISPLAY NOTIFICATIONはそれを補うサブという位置づけにするのが正しいと思います。

つまり,プログラム上は常に両方の方法でフィードバックを提供するようにし,
4Dが最前面であれば,画面上でメッセージを確認することができるので通知は不要,
4Dが最前面でなければ通知センターで注意を喚起する,という実装をします。
(「メール」や「Xcode」などもそのように通知を使用しています。)

なお,4DのDISPLAY NOTIFICATIONは,ユーザーによるクリックを検出することができません。
通知したらしっぱなし,です。

私が知る限り,BUILD APPLICATIONだけが内部的に通知を使用しているようですが,
もしかしたら他にもあるかもしれません。

アプリケーションが最前面であっても通知を表示したり,
通知がクリックされたときにコードを実行するためには,
Objective-Cレベルで「delegate」を定義する必要があります。

興味ある方はこちらのソースコードが参考になるかもしれません・・・
https://github.com/miyako/4d-plugin-user-notification

miyako

投稿数 : 204
登録日 : 2016/07/05

トップに戻る Go down

Re: 【プラグイン】Macで通知を表示する

投稿 by Sponsored content


Sponsored content


トップに戻る Go down

前のトピックを表示 次のトピックを表示 トップに戻る


 
Permissions in this forum:
返信投稿: 不可