jpush-react-native iOS 问题

ios
标签: #<Tag:0x00007fb83faeddd8>

(Eason Wx) #1

项目使用了jpush-react-native,安卓版本的正常运行,刚开始弄iOS版的,看了社区里一些文章,还有几点不是很明白,希望能指导下,先谢啦!问题如下:
1.关于本地推送sendLocalNotification方法,没有设置sound就一定不会有提示音吗?不能像安卓那样直接跟随系统吗?
2. addReceiveOpenNotificationListener,addReceiveNotificationListener等在iOS里是正常使用吧?服务器端配置上不能和安卓的共用一个推送方法,要另写是吧?
3.怎么设置可以让推送消息到来时在顶部出现一个由上到下的tag?是服务器端配置还是什么?
测试机型的iOS版本是8.3,jpush-react-native版本是2.1.6


#2

#3

1、稍等。

2、远程推送的时候,notification 下是有 Android和iOS平台属性的,请分别在平台属性下给不同的平台设置你们的信息
https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push/#notification

3、[quote=“easonWx, post:1, topic:27284”]
在顶部出现一个由上到下的tag
[/quote]

这个描述看不懂,请给出具体的截图示例


(Eason Wx) #4

就是提醒样式中的横幅,那个有时候可以出来有时候出不来


#5

如果推送了通知消息,alert通知内容不为空,iOS 8 系统,App 处于后台,手机设置了横幅提醒,则必然会有横幅提醒。


#6

第一个问题:插件和原生 SDK 对本地通知 都没有要求设置 sound 值。


(Eason Wx) #7

这边测试本地推送,iOS没声音提醒,把app删了,重新设置了,还把通知关了重新开启,手机媒体音量也放到最大了,但是收到消息还是没有声音,这是怎么回事?


#8

你App 处于前台还是后台做的测试?


(Eason Wx) #9

前台后台都试了,没效果


(HuminiOS) #10

什么设备?
手机是否设置了静音?


(Eason Wx) #11

没有设置静音,测试机是iPhone 5S iOS8.3


(HuminiOS) #12
  • remote notification 有没有声音?

  • 推送代码提供一下。


(Eason Wx) #13

远程推送,从极光后台发了一个,也没声音,本地推送代码:

JPushModule.sendLocalNotification({
                        buildId: 1,
                        id: JPush_id,
                        title: msg.user.name,
                        content: msg.text,
                        extra: {},
                        fireTime: new Date().getTime() + 1000,    //推送的通知时间戳,Number类型
                    });

#14

你是否修改了注册时的提醒类型选择,去掉了 sound 提醒?


(Eason Wx) #15

没有,照着这个办法反复了几次都没好,有时会有这个错误[JIGUANGAddressController] not receive sis result just now


#16

你打开你手机的设置-找到你的应用,看看通知栏设置里面有没有开启 声音开关的选项?

你还有其他测试机吗?换个设备测试一下看看,并跑插件的 demo 看看,研发这边测试是没有问题的:


(Eason Wx) #17

我把手机重启了,现在的情况是,手机在前台时收到消息没有声音,在纯后台时收不到消息提示,在前台切换后台的一瞬间会有提示,alert和声音都有,前台和后台怎么处理?


#18

1、iOS 8 在前台收到消息本来就没有声音等提醒,这不是问题。

2、后台收不到消息提示,请给出你们推送的内容。

3、请提供你们现在手机设置-App的通知栏设置的页面截图


(Eason Wx) #19

各方面都调试好了,谢啦!不过看后台有个警告:

Application delegate received call to -application:didReceiveRemoteNotification:fetchCompletionHandler: but the completion handler was never called.

查了文档,配置了

- (void)networkDidReceiveMessage:(NSNotification *)notification {
        NSDictionary * userInfo = [notification userInfo];
        NSString *content = [userInfo valueForKey:@"alert"];
        NSString *messageID = [userInfo valueForKey:@"_j_msgid"];
        NSDictionary *extras = [userInfo valueForKey:@"extras"]; 
        NSString *msg_type = [extras valueForKey:@"msg_type"]; //服务端传递的Extras附加字段,key是自己定义的
    }

可还是有这个警告,是不是哪里有问题?会有影响吗?


#20

参考: