npm 包 jpush-custom-react-native 使用教程

简介

jpush-custom-react-native 是一个用于 React Native 框架的推送插件。JPush(极光推送)是一款专业的推送服务,它提供了一系列高效、可靠的推送解决方案,如广播推送、别名推送、标签推送、自定义键值对推送等等。

在本教程中,我们将讲解如何使用 jpush-custom-react-native 插件在 React Native 项目中实现极光推送的功能。

安装

通过 npm 安装 jpush-custom-react-native 插件:

--- ------- ------------------------- ------

配置

Android

  1. 在 Android 项目中找到 AndroidManifest.xml 文件,在里面加入以下权限:

    ---- ------- ---
    ---------------- -------------------------------------------------------- --
    ---------------- ------------------------------------------------------ --
    ---------------- --------------------------------------------------- --
    ---------------- -------------------------------------------------- --
    ---------------- ----------------------------------------- --
    ---------------- -------------------------------------------------------- --
    ---------------- -------------------------------------------------------- --
    ---------------- ------------------------------------------------------ --
    ---------------- ---------------------------------------- --
    ---------------- ---------------------------------------------- --
    ---------------- ------------------------------------------------------- --
    ---------------- ----------------------------------------------- --
    ---------------- ---------------------------------------------- --
    ---------------- ------------------------------------------------ --
  2. 在 AndroidManifest.xml 文件的 application 标签中加入以下 meta-data:

    ---------- --------------------------- ---------------------------- --
    ---------- ---------------------------- ---------------------------- --

    其中,YOUR_APP_KEY 和 YOUR_CHANNEL 分别为你在极光推送控制台上创建的应用的 AppKey 和 Channel。

  3. 在 AndroidManifest.xml 文件的 application 标签中加入以下 service:

    --------
        ---------------------------------------------------
        ----------------------
        ------------------------ -
        -------------- -
            ------- ----------------------------------------------- --
            ------- --------------------------------------------- --
            ------- -------------------------------------------------- --
            ------- ------------------------------------------------ --
        ----------------
    ----------

    上面这段代码会监听 jpush 推送服务的各种事件,并根据事件类型来做出相应的操作。

  4. 在 AndroidManifest.xml 文件的 application 标签中加入以下 receiver:

    ---------
        ----------------------------------------------------
        ---------------------- -
        -------------- ----------------------- -
            ------- ------------------------------------------------------------------ --
            --------- ------------------------------- --
        ----------------
        ---------------
            ------- --------------------------------------------------- --
            ------- ----------------------------------------------------- --
            ------- ------------------------------------------------------- --
            ------- ------------------------------------------------------------ --
            ------- ---------------------------------------------------------- --
            ------- --------------------------------------------------------------- --
            --------- ------------------------------- --
        ----------------
        ---------------
            ------- ------------------------------------------------- --
            --------- ------------------------------- --
        ----------------
        ---------------
            ------- --------------------------------------------------- --
            --------- ------------------------------- --
        ----------------
        ---------------
            ------- -------------------------------------------------- --
            ------- ---------------------------------------------------- --
            ----- ------------------------ --
        ----------------
    -----------

    这一段代码将监听 jpush 的各种广播事件,包括接收到消息、打开通知、网络连接状态变化等等。

  5. 在你的 React Native 项目的 MainActivity.java 文件中加入以下代码:

    ------ ------------------------------------
    
    ------ ----- ------------ ------- ------------- -
    
        ---------
        --------- ---- ---------- -
            -----------------
            ------------------------------
        -
    
        ---------
        --------- ---- --------- -
            ----------------
            -----------------------------
        -
    -

    这里定义了两个生命周期方法 onResume 和 onPause,在这里调用 JPushInterface 的 onResume 和 onPause 方法,以便 jpush 能够正确地处理活动状态。

