更新记录

1.5(2025-08-11)

1、初始化时fallbackToSettings设置默认值为false

1.4(2025-08-11)

1、去掉interface.uts中systemConfig配置,修改初始化方法,将appId作为初始化方法的参数传递进去。

1.3(2025-08-11)

1、doc: 更新readme文件,增加网友们集成时常遇见的问题和解决方法。

查看更多

平台兼容性

uni-app(4.21)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - 4.4 -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - -

uni-app x(4.21)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - - -

hy-oneSignal

开发文档

UTS 语法 UTS API插件 UTS uni-app兼容模式组件 UTS 标准模式组件 Hello UTS

纯国外服务推送平台,基于oneSignal封装的UTS插件,支持iOS、Android,可自定义推送渠道(HUAWEI、FCM等)

使用说明

原SDK叫做OneSignal,官网是OneSignal,使用前需在官方注册账号并创建应用,可参考开发文档(非常详细)。 推送可以在OneSignal官网上dashboard进行推送,也可以通过RestApi进行推送,推送功能丰富。如果集成使用时遇到问题,可以参考最下方【常见问题】部分

  1. 推送。 (1) Dashboard后台推送,类似极光、个推,可自定义各种参数

(2)利用Postman RestApi推送

  1. 查看订阅。查看成功集成并初始化的设备,方便检测集成中的问题

  2. 查看推送历史。可以查看送达数、CTR等信息

这是一款OneSignal的uts插件,用于uniapp在iOS和Android端集成推送功能,且完全是使用纯海外服务。 目前暴露以下几个api,如有业务需要可定制增加其他api。

//初始化
export declare function initOSPush(appId: string) : void

//设置消息监听
export declare function addListener(notiCallback : HYNotificationCallback) : void

//登录,设置externalId
export declare function login(externalId : string) : void

//退出登录,清空alias
export declare function logout() : void

//设置alias
export declare function setAlias(alias_label : string, value : string) : void

/使用说明:/

一、头文件导入

import * as OSPush from '@/uni_modules/hy-oneSignal'

二、方法调用


在App.vue或其他合适的地方(根据业务需求)中完成登录,并设置别名alias以及收到推送的监听方法

2.1 初始化,传入appId
OSPush.initOSPush('your appId on OneSignal')

2.2 登录
OSPush.login('xhy')

2.3 设置别名
OSPush.setAlias('alias', '1217')

2.4 设置监听方法
OSPush.addListener((notification) => {
    // 监听通知栏消息的点击
    if (notification.type == 'click') {
        console.log('点击了通知栏消息', notification)
    }
    // 监听在线推送消息
    if (notification.type == 'display') {
        console.log('接收到的消息内容', notification)
    }
})

四、通过Api发送通知或者在OneSignal后台发送通知,完成测试。

五、常见问题

1、cli创建的项目使用普通授权时,由于插件加密,导致import头文件提示No such file, open **/uni_modules/hy-OneSignal?uts-proxy

此时可以参考这篇文章,手动安装依赖:"@dcloudio/uni-uts-v1": "3.0.0-4030620241128001"

2、unimodules/hy-oneSignal is not found; TypeError: undefined is not an object (evaluating 'hyOneSignal_utsProxy.initOSPush') __ERROR

添加uts插件后,由于使用到远程第三方依赖,需要重新打自定义基座,然后运行调试。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率: