nativescript-applozic-chat-fork
来自 Applozic 的 Nativescript 插件,封装了 Android 和 iOS 的原生聊天 UI
npm i --save nativescript-applozic-chat-fork

Applozic NativeScript 聊天插件

先决条件

iOS

  • 应用必须针对 iOS 10 或更高版本
  • 需要 Xcode 12 或更高版本

NativeScript

  • 需要 NativeScript 7,有关兼容性问题的更多信息请查看这里

安装

对于 NativeScript 7 兼容性,运行。

tns plugin add [email protected]

对于 NativeScript 6 兼容性,运行。

tns plugin add [email protected]

转到 src 文件夹并运行

npm run demo.ios

使用方法

JavaScript

添加导入

var nativescript_applozic_chat = require("nativescript-applozic-chat");

然后在你函数内部可以创建 ApplozicChat 对象来访问它。

var applozicChat = new nativescript_applozic_chat.ApplozicChat();
TypeScript

添加导入

import { ApplozicChat } from "nativescript-applozic-chat";

然后在你函数内部可以创建 ApplozicChat 对象来访问它。

var applozicChat = new ApplozicChat();

登录/注册用户

    var alUser = {
'userId' : userId, //Replace it with the userId of the logged in user NOTE: String userId
'password' : password, //Put password here NOTE: String password
'authenticationTypeId' : 1,
'applicationId' : 'applozic-sample-app' //replace "applozic-sample-app" with Application Key from Applozic Dashboard
};

applozicChat.login(alUser, function(response) {
applozicChat.launchChat(); //launch chat
}, function(error) {
console.log("onLoginFailure: " + error);
});

启动聊天

主聊天界面
        applozicChat.launchChat();
与特定用户启动聊天
        applozicChat.launchChatWithUserId(userId);
与特定群组启动聊天
        applozicChat.launchChatWithGroupId(groupId, function(response){
console.log("Success : " + response);
}, function(response){
console.log("Error : " + response);
});

注销

applozicChat.logout(function(response) {
console.log("logout success: " + response);
}, function(error) {
console.log("logout error: "+ error);
});

推送通知设置说明

在 applozic 控制台中上传推送通知证书和 GCM/FCM 服务器密钥

a) 对于 iOS,将您的 APNS 推送通知证书上传到 Applozic 控制台“编辑应用程序”部分下的页面,以启用实时通知。

转到 Applozic 控制台推送通知 推送通知 -> 上传开发和分发环境的 APNS 证书

b) 对于 Android,转到 Applozic 控制台推送通知 并在 推送通知 -> GCM/FCM 密钥 下更新 GCM/FCM 服务器密钥。

Android

先决条件

  1. 下载这些文件 https://github.com/reytum/Applozic-Push-Notification-FIles
  2. 在 Firebase 控制台中注册您的应用程序并下载 google-services.json 文件。
  3. 从 Firebase 控制台中获取 FCM 服务器密钥。(有一个发送者 ID 和服务器密钥,请确保您获取了服务器密钥)。
  4. 转到 Applozic 控制台推送通知 并在 推送通知 -> GCM/FCM 密钥 下更新 GCM/FCM 服务器密钥。

要遵循的步骤

  1. 从上述下载的文件中复制 pushnotification 文件夹并将其粘贴到路径 <your project>/platforms/android/src/main/java/com/tns/

  2. 在文件 <your project>/platforms/android/src/main/AndroidManifest.xml 中添加这些行,在 <application> 标签内

       <service android:name="com.tns.pushnotification.FcmListenerService">
         <intent-filter>
             <action android:name="com.google.firebase.MESSAGING_EVENT" />
         </intent-filter>
     </service>
     <service
         android:name="com.tns.pushnotification.FcmInstanceIDListenerService"
         android:exported="false">
         <intent-filter>
             <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
         </intent-filter>
     </service>
    
  3. 在文件 <your project>/app/App_Resources/Android/AndroidManifest.xml 中添加步骤 2 中的相同行,在 <application> 标签内

  4. google-services.json 文件粘贴到 <your project>/platforms/android/ 文件夹中

  5. 打开 <your project>/platforms/android/build.gradle:在文件顶部提到的依赖项中添加以下内容(在 classpath "com.android.tools.build:gradle:2.2.3" 下方):classpath "com.google.gms:google-services:3.1.1"apply plugin: "com.android.application" 下方添加以下内容:apply plugin: "com.google.gms.google-services"

  6. 在 applozic 登录成功时调用 PushNotificationTask,如下所示

       applozicChat.registerForPushNotification(function(response){
    console.log("push success : " + response);
    }, function(response){
    console.log("push failed : " + response);
    });

注意:每次您删除并添加 Android 平台时,都需要遵循步骤 1、2、4 和 5。

iOS

  1. delegate.ts 链接 下载 delegate.ts 文件并将其粘贴到 your project folder-->app-->delegate.ts

  2. app.ts 链接 下载 app.ts 文件,并用它替换您的项目中的 app.ts 文件,如果您有任何更改,则可以从 app.ts 文件链接中合并仅需要的更改

注意:上述针对Android和iOS的推送通知设置是在您项目中未使用原生脚本推送插件的情况下