iOS

  1. 在 Xcode 中打开你的 iOS 项目,找到你的项目文件夹,右击,选择 New File,然后选择 Property List。在弹出的窗口中选择 Information Property List。

  2. 在你刚刚创建的 Info.plist 文件中,添加以下 key-value:

    -----------------------------
    ---------------------------------------------
    -----------------------
    -----------------------------
    ----------------------------
    -------
      ------------------------------------
    --------

    其中,YOUR_APP_KEY 为你在极光推送控制台上创建的应用的 AppKey。

  3. 在你的 AppDelegete.m 文件中加入以下代码:

    ------- ------------------------------------
    ------- ---------------
    
    --------------- -----------
    
    - -------------------------------- ------------- ------------------------------------------- ---------------
    -
        -- --- ----- ---
        ------------- ----------------------------- ----------------------
                              ------------------ ---------------------
    
        ------ ----
    -
    
    -- --------
    - -------------------------------- ------------- --------------------------------------------------------------- ---------------------- -
        ------------ --------------------------------
    -
    
    -- -- -----------
    - -------------------------------- ------------- -------------------------------------------------------- ------------- -
        ------------- ---------------------------------
    -
    
    -- --------
    - -------------------------------- ------------- ------------------------------------------ ---------- -
        -- ---------- --- --------------
        ------------- -----------------------------------
    -
    
    -- -----------------------------------------
    - -------------------------------- ------------- ------------------------------------------ ---------- ---------------------------- ---------------------------------------------- -
        -- ---------- --- --------------
        ------------- -----------------------------------
    
        -- -- ----------------
        --------------------------------------------------
    -
    
    -- -----------------------
    - -------------------------------- ------------- ------------------------------------------ ----------
    ---------------------------- ---------------------------------------------- -
        ------------- -----------------------------------
    
        --------------------------------------------------
    -
    
    -- ---------------
    - --------------------------------------------------- ------------- -
        ------------- ------------
    
        -- -------------
        --------------- ------------------ -----------------------------
    -
    
    -- ------------------
    - --------------------------------------------- ------------- -
        --------------- ------------------ -----------------------------
    -
    
    ----

    上面这段代码实现了 JPush SDK 的初始化、设备 token 的注册、接收远程推送消息并做出相应的响应。需要特别注意的是,在应用在前台接收到远程推送消息、或者应用从后台进入前台时,需要取消通知栏显示的未读消息数。

使用

查看设备 ID

你可以使用以下代码查看设备 ID:

------ ----- ---- ----------------------------
-------------------------------------- -- -
  ----------------------------
---

发送本地通知

你可以使用以下代码发送本地通知:

------ ----- ---- ----------------------------
--------------
  -------- -- -- -- --
  --- -- -- ----- --
  ------ ------- -- ----
  -------- ------- -- ----
  ------ - ----- --------- -- -- -------
  --------- --- ---------------- -- ----
---

发送推送消息

你可以使用以下代码发送推送消息:

------ ----- ---- ----------------------------
-----------------------------
  ------- -- -- ----
  ------ ------- -- ----
  -------- ------- -- ----
  --------- ---------- -- --------- ------- - ---
  ------- - ----- --------- -- -- -------
  ------------------ -------- -- -----
  -------------------- ------- -- -----
---

接收推送消息

你可以使用以下代码在 React Native 项目中接收推送消息:

------ - ----- - ---- ---------------
------ ----- ---- ----------------------------
----------------------------------------- -- -
  ------------------- -------------------------
---

上面这段代码中,我们使用了一个 Alert 对话框,以便查看接收到的消息内容。实际使用时,你可以将消息存入数据库或者业务系统中,以便做出相应的操作。

总结

本文主要介绍了如何使用 jpush-custom-react-native 插件在 React Native 项目中实现极光推送的功能。我们分别详细讲解了在 Android 和 iOS 平台的配置方法,以及如何使用 jpush-custom-react-native 插件发送本地通知和推送消息,接收推送消息等等。

相信通过本篇文章的学习,你已经能够掌握 jpush-custom-react-native 插件的使用方法,并在实际项目中应用它来实现极光推送功能。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005536d81e8991b448d0a0d


