@cqfw/fw-rn-txim
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

React Native的腾讯IM插件

注意事项:

1.x
2.// file: android/settings.gradle 
android{

    defaultConfig{
        ...
        manifestPlaceholders = [
                IM_APPID     : xxxxxx, //你的SDKAPPID
        ]
    }

     packagingOptions {
        pickFirst 'lib/x86/libc++_shared.so'
        pickFirst 'lib/arm64-v8a/libc++_shared.so'
        pickFirst 'lib/armeabi-v7a/libc++_shared.so'
    }
    
}

如何安装

1.首先安装npm包

npm install react-native-txim --save

2.link

react-native link react-native-txim

手动link~(如果不能够自动link)

ios
待补充
Android
// file: android/settings.gradle
...

include ':react-native-txim'
project(':react-native-txim').projectDir = new File(settingsDir, '../node_modules/react-native-txim/android')
// file: android/app/build.gradle
...

dependencies {
    ...
    api project(':react-native-txim')
}

android/app/src/main/java/<你的包名>/MainActivity.java

import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;

public class MainActivity extends ReactActivity {

 ......

 @Override
 protected void onCreate(Bundle savedInstanceState) {
   final List<String> permissionsList = new ArrayList<>();
   SplashScreen.show(this, true);
   super.onCreate(savedInstanceState);
   if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
       if ((checkSelfPermission(android.Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED))
           permissionsList.add(android.Manifest.permission.READ_PHONE_STATE);
       if ((checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED))
           permissionsList.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
       if (permissionsList.size() != 0) {
           requestPermissions(permissionsList.toArray(new String[permissionsList.size()]),
                   0);
        }
     } 
 }

android/app/src/main/java/<你的包名>/MainApplication.java

...
import cn.fw.txim.IMApplication;
import cn.fw.txim.IMPackage;

public class MainApplication extends Application implements ReactApplication {

  private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
    @Override
    protected boolean getUseDeveloperSupport() {
      return BuildConfig.DEBUG;
    }

    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
          new IMPackage(), // 然后添加这一行
          new MainReactPackage()
      );
    }
  };

  @Override
  public ReactNativeHost getReactNativeHost() {
      return mReactNativeHost;
  }
   @Override
  public void onCreate() {
   super.onCreate();
    Foreground.init(this); //然后添加这一行
    IMApplication.setContext(this,  MainActivity.class);;// 然后添加这一行
    SoLoader.init(this, /* native exopackage */ false);
   ...
  }
}

3.工程配置

iOS配置

待补充

Android配置

android/app/build.gradle里,defaultConfig栏目下添加如下代码:

 manifestPlaceholders = [
                IM_APPID     : xxxxxx, //你的SDKAPPID
        ]

AndroidManifest.xml里,添加如下代码:

< manifest

    ......

    <meta-data android:name="IM_APPID"
                android:value="${IM_APPID}"/> 

如何使用

引入包

import { XXX } from 'react-native-txim'; //你需要的模块

API

参考index.js

监听会话

NativeAppEventEmitter.addListener("listenerReceiveMessage",(data)=>{
  console.log(data); //新消息监听事件(非当前聊天人的)
});

NativeAppEventEmitter.addListener("observeCurrentMessage",(data)=>{
  console.log(data); //新消息监听事件(当前聊天人的)
});

推送

待补充

Readme

Keywords

Package Sidebar

Install

npm i @cqfw/fw-rn-txim

Weekly Downloads

3

Version

1.0.2

License

ISC

Unpacked Size

37.7 MB

Total Files

313

Last publish

Collaborators

  • kurisu_m
  • feeweeinc