@groupsosimple/nativescript-pubnub
这是一个用于 PubNub SDK 的 NativeScript 插件包装器。它实现了 Android 和 iOS SDK。
npm i --save @groupsosimple/nativescript-pubnub
- 版本:1.0.2
- GitHub: https://github.com/groupsosimple/nativescript-plugins
- NPM: https://npmjs.net.cn/package/%40groupsosimple%2Fnativescript-pubnub
- 下载
- 昨日: 0
- 上周: 0
- 上月: 6
@groupsosimple/nativescript-pubnub
这是一个用于 PubNub SDK 的 NativeScript 插件包装器。它实现了 Android 和 iOS SDK。还提供了一个 Angular 服务。
ns plugin add @groupsosimple/nativescript-pubnub
获取密钥
您需要发布和订阅密钥以验证您的应用程序。从 PubNub 管理门户 获取您的密钥。
导入 PubNub
使用 TypeScript
import { PubNub } from '@groupsosimple/nativescript-pubnub';
使用 JavaScript
var pubnub = require('@groupsosimple/nativescript-pubnub');
配置 PubNub
配置您的密钥
pubnub = new PubNub({
publishKey: 'myPublishKey',
subscribeKey: 'mySubscribeKey',
uuid: 'myUniqueUUID',
});
//or
pubnub = new PubNub().configuration({
publishKey: 'myPublishKey',
subscribeKey: 'mySubscribeKey',
uuid: 'myUniqueUUID',
});
添加事件监听器
pubnub.addListener({
message: function (m) {
// handle messages
},
presence: function (p) {
// handle presence
},
signal: function (s) {
// handle signals
},
messageAction: function (ma) {
// handle message actions
},
file: function (event) {
// handle files
},
status: function (s) {
// handle status
},
});
发布/订阅
var publishPayload = {
title: 'greeting',
description: 'This is my first message!',
};
pubnub.publish('MyChannel', publishPayload, (status) => {
console.log(status);
});
pubnub.subscribe(['MyChannel'], true);
使用 Angular 服务
在您的根模块中声明 PubNub Angular 服务
import { PubNubService } from '@groupsosimple/nativescript-pubnub/angular';
@NgModule({
imports: [...],
declarations: [...],
schemas: [...],
providers: [PubNubService],
})
在组件中注入服务并使用您的密钥进行配置
@Component()
export class MainComponent {
constructor(private pubnubService: PubNubService) {
pubnubService.configuration({
publishKey: 'myPublishKey',
subscribeKey: 'mySubscribeKey',
uuid: 'myUniqueUUID',
});
}
}
之后,您就可以像平常一样使用该服务了
@Component()
export class SomeComponent {
constructor(private pubnubService: PubNubService) {
pubnubService.subscribe(['MyChannel'], true);
}
}
PubNub API
constructor(config?: PNConfiguration);
configuration(config: PNConfiguration): PubNub;
subscribe(channels: string[], withPresence: boolean): void;
subscribeToChannelGroups(groups: string[], withPresence: boolean): void;
unsubscribe(channels: string[]): void;
unsubscribeFromAll(): void;
unsubscribeFromChannelGroups(groups: string[]): void;
publish(channel: string, message: Object, responseListener: (status: PNStatus) => void): void;
addEventListener(event: PNEventListener): void;
destroy(): void;
更多信息
更多信息可以在原始 SDK 实现中查看
变更日志
- 1.0.0 初次发布
- 1.0.1 Angular 服务和错误修复
许可证
Apache 许可证版本 2.0
作者
感谢
- 感谢 rickybrown,ns-pubnub 的开发者,其中一些 iOS 实现基于。