猜你喜欢

  • npm 包 react-native-youtube-fork 使用教程

    在 React Native 开发中,使用第三方库和组件是必不可少的。而其中一个非常重要的库就是 React Native YouTube Fork,它可以帮助开发者在 App 中集成 YouTube...

    2 年前
  • NPM 包 Sequelize-Fulltext 使用教程

    介绍 Sequelize-Fulltext 是 Sequelize 的一个扩展包,它可以为 Sequelize 的模型对象添加全文搜索的能力。使用它可以方便地实现模型对象的全文检索功能。

    2 年前
  • npm 包 asset-redirect-webpack-plugin 使用教程

    在前端开发过程中,我们常常使用 Webpack 打包工具来优化项目代码的性能和可维护性。其中包括将 JavaScript、CSS、图片等静态资源进行压缩、拆分和缓存等优化处理。

    2 年前
  • npm包egg-kafka使用教程

    简介 egg-kafka是阿里开源的Egg.js框架的一个插件,为开发人员提供了使用Kafka的能力。Kafka是一个高性能、高吞吐量的分布式消费消息系统,广泛应用于大规模数据处理、日志管道、实时监控...

    2 年前
  • 介绍npm包fis3-command-svn

    在前端开发中,代码版本管理非常重要。svn(Subversion)是常用的一种版本控制工具,方便团队协作、版本追踪和代码回滚。为了更好的管理前端项目,我们可以使用npm包fis3-command-sv...

    2 年前
  • npm 包 rwell-fastclick 使用教程

    在前端开发中,点击事件处理是经常用到的一个功能。然而,随着移动端设备的普及,点击事件的触发会有一定程度的延迟,从而影响用户的使用体验。为了解决这个问题,我们可以使用 rwell-fastclick 这...

    2 年前
  • npm 包 abortable-promise 使用教程

    什么是 abortable-promise? abortable-promise 是一个可以中断的 Promise,能够及时取消不必要的异步请求或任务,提高网站性能和用户体验。

    2 年前
  • npm 包 lghetalia 使用教程

    简介 lghetalia 是一款基于 React 的开源前端 UI 库,提供了丰富的组件和样式,适用于各种类型的 Web 应用程序。lghetalia 的设计理念是简洁易用,同时也支持自定义样式和主题...

    2 年前
  • npm 包 fsstatwithpath 使用教程

    前言 在前端开发中,我们经常需要对本地文件进行读写操作。而 Node.js 提供了一个核心模块 fs(即 file system),专门用于处理文件系统的读写操作。

    2 年前
  • NPM包lin3s-css-grid使用教程

    在构建现代网站时,响应式布局(CSS网格)是至关重要的。CSS网格可以帮助您轻松快速地构建网站并确保其兼容各种设备和屏幕尺寸。这里我们将介绍一个免费的NPM包,名为lin3s-css-grid,它提供...

    2 年前
  • npm 包 npmsniff 使用教程

    在前端开发中,经常需要引入各种各样的第三方库来满足不同的需求。npm 是一个广泛使用的 JavaScript 包管理器,有着数量庞大的可用包,可以让我们在开发过程中更加高效地引用和管理第三方库。

    2 年前
  • npm 包 vue-h-sticky 使用教程

    随着页面的不断发展和创新,需求变得越来越多样化,为了满足出现的各种需求,前端的工具和库也在不断地更新和发展。vue-h-sticky 就是其中的一种,它是一个 Vue.js 组件库,可以实现一个具有固...

    2 年前
  • npm 包 ghost-hapi-server 使用教程

    在前端开发中,经常需要开发后端服务来支持前端应用程序。为了方便开发者,npm 生态系统中出现了很多后端服务框架。本文将介绍一种名为 ghost-hapi-server 的 npm 包,它是一个基于 H...

    2 年前
  • npm 包 generator-ng-comp 使用教程

    简介 generator-ng-comp 是一款可以帮助前端工程师快速生成 Angular 组件的 npm 包。使用 generator-ng-comp 可以极大地提高开发效率,减少重复的工作。

    2 年前
  • npm包jazzer使用教程

    简介 Jazzer 是一款支持 JavaScript 和 TypeScript 的代码覆盖率工具。它可用于 Android 应用程序和服务的自动化测试。Jazzer 带有广泛的分析、覆盖率、评估和反馈...

    2 年前
  • 使用 ng-hal-bantics npm 包进行前端开发

    前言 在前端开发中,我们经常需要使用到各种第三方 npm 包来帮助我们更加高效的完成工作。在这些 npm 包中,ng-hal-bantics 就是其中一个非常优秀的 npm 包,它可以帮助我们更好的处...

    2 年前
  • npm 包 nodejstutorialmmsmsy 使用教程

    简介 nodejstutorialmmsmsy 是一个基于 Node.js 的 npm 包,旨在帮助前端开发者更加深入地了解和掌握 Node.js,从而提高开发效率和工作质量。

    2 年前
  • npm 包 @vovkasm/fetch-ponyfill 使用教程

    前言 在前端开发中,经常要与后台服务器进行数据交互,而 ajax/fetch 是我们常用的请求方式。fetch 不仅支持 Promise,减少回调嵌套,还支持 Stream,提高请求性能。

    2 年前
  • npm 包 gulp-css-img-sprite 使用教程

    在前端开发中,经常会遇到需要将多张图片合成一张 sprite 图片,以减小页面请求次数和加快页面加载速度的问题。gulp-css-img-sprite 就是一个非常方便的 npm 包,可以自动生成 s...

    2 年前
  • npm 包 let-in 使用教程

    在 JavaScript 中,我们经常需要从一个对象中提取出若干个属性,这时我们通常会使用解构赋值语法: ----- - ----- --- - - -------但是,如果这个对象很大,我们只需要提...

    2 年前

相关推荐

    暂无文章