Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

jmessage-react-plugin

Package Overview
Dependencies
Maintainers
6
Versions
60
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jmessage-react-plugin

a jmessage plugin for react native application

  • 3.2.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
6
Created
Source

jmessage-react-plugin

极光官方开发的极光 IM react-native 插件,同时支持 文字、图片、语言、文件和自定义消息。同时支持 iOS 和 Android 平台。

ChangeLog

3.1.8

1.需要在AppDelegate.m 中手动添加初始化方法,示例如下

#import <RCTJMessageModule.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{   
   [JMessage setupJMessage:launchOptions
                    appKey:appKey
                   channel:@""
          apsForProduction:isProduction
                  category:nil
            messageRoaming:true];
   
   [JMessage addDelegate:self withConversation:nil];
}

//JMessage 离线消息监听
- (void)onSyncOfflineMessageConversation:(JMSGConversation *)conversation
                         offlineMessages:(NSArray JMSG_GENERIC ( __kindof JMSGMessage *) *)offlineMessages {
  [RCTJMessageEventQueue sharedInstance].offlineConversation = conversation;
  [RCTJMessageEventQueue sharedInstance].offlineMsgArray = offlineMessages;
}

2.js中初始化和监听需要在componentDidMount()componentDidMount()方法内,示例如下

componentDidMount() {
        JMessage.init({
            appkey: appkey,
            channel:channel
            isOpenMessageRoaming: true,
            isProduction: true,
        });
        JMessage.setDebugMode({enable: true});
        //离线消息监听
        JMessage.addSyncOfflineMessageListener((message) => {
            console.log("| JIGUANG |===addSyncOfflineMessageListener====" + JSON.stringify(message))
        });
}        

安装

npm install jmessage-react-plugin --save
npm install jcore-react-native --save(目前 jmessage-react-plugin 2.1.1 版本需要指定安装 jcore-react-native 1.2.1 以上版本)
react-native link
(如果是原生应用集成 react-native)使用 CocoaPods 安装

注意: 如果已经通过 react-native link 链接了插件,则不需要执行下面的步骤。

在 Podfile 中添加如下代码:

pod 'JMessageRN', :path => '../node_modules/jmessage-react-plugin'

终端执行如下指令:

pod install

配置

Android
  • 配置 AndroidManifest,加入 meta-data 部分
...
<meta-data android:name="JPUSH_CHANNEL" android:value="${APP_CHANNEL}" />
<meta-data android:name="JPUSH_APPKEY" android:value="${JPUSH_APPKEY}" />
...
  • 配置 build.gradle,将下列配置部分替换成自己的。
defaultConfig {
        applicationId "你的 application id"
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
        ndk {
            abiFilters "armeabi-v7a", "x86"
        }
        manifestPlaceholders = [
                JPUSH_APPKEY: "你的 appKey",	//在此替换你的APPKey
                APP_CHANNEL: "developer-default"		//应用渠道号
        ]
    }

在 MainApplication 中加上 JMessagePackage 即可,JMessagePackage 有一个参数,设置是否弹出 toast。

// 如果设置为 true,则不弹出 toast。
private boolean shutdownToast = false;

@Override
protected List<ReactPackage> getPackages() {
    return Arrays.<ReactPackage>asList(
            new MainReactPackage(),
            new JMessageReactPackage(shutdownToast),
    );
}
iOS
  • 打开工程,进入 Build Settings -> Framework search paths 添加 framework 搜索路径

    $(SRCROOT)/../node_modules/jmessage-react-plugin/ios/RCTJMessageModule
    
  • 打开工程,进入 Build Settings -> Other Link Flag 添加一行编译选项

    -framework "JMessage"
    

API

API doc

更多

Keywords

FAQs

Package last updated on 18 May 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc