苹果6系列的手机收不到推送


(X、W) #11

我现在接受到的推送都是在- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
这个方法里面 通知栏根本无法显示


#12

1、你现在消息是可以收到了是吗?

2、将你收到的消息的客户端日志发上来

3、通知栏不展示去检查通知栏提醒方式

4、注册apns代码中有提供类型选择:
entity.types = JPAuthorizationOptionAlert|JPAuthorizationOptionBadge|JPAuthorizationOptionSound; 你没有写上alert
5、iOS10以下,处于前台,收到消息是不会展示的,log会打印,iOS10以上才有提供接口,在前台展示通知
6、xcode push Notification没开

具体排查总结阅读:
1、 常见问题 - JPush 合集(持续更新)
2、 常见问题 - JPush 合集(持续更新)


(X、W) #13

我有一部手机是最新的系统版本11的,我用的是jpush-ios-3.0.6.a的极光推送包 消息也不能显示在通知栏


#14

我希望你能回答我的问题,提供我需要的信息,而不是简单的做这些描述!


(X、W) #15

不是我不配合你的问题 ,如果是我真机连着xcode的话,是可以正常收到消息的 ,但是我导出测试包,用手机安装测就收不到了,我也找不到registionID给你 。真心不是我不配合你


#16

不关闭debug,导出测试包安装测试后也可以拿到日志信息

如果你是打包成了生产包,那么推送的时候请选择生产环境,如果不确定自己是哪一个环境的包,就两个环境都测试推送一次。


(X、W) #17
//注册APNs成功并上报DeviceToken
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    /// Required - 注册 DeviceToken
    [JPUSHService registerDeviceToken:deviceToken];
}

这个方法是只走一遍吗?


#18

如果获取失败会自动重新获取,成功就应不会再去获取新的token了。


(X、W) #19

这个要怎么操作[JPUSHService setDebugMode];//在application里面调用,设置开启 JPush 日志
我只要写在appdelete任意一个方法就可以了吗???


(X、W) #20

不关闭debug这一步要怎么操作??


(X、W) #21

我现在这个问题有了进一步的进展 我现在在极光官网通过别名推送 然后选择生产环境 就能收到推送,选择开发环境就不行,

  [JPUSHService setupWithOption:launchOptions appKey:@"424440eeadd152362f799baa"
                          channel:@"AppStore"
                 apsForProduction:0
            advertisingIdentifier:nil];

这是我的初始化
然后后台是发送别名是通过

public static PushPayload buildPushObject_all_alias_alert() {
        return PushPayload.newBuilder()
                .setPlatform(Platform.all())
                .setAudience(Audience.alias("alias1"))
                .setNotification(Notification.alert(ALERT))
                .build();
    }

这样的形式发送推送,然后我这边就会接收不到推送,什么原因??


#22

说明你App就是生产的,那么API推送的时候请也设置推送为生产!

API推送消息给iOS,需要指定推送的环境!请让后台修改apns_production,false是开发,true是生产。
如果修改没有用,检查自己的代码,是否有覆盖、引用、改的是A推送代码,实际推送却用的B代码等影响

关于测试两种环境的说明: 常见问题 - JPush 合集(持续更新)


(X、W) #23

后台调用这个public static PushPayload buildPushObject_all_alias_alert() {
return PushPayload.newBuilder()
.setPlatform(Platform.all())
.setAudience(Audience.alias(“alias1”))
.setNotification(Notification.alert(ALERT))
.build();
}不是所有平台吗?


#24

调用一次API只能推送给一个环境!!!!


(X、W) #25

{“msg_id”: 20266199580088617, “error”: {“message”: “cannot find user by this audience”, “code”: 1011}}这是我们后台报的错


#26

(X、W) #27

我是IOS手机推送出问题这个也通用?


#28

这种服务端报错,又不是你客户端的报错,没有什么不能通用的


(X、W) #29

那个demo位置在哪 我没找到


(X、W) #30

安卓端的推送是没有问题的,你上面讲的那个都是针对安卓的 我根本就不会有callback 为0 的情况