@dsvishchov/nativescript-onesignal-sdk
您出色的 NativeScript 插件。
npm i --save @dsvishchov/nativescript-onesignal-sdk

Nativescript Onesignal SDK

一个 Onesignal 插件,用于处理 iOS 和 Android NativeScript 应用程序的推送通知。

先决条件

一个带有活跃 Onesignal 应用的 Onesignal 账户。

安装

tns plugin add nativescript-onesignal-sdk

用法

Angular

不支持

Typescript & Javascript

Android

onesignal_app_idonesignal_google_project_number 两个值添加为字符串资源

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Demo</string>
<string name="onesignal_app_id">your_onesignal_app_id</string>
<string name="onesignal_google_project_number">your_onesignal_google_project_number</string>
</resources>

然后在您的 AndroidManifest.xml 中引用这些值。

注意:在配置文件根标签上添加 xmlns:tools="http://schemas.android.com/tools"

<meta-data
tools:replace="android:value"
android:name="onesignal_app_id"
android:value="@string/onesignal_app_id"/>


<meta-data
tools:replace="android:value"
android:name="onesignal_google_project_number"
android:value="@string/onesignal_google_project_number"/>

在您的 main.tsapp.js 中添加以下代码

import * as app from "application";
var TnsOneSignal = require("nativescript-onesignal").TnsOneSignal;

if (app.android) {
app.on(app.launchEvent, args => {
TnsOneSignal.startInit(app.android.context).init();
});
}

iOS

在您的 main.tsapp.js 中添加以下代码

import * as app from 'application';
var TnsOneSignal = require('nativescript-onesignal').TnsOneSignal

if (app.ios) {
TnsOneSignal.initWithLaunchOptionsAppIdHandleNotificationReceivedHandleNotificationActionSettings({},
<your-onesignal-app-id>,
(notificationReceived) => {
console.log(notification);
},
(notificationAction) => {
console.log(notification);
});
}

API 参考

iOS API 参考

Android API 参考

示例

npm run plugin.prepare
# iOS
npm run demo.ios
# Android
npm run demo.android

许可

Apache 许可证版本 2.0,2004 年 1 月