@comingzones/cordova-plugin-aliyun-push

1.0.3 • Public • Published

cordova-plugin-aliyun-push

基于 https://github.com/log2c/cordova-plugin-log2c-aliyun-push 修改而来

Cordova 阿里云移动推送插件,现包含小米华为OPPOVIVO魅族 厂商辅助通道

依赖说明

  • Android:

    截止日期2021/01/13为止最新的依赖

  • iOS: 截止日期2020/03/05为止最新的依赖

安装

  • 安装插件

      ionic cordova plugin add ***(本地地址) \`
    
      ionic cordova plugin add https://github.com/TianKong-0512/cordova-plugin-aliyun-push \
      --variable ANDROID_APP_KEY="***" \
      --variable ANDROID_APP_SECRET="***" \
      --variable IOS_APP_KEY="***" \
      --variable IOS_APP_SECRET="***" \
      --variable HUAWEI_APPID="***" \
      --variable MIPUSH_APPID="***" \
      --variable MIPUSH_APPKEY="***" \
      --variable VIVOPUSH_APPID="***" \
      --variable VIVOPUSH_APPKEY="***" \
      --variable OPPOPUSH_APPKEY="***" \
      --variable OPPOPUSH_APPSECRET="***" \
      --variable MZPUSH_APPID="***" \
      --variable MZPUSH_APPKEY="***" \
      --variable CHANNEL_ID="1"
    
    • 注意
      • *号替换成你自己申请的密钥信息,如无则不填写或保持*号(不影响正常运行)
      • CHANNEL_ID对应Android 8.0的通知通道,根据实际情况填写(Android 8.0之后必须的通道 id)
  • Android端配置(必要)

    **插件默认没有阿里云推送初始化,所以要依据下列方式进行初始化**

    在你项目的config.xml中添加

        <platform name="android">
            <!-- ↓↓↓↓↓↓↓ 以下内容 ↓↓↓↓↓↓↓ -->
            <edit-config file="app/src/mainAndroidManifest.xml" mode="merge" target="manifest/application"
                    xmlns:android="http://schemas.androidcom/apk/res/android">
                    <application android:name="com.alipush.PushApplication" />
            </edit-config>
            <!-- ↑↑↑↑↑↑↑ 以上内容 ↑↑↑↑↑↑↑ -->
        </platform>

注意

  • Android
    • 杀死 App 点击通知无法打开 APP 的,后端推送时添加 AndroidExtParameters {open_type:"application"}

使用

ionic中使用(可选)

typescript大法好添加了ts声明,需要的可以根据下列步骤操作

  1. 根据上面步骤添加plugin
  2. 请切换到**@ionic-native**分支,根据README.md操作使用

API

    /**
     * 获取设备唯一标识deviceId,deviceId为阿里云移动推送过程中对设备的唯一标识(并不是设备UUID/UDID)
     * @param  {Function} successCallback 成功回调
     * @param  {Function} errorCallback   失败回调
     * @return {void}
     */
    getRegisterId: function(successCallback, errorCallback)

    /**
     * 阿里云推送绑定账号名
     * @param  {string} account         账号
     * @param  {Function} successCallback 成功回调
     * @param  {Function} errorCallback   失败回调
     * @return {void}
     */
    bindAccount: function(account, successCallback, errorCallback)

    /**
     * 阿里云推送解除账号名,退出或切换账号时调用
     * @param  {Function} successCallback 成功回调
     * @param  {Function} errorCallback   失败回调
     * @return {void}
     */
    unbindAccount: function(successCallback, errorCallback)

    /**
     * 阿里云推送绑定标签
     * @param  {string[]} tags            标签列表
     * @param  {Function} successCallback 成功回调
     * @param  {Function} errorCallback   失败回调
     * @return {void}
     */
    bindTags: function(tags, successCallback, errorCallback)

    /**
     * 阿里云推送解除绑定标签
     * @param  {string[]} tags            标签列表
     * @param  {Function} successCallback 成功回调
     * @param  {Function} errorCallback   失败回调
     * @return {void}
     */
    unbindTags: function(tags, successCallback, errorCallback)

    /**
     * 阿里云推送解除绑定标签
     * @param  {Function} successCallback 成功回调
     * @param  {Function} errorCallback   失败回调
     * @return {void}
     */
    listTags: function(successCallback, errorCallback)

    /**
     * 添加别名
     * @param  {Function} successCallback 成功回调
     * @param  {Function} errorCallback   失败回调
     * @return {void}
     */
    addAlias: function (alias, successCallback, errorCallback)

    /**
     * 解绑别名
     * @param  {Function} successCallback 成功回调
     * @param  {Function} errorCallback   失败回调
     * @return {void}
     */
    removeAlias: function (alias, successCallback, errorCallback)

    /**
     * 获取别名列表
     * @param  {Function} successCallback 成功回调
     * @param  {Function} errorCallback   失败回调
     * @return {void}
     */
    listAliases: function (successCallback, errorCallback)

    /**
      * 没有权限时,请求开通通知权限,其他路过
      * @param  string msg  请求权限的描述信息
      * @param {} successCallback
      * @param {*} errorCallback
      */
    requireNotifyPermission:function(msg,successCallback, errorCallback)

    /**
    * 阿里云推送消息透传回调
    * @param  {Function} successCallback 成功回调
    */
    onMessage:function(sucessCallback) ;

    # sucessCallback:调用成功回调方法,注意没有失败的回调,返回值结构如下:
    #json: {
      type:string 消息类型,
      title:string '阿里云推送',
      content:string '推送的内容',
      extra:string | Object<k,v> 外健,
      url:路由(后台发送推送时,在ExtParameters参数里写入url如{url:'demoapp://...'})
    }

    #消息类型
    {
      message:透传消息,
      notification:通知接收,
      notificationOpened:通知点击,
      notificationReceived:通知到达,
      notificationRemoved:通知移除,
      notificationClickedWithNoAction:通知到达,
      notificationReceivedInApp:通知到达打开 app
    }

常见问题

  1. Android 8.0以上无法获取到Token 检查是否配置了network_security_config.xml信息,具体百度了解

  2. iOS无法获取到Token Xcode中确认开启以下两项

Readme

Keywords

none

Package Sidebar

Install

npm i @comingzones/cordova-plugin-aliyun-push

Weekly Downloads

0

Version

1.0.3

License

none

Unpacked Size

46.5 MB

Total Files

74

Last publish

Collaborators

  • comingzones2020