- 版本:6.1.1
- GitHub:https://github.com/Essent/nativescript-live-engage
- NPM:https://npmjs.net.cn/package/nativescript-live-engage
- 下载
- 昨天:4
- 上周:43
- 上个月:412
NativeScript LivePerson LiveEngage 插件
这是一个插件,用于显示LiveEngage聊天的对话,使用LP-Messaging SDK(Android v3.6.0,iOS v3.6.0)。
要求
- Xcode 11.x
- Android SDK 28
- NativeScript CLI 6.x
- LivePerson 账户
安装
从项目的根目录运行以下命令
npm install nativescript-live-engage
设置
在您的应用启动时,使用您的凭据调用initializeChat
(我们的示例main.ts
)
LiveEngage.getInstance().initializeChat('12345678', 'com.example.myapp');
Android
-
将minSdkVersion设置为至少19,在您的
AndroidManifest.xml
和app.gradle
中。 -
在您的应用的include.gradle文件中包含以下依赖项
compile "com.android.support:appcompat-v7:24.2.1"
compile "com.android.support:design:24.2.1"
compile "com.android.support:percent:24.2.1"
compile 'com.google.android.gms:play-services-maps:9.8.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.neovisionaries:nv-websocket-client:1.31'
compile 'com.squareup.okhttp3:okhttp:3.6.0'
iOS
您需要启用密钥链共享,为此我们需要一个自定义权限文件,其中包含keychain-access-groups密钥。
将nativescript-custom-entitlements添加到您的devDependencies中,并创建一个新的权限文件,如我们的示例app.entitlements
。
聊天
要打开聊天窗口,请调用showChat
LiveEngage.getInstance().showChat();
可选函数
设置客户信息
添加用户的首字母、姓氏、昵称、头像URL或电话号码。
const chatProfile: ChatProfile = {
firstName: 'Jane',
lastName: 'Doe',
nickName: 'JD',
phone: '0132100000',
avatarUrl: ''
};
LiveEngage.getInstance().setUserProfileValues(chatProfile);
oAuth
在开始对话时添加JWT以支持oAuth。确保您已配置Live Person数据源以支持Live person公钥、签名标识和可能的(自定义)声明定义。确保在开始对话之前调用此方法。
LiveEngage.getInstance().setAuthenticationCode('<JWT encoded token string>');
隐藏聊天
当您想要通过编程隐藏聊天窗口时,请调用closeChat()
。
LiveEngage.getInstance().closeChat();
注销
当您想要删除所有用户数据并取消注册推送通知时,请调用killChat()
。
LiveEngage.getInstance().killChat()
.then(() => {
console.log('killChat success');
}).catch((error: any) => {
console.log('killChat error', error);
});
推送通知
当代理发送新消息时,您需要将推送令牌发送给LivePerson。当您有推送令牌(Android的FCM和iOS的APNS)时,您可以使用registerPushToken
将其发送给LivePerson。
LiveEngage.getInstance().registerPushToken('your-token');
Android上的消息解析
在Android的FirebaseMessagingService中的onMessageReceived()
中解析推送通知消息,请使用parsePushMessage()
。这将返回一个具有getMessage()
方法的PushMessageParser
对象,该方法可以返回推送消息的标题。
try {
const message = LiveEngage.getInstance().parsePushMessage(data);
console.log(message.getMessage());
} catch (e) {
console.error("Failed to parse message:", e);
}
获取未读消息数
要获取未读消息总数,请使用getUnreadMessagesCount()
。这仅在启用推送通知时才有效。
LiveEngage.getInstance().getUnreadMessagesCount((count: number) => {
console.log('Unread messages:', count);
}, (error: any) => {
console.log('Failed to get count: ', error);
});
iOS上的关闭窗口回调
要通知当会话被取消时,您可以在iOS上打开聊天时提供一个回调。
LiveEngage.getInstance().showChat(() => {
console.log('Chat window was closed');
});
开发设置
为了更方便地进行开发和调试,请继续以下步骤
打开命令提示符/终端,导航到src文件夹,并运行npm run demo.ios
或npm run demo.android
以运行演示。
现在更改您的插件。它将自动应用于演示项目。
清理插件和演示文件
有时您可能需要删除所有生成的文件夹以重新安装。运行 npm run clean
删除这些文件夹,然后您就可以运行 plugin.prepare
来安装新的依赖项。
有时您只需删除演示的平台、node_modules 和 hooks 目录即可。运行 npm run demo.reset
删除这些。