jpush-react-native
jpush-react-native copied to clipboard
react-native 0.64.0集成极光推送后没有反应,推送预估人数永远是0
你的运行环境
- 插件版本:
- react-native 版本: 0.64.0
期望效果
期望集成可用 告诉我们你希望达到什么效果。
实际效果
按照官方文档集成后,app启动之后完全没有效果 告诉我们实际是什么效果。
重现步骤
5
然后link 然后运行,没有任何反应,也没有报错。点击按钮返回的registerID 也为空。
Debug logs
包括 Android 或 iOS 的日志:
我ios 不行,但是安卓可以
我ios 不行,但是安卓可以
ios 只能用真机调试,在模拟器中貌似获取不到registerId
我ios 不行,但是安卓可以
我iOS可以,Android不行
你好 请问解决了吗 我也遇到了这个问题
同样遇到上面的问题,官方能个解答吗
可以获取registerID 但是无法获取通知 本地通知也不行 "jcore-react-native": "^1.9.2", "jpush-react-native": "^2.8.3", "react-native": "0.64.1",
react-native-cli: 2.0.1 react-native: 0.64.2 可以获取registerid,极光web控制台可以看到集成成功,通知消息和自定义消息推送结果成功,目标数据有,但是成功始终是0
react-native-cli: 2.0.1 react-native: 0.63.4 也可以获取registerid,极光web控制台可以看到集成成功,通知消息和自定义消息推送结果成功,目标数据有,但是成功始终是0
这个版本的包有问题,大家把依赖包的版本改成
"jcore-react-native": "1.9.1",
"jpush-react-native": "2.8.2",
就可以了
这么久了 都没人 解决吗
可以获取registerID 但是无法获取通知 本地通知也不行 "jcore-react-native": "^1.9.2", "jpush-react-native": "^2.8.3", "react-native": "0.64.1",
+1 我也是一样的问题
这个版本的包有问题,大家把依赖包的版本改成
"jcore-react-native": "1.9.1", "jpush-react-native": "2.8.2",
就可以了
我试了一下,并没有解决这个问题。
react-native-cli: 2.0.1 react-native: 0.64.2 可以获取registerid,极光web控制台可以看到集成成功,通知消息和自定义消息推送结果成功,目标数据有,但是成功始终是0
react-native-cli: 2.0.1 react-native: 0.63.4 也可以获取registerid,极光web控制台可以看到集成成功,通知消息和自定义消息推送结果成功,目标数据有,但是成功始终是0
我现在是0.64.1,你的意思是升级到0.64.2之后安卓和IOS就可以收到推送消息了吗?
useEffect(() => {
JPush.init();
JPush.setLoggerEnable(true);
//连接状态
const connectListener = (result: { connectEnable: boolean }) => {
console.log('connectListener:' + JSON.stringify(result));
};
JPush.addConnectEventListener(connectListener);
//通知回调
const notificationListener = async (result: {
messageID: string;
title: string;
content: string;
badge: string;
ring: string;
extras: Extra;
notificationEventType: 'notificationArrived' | 'notificationOpened';
}) => {
console.log('44');
JPush.setBadge({ badge: -1, appBadge: 0 });
if (result.extras && result.extras.annoType) {
switch (result.extras.annoType) {
default:
break;
}
}
};
JPush.addNotificationListener(notificationListener);
//本地通知回调
const localNotificationListener = (result: {
messageID: string;
title: string;
content: string;
extras: Extra;
notificationEventType: 'notificationArrived' | 'notificationOpened';
}) => {
console.log('localNotificationListener:' + JSON.stringify(result));
};
JPush.addLocalNotificationListener(localNotificationListener);
//自定义消息回调
const customMessageListener = (result: { messageID: string; content: string; extras: Extra }) => {
console.log('customMessageListener:' + JSON.stringify(result));
};
JPush.addCustomMessagegListener(customMessageListener);
//tag alias事件回调
const tagAliasListener = (result: TagAliasCallbackResult) => {
console.log((result as TagCallbackResult).tags);
};
JPush.addTagAliasListener(tagAliasListener);
//手机号码事件回调
const mobileNumberListener = (
result: {
code: number;
} & Sequence,
) => {
console.log('mobileNumberListener:' + JSON.stringify(result));
};
JPush.addMobileNumberListener(mobileNumberListener);
}, []);
通过debug发现,所有的listener里面的console.log都没有执行,不确实是不是就是因为这个导致的
但是用
JPush.getRegistrationID(result => console.log('registerID:' + JSON.stringify(result)))
又是可以拿到registerID的。 我看这篇文章里面说,如果registerID能拿到,就表示集成是成功的。
老哥解决了吗 @chj-damon
解决了。 在AndroidManifest.xml里面要多加一段配置:
<activity
android:name="cn.jpush.android.service.JNotifyActivity"
android:exported="true"
tools:node="replace"
android:taskAffinity="jpush.custom"
android:theme="@android:style/Theme.Translucent.NoTitleBar">
<intent-filter>
<action android:name="cn.jpush.android.intent.JNotifyActivity" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="${applicationId}" />
</intent-filter>
</activity>
<activity android:name="cn.jpush.android.service.JNotifyActivity" android:exported="true" tools:node="replace" android:taskAffinity="jpush.custom" android:theme="@android:style/Theme.Translucent.NoTitleBar"> <intent-filter> <action android:name="cn.jpush.android.intent.JNotifyActivity" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="${applicationId}" /> </intent-filter> </activity>
帮大忙了,但是app杀死之后就收不到了,这个你怎么解决的
这个好像就是不行。看看能不能集成厂商,或者开VIP
这么久了 都没人 解决吗