如何让通知变的真正有用,本地通知和远程通知

作者: 单机游戏资讯  发布:2019-05-21

通知是我们和未打开 App 的一种交流,但所有通知都是必要的吗?我们真的需要这么多通知吗?当然不是,有很多通知根本不需要出现,他们的出现除了浪费我们双击一下那个「X」 的时间外时并没有任何作用,那么我们如何让通知变得真正有用呢?

本文主要讲述了iOS的本地和远程通知的基本使用,以及某些不易注意的问题。

不知道还有多少人记得 Nokia 借赫明迪之手重回手机市场之前发布的 Z Launcher,虽然它早就淹没在了各种的第三方启动器之中,但以列表的形式来组织主屏内容却不失为一个有趣的尝试。而我们今天的主角 Niagara Launcher 不仅继承了这样的形式,还成功地将其和 Android 当前的特性结合在一起,在第三方启动器差异化越来越小的今天成为了一个独特的存在。

在我看来第一步首先应该把通知分为「打开的」和「关闭的」两类。

如何让通知变的真正有用,本地通知和远程通知。Note:文章有不少身旁同学提供了帮助,大量引用或转载本文请声明原文地址,多谢。

第一次启动 Niagara,在启动动画结束之后,需要用户选择同意用户协议,同时在这页也可以进行默认启动器的设置,然后用户只需要选数量上限八个的常用应用就完成了基本设置。

应该打开通知的 App

iOS中存在三种常见的事件通知方式:NSNofiticationCenter、KVO Notification 和 User Notifications,其中 User Notifications,就是本文将要探讨的用户通知。

图片 1

应该打开通知的 App 是哪一些呢?应该是那些你看到便要去点击它,去通过它处理某些事情的和看到它便要去做某些不可推迟的事的。举两个例子:

如何让通知变的真正有用,本地通知和远程通知。我们都知道 iOS 系统经常的有一些与 App 相关的通知栏消息,这些消息往往伴随着提示音以及 App 的桌面图标右上角的未读消息提示,这些通知就是 iOS 的用户通知。

如何让通知变的真正有用,本地通知和远程通知。其实我也不明白为什么用户协议和默认桌面放一起不再伸手去够通知栏

即时通讯应用如何让通知变的真正有用,本地通知和远程通知。。这类通知对时间要求比较高,大部分是收到了就要马上要回复一下,所以像这类 App 的通知应该是打开的。或者这么说,你收到一条即时通讯 App 的讯息,你是需要判断是否立刻回复,所以应该打开这类 App 的通知。

用户通知分为两类:本地通知和远程通知,其中远程通知又称为推送通知。

也许你会觉得只有八个应用的主屏有点过于简洁甚至是简陋,但不要被它的表象所迷惑。尽管 Niagara 不支持桌面 Widget,也没有常见的应用 Dock,但它主屏的列表却囊括了从第三方启动器标配的应用快捷方式(App Shortcuts)和通知角标(尽管其实是没有小圆点)到 Pixel Launcher 上常见的天气、搜索部件再到媒体控制,通知快捷回复这样的特色功能,它真的做到了如小标题中所写,几乎可以让我们告别「伸手去够通知栏」这种体验。

如何让通知变的真正有用,本地通知和远程通知。待办事项应用。这类 App 的作用其实很符合通知这个名字,就是通知你该干什么,所以这类 App 的通知应该打开。

两者最主要的区别是:本地通知是由 App 发送到当前设备上,不需要网络支持;而远程通知是由 App 的服务器发送到苹果的 APNs 服务器,并由 APNs 服务器转发到相应设备(由 App 服务器指定接收通知的设备)。

应用快捷方式和通知角标

应该关闭通知的 App

两者最主要的共同点是:本地通知和远程通知对用户的表现形式是相同的,两者均可以采用通知栏消息、App 桌面图标右上角角标和提示音的方式通知用户。

与其他启动器不同的是,长按图标这个动作在 Niagara 上成为了一个应用图标有关的设置诸如更换或隐藏图标、添加到收藏或从中移除,打开应用快捷方式则变成了于图标所在行进行右划。也许是由于应用尚未正式发布的原因,我在这部分并没有看到有关的引导,对于新用户可能会造成一些困惑。

这类 App 应该是你只是在需要的时候才会进这些 App,其他时候并不需要和这个 App 有什么联系的。举两个例子:

及时有效的(无论是在前台还是后台)向用户发送消息(聊天信息、新闻、待办事项、天气变化等)是用户通知最大的优势。

而常常和应用快捷方式一起出现的则是在 Android O 中引入的通知角标特性,当收到通知时在对应 App 图标上显示圆点,在 Pixel Launcher 上长按图标则会同时显示这条通知和应用快捷方式。前面提到了事实上 Niagara 的通知角标并没有小圆点,得益于使用列表显示应用,它用了更加直观的方式:在图标右侧直接显示出通知详情。当然这里由于具体应用的不同导致最后效果存在差异,以 QQ、微信和 Telegram 为例,微信和 Telegram 都顺利的显示出了发送者名称和内容,而 QQ 只显示出了发送者名称。整体上来说,这仍然是一个更加直观的展示方式。

