简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网
我猜去全部机翻+个人修改补充+demo测试的形式,对expo进行一次大补血!欢迎加入expo兴趣学习交流群:597732981
【之前我写过一些列关于expo和rn入门配置的东i西,大家可以点击这里查看:从零学习rn开发】
相关文章:
Expo大作战(一)--什么是expo,如何安装expo clinet和xde,xde如何使用
Expo大作战(二)--expo的生命周期,expo社区交流方式,expo学习必备资源,开发使用expo时关注的一些问题
Expo大作战(三)--针对已经开发过react native项目开发人员有针对性的介绍了expo,expo的局限性,开发时项目选型注意点等
Expo大作战(四)--快速用expo构建一个app,expo中的关键术语
Expo大作战(五)--expo中app.json 文件的配置信息
Expo大作战(六)--expo开发模式,expo中exp命令行工具,expo中如何查看日志log,expo中的调试方式
Expo大作战(七)--expo如何使用Genymotion模拟器
Expo大作战(八)--expo中的publish以及expo中的link,对link这块东西没有详细看,大家可以来和我交流
写在二十三章以后的话,之前的翻译,不管如何,好与不好,终究是告一段落,也把expo基础理论的东西又深入的理解了一遍,后续expo大作战系列将主要介绍expo sdk的api。
通知 Notification
提供对远程通知(也称为推送通知)和本地通知(计划和即时)相关功能的访问。
订阅通知
Expo.Notifications.addListener(listener)
参数
listener(function) - 当收到或选择远程或本地通知时使用通知对象调用的回调。返回
一个EventSubscription对象,当您想要取消订阅侦听器时,您可以调用remove()。相关类型
EventSubscription
从addListener返回。
- remove()(function) - 从将来的通知中取消订阅侦听器。通知
收到通知时传递给每个事件侦听器的对象:
- origin (string) - 选择或接收。如果用户点击通知,则选择该选项,如果在用户进入应用程序时收到通知,则选择该选项。
- data (object) - 通知附带的任何数据。
- remote(boolean) - 如果通知是推送通知,则为true;如果是本地通知,则为false。
通知
Expo.Notifications.getExpoPushTokenAsync()
返回
返回解析为标记字符串的Promise。该令牌可以提供给expo通知后端,以向该设备发送推送通知。请阅读推送通知指南。
Expo.Notifications.presentLocalNotificationAsync(localNotification)
立即触发本地通知。参数
localNotification(object) - 具有LocalNotification中所述属性的对象。返回
承诺解析为唯一的通知ID。Expo.Notifications.scheduleLocalNotificationAsync(localNotification,schedulingOptions)
安排一个本地通知,以便在将来的某个特定时间或在给定的时间间隔内触发。参数
localNotification(对象) -具有LocalNotification中所述属性的对象。
schedulingOptions(object) -
描述何时应该触发通知的对象。
- time (date or number) - 表示何时在Unix纪元时间触发通知或数字的Date对象。例如:(new Date())。getTime()+ 1000从现在开始是一秒。
- 重复(可选)(字符串) - “分钟”,“小时”,“日”,“星期”,“月”或“年”。(repeat (optional) (string) —
'minute'
,'hour'
,'day'
,'week'
,'month'
, or'year'
.)- (仅限Android)intervalMs(可选)(number) - 以毫秒为单位重复间隔
返回
承诺解析为唯一的通知ID。Expo.Notifications.dismissNotificationAsync(localNotificationId)
仅限Android。使用给定的ID取消通知。参数
localNotificationId(number) - 从scheduleLocalNotificationAsync或presentLocalNotificationAsync返回的分配给通知的唯一标识。Expo.Notifications.dismissAllNotificationsAsync()
仅限Android。清除应用已呈现的所有通知。Expo.Notifications.cancelScheduledNotificationAsync(localNotificationId)
取消与给定ID相对应的预定通知。参数
localNotificationId(number) - 从scheduleLocalNotificationAsync或presentLocalNotificationAsync返回的分配给通知的唯一标识。Expo.Notifications.cancelAllScheduledNotificationsAsync()
取消所有预定的通知。相关类型(Related types)
LocalNotification
用于描述您想要呈现或计划的本地通知的对象。title (string) - 通知的标题文本
body (string)) - 通知的正文文本。
data (optional) (object) - 通知附带的任何数据。
ios (optional) (object) - 特定于iOS的通知配置。
- sound (optional) (boolean) - 如果为true,则播放声音。默认值:false。
android (optional) (object) - 特定于Android的通知配置。
- sound (optional) (boolean) - 如果为true,则播放声音。默认值:false。
- icon (optional) (string) - 要在通知抽屉中显示的图标的URL。
- color (optional) (string) - 通知抽屉中通知图标的颜色。
- color (optional) (string) - android可根据优先级显示通知,例如高优先级通知可能会显示为单向通知。
- sticky (optional) (boolean) - 如果为true,通知将变得粘稠并且不会被用户忽略。通知必须以编程方式解除。默认值:false。
- vibrate (optional) (boolean or array) - 如果为true,则振动设备。可以提供阵列来指定振动模式,例如, - [0,500]。
- link (optional) (string) - 选择通知时打开的外部链接。
应用图标徽章编号(iOS)(App Icon Badge Number (iOS))
Expo.Notifications.getBadgeNumberAsync()
返回
返回可解析为应用程序图标上的徽章中显示的数字的承诺。当没有徽章时(或在Android上)时,此方法返回零。Expo.Notifications.setBadgeNumberAsync(
number
)将应用程序图标徽章中显示的数字设置为给定数字。将该数字设置为零将清除徽章以及iOS设备通知中心的通知列表。在Android上,这个方法什么都不做。
仅限独立应用程序
Expo.Notifications.getDevicePushTokenAsync(config)
注意:大多数人不需要使用这个。使用getExpoPushTokenAsync更容易,除非您有特定的理由需要实际的设备令牌。我们也不保证iOS和Android客户端将继续期待相同的推送通知有效载荷格式。返回可用于其他推送通知服务的本机APNS或GCM令牌。
参数
- config(object) - 包含以下字段的对象:
- gcmSenderId(字符串) - GCM发件人ID。
返回
承诺解析为具有以下字段的对象:
- type (string) - “apns”或“gcm”。
- data (string) - 推送令牌作为字符串。
下一张继续介绍,这一篇主要介绍了:expo sdk api之Noifications!,欢迎大家关注我的微信公众号,这篇文章是否被大家认可,我的衡量标准就是公众号粉丝增长人数。欢迎大家转载,但必须保留本人博客链接!