
Security News
vlt Launches "reproduce": A New Tool Challenging the Limits of Package Provenance
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
react-native-txim
Advanced tools
React Native的腾讯IM插件
1.安装好npm包后把react-native-txim/src/main/jinLibs 复制到 <你的项目>/android/app/src/main/jinLibs
2.// file: android/settings.gradle
android{
defaultConfig{
...
manifestPlaceholders = [
IM_APPID : xxxxxx, //你的SDKAPPID
IM_ACCOUNT_TYPE : xxxx //你的ACCCOUNTTYPE
]
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
packagingOptions {
pickFirst 'lib/armeabi-v7a/libgnustl_shared.so'
pickFirst 'lib/x86/libgnustl_shared.so'
}
}
npm install react-native-txim --save
react-native link react-native-txim
待补充
// 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 com.netease.im.uikit.permission.MPermission;
import com.netease.im.RNNeteaseImModule;
import com.netease.im.ReceiverMsgParser;
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.kurisu.reactnativedemo.IMApplication;
import cn.kurisu.reactnativedemo.TXImPackage;
import cn.kurisu.reactnativedemo.utils.Foreground;
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 TXImPackage(), // 然后添加这一行
new MainReactPackage()
);
}
};
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
@Override
public void onCreate() {
super.onCreate();
Foreground.init(this);
IMApplication.pushInit(this, MainActivity.class);
SoLoader.init(this, /* native exopackage */ false);
...
}
}
待补充
在android/app/build.gradle
里,defaultConfig栏目下添加如下代码:
在AndroidManifest.xml
里,添加如下代码:
< manifest
......
<meta-data android:name="IM_APPID"
android:value="${IM_APPID}"/>
<meta-data android:name="IM_ACCOUNT_TYPE"
android:value="${IM_ACCOUNT_TYPE}"/>
import { XXX } from 'react-native-txim'; //你需要的模块
参考index.js
NativeAppEventEmitter.addListener("listenerReceiveMessage",(data)=>{
console.log(data); //新消息监听事件(非当前聊天人的)
});
NativeAppEventEmitter.addListener("observeCurrentMessage",(data)=>{
console.log(data); //新消息监听事件(当前聊天人的)
});
待补充
FAQs
腾讯IM的RN集成 alpha版
The npm package react-native-txim receives a total of 10 weekly downloads. As such, react-native-txim popularity was classified as not popular.
We found that react-native-txim demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.