单机游戏。例如 Mr Jump 这些游戏就是你在想打发时间的时候才会去点击它,所以在其它时间它就没有必要出现。(为什么说单机呢?因为有些联网游戏可能会通过通知来告诉你:你被袭击了)

此外,有效合理的使用用户通知,可以让我们的 App 有更好的体验,如:

图片 2

修图应用。修图 App 你要通知干什么?至今没办法想通的问题。

  • 当待办事项将要过期时可以及时提醒用户;
  • 当用户执行下载大文件任务时进入后台,当下载完成后可以通知用户;
  • 当用户环球旅行时,可以根据用户的地理位置推送天气变化等信息;
  • 当用户订阅的某杂志或新闻主题有更新时,通知用户;
  • ……

QQ 你是不是需要反思一下了?

在将打开和关闭的两类分好后,我们就需要对打开通知的 App 进行进一步的设置。

本文后续内容将以应用开发者的角度对用户通知进行深入的探讨,本文讨论内容针对iOS7/8/9,有关 iOS10 系统的用户通知会另做讲解。

与 Pixel Launcher 相同的是,Niagara 打开应用快捷方式同样会显示通知内容。但不同之处在于,以往需要拉下通知抽屉才能进行的快速回复和快捷操作,现在会像通知抽屉中一样直接显示在通知下方,在我看来整体的操作逻辑更加自然了。当然进行快捷回复操作的前提是需要应用的适配(意味深长地望向 QQ 和微信)。不过你可以考虑使用 Nevolution 来手动给微信添加快捷回复特性。

我们要对一个 App 的通知进行设置,你需要点击:

这里可下载 本文demo 。此外,本文中的远程通知使用了 Simplepush.php ,内部代码很简单,可使用该脚本自定义远程通知的内容,当然可以使用 本文demo 里我修改过的脚本文件,建议花几分钟查看以下 Simplepush.php 的用法。此外,demo 不提供证书,如有远程通知需求,请自行申请证书,否则无法正常使用 Simplepush。

图片 3

设置 - 通知 - 你想修改的 App

本文主要参考了苹果官方的 Local and Remote Notification Programming Guide 以及本文用到的接口的官方文档。

QQ、微信你俩一起反思吧掌控一切的媒体控件

以微博为例,你会看到下面这个界面:

  • 对于 iOS7,如果用户没有在系统设置里关闭该 App 的通知功能,那么开发者无需做任何操作即可使用本地通知功能。

  • 对于 iOS8 及以后的系统,若需要使用本地通知功能,则需要注册通知类型。通知类型有四种:角标(UIUserNotificationTypeBadge)、提示音(UIUserNotificationTypeSound)、提示信息(UIUserNotificationTypeAlert)和无任何通知(UIUserNotificationTypeNone)。

    你可以注册上诉四种通知类型的任意组合,但最终可用的通知形式需要根据用户对此 App 通知的设置确定。比如:App 内部注册了角标、提示音和提示信息,但是用户关闭了声音通知,那么收到本地通知时是不会有提示音的。对于 iOS8 及以后的系统,注册本地通知的代码示例如下:

    - application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 只有 iOS8 and later 才需要 if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerForRemoteNotifications)]) { // 这里 types 可以自定义,如果 types 为 0,那么所有的用户通知均会静默的接收,系统不会给用户任何提示(当然,App 可以自己处理并给出提示) UIUserNotificationType types = (UIUserNotificationType) (UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert); // 这里 categories 可暂不深入,本文后面会详细讲解。 UIUserNotificationSettings *mySettings = [UIUserNotificationSettings settingsForTypes:types categories:nil]; // 当应用安装后第一次调用该方法时,系统会弹窗提示用户是否允许接收通知 [[UIApplication sharedApplication] registerUserNotificationSettings:mySettings]; } // Your own other codes. return YES;}
    

授予了相应权限之后,你会发现你可以直接在桌面主页上进行媒体控制了。就如小标题中「掌控一切」,几乎所有在通知栏显示媒体控件的 App 都被支持。在我常用的服务测试中,Spotify,SoundCloud,乃至哔哩哔哩和 Chrome 的支持都很完善;而 QQ 音乐和 Google Podcast 都显示出了文字信息,但缺少了封面;唯一出现大问题的是使用网易云音乐时,即便在设置中将通知栏样式设置为「系统样式」在桌面上以然无法显示专辑封面和文字信息,但控制功能仍然可用。同时预先设定好样式的控件也避免了控件风格与桌面样式冲突的情况,

本文由bg游戏资讯发布于单机游戏资讯,转载请注明出处:如何让通知变的真正有用,本地通知和远程通知

关键词: 产品经理入门 通知 iOS 启动器

上一篇:资讯精华盘点,AIDASS模型思考
下一篇:没有了