首页 > 解决方案 > 如何在 android 上使用 react-native-batch-push?尝试访问 RNBatch.NOTIFICATION_TYPES 时未定义 RNBatch

问题描述

我正在尝试在我的 react native 项目中使用这个包。

到目前为止,我已经按照他们的安装指南中的所有步骤进行操作,并使其在 iOS 上运行。

但是,在 Android 上,每次我尝试在我的代码中导入 Batch 或 BatchPush 时,如下所示:

import { BatchPush, Batch } from "@bam.tech/react-native-batch";

我只在 Android 上收到错误:

null is not an object (evaluating 'RNBatch.NOTIFICATION_TYPES')

在此处输入图像描述

所以当我去 node_modules/@bam.tech/react-native-batch/dist/BatchPush.js 我看到这个

const RNBatch = react_native_1.NativeModules.RNBatch;
exports.AndroidNotificationTypes = RNBatch.NOTIFICATION_TYPES;

所以不知何故,本机模块没有被正确导入。我是否需要执行额外的步骤才能使其正常工作?

@bam.tech/react-native-batch 正在与版本 5.2.1 npm 版本 6.14.7 react-native 版本 0.60.5 一起使用

标签: androidreact-nativeandroid-studiopush-notificationnotifications

解决方案


更新:原来包没有正确链接,我不得不在 MainApplication.java 中手动添加包(我不知道为什么 react-native 链接没有自动添加这个)

添加导入: import tech.bam.RNBatchPush.RNBatchPackage;

然后 new RNBatchPackage()在 getPackages() 方法中添加 ,。


推荐阅读