iOS 【极光推送】第一次打开app,收不到推送消息

1.问题

手机初次安装app后,极光推动也注册成功了,别名也设置了,后台也传别名给他了,可是收不到推送消息,但是杀死app再次近入,推送一切就正常了,一直以为是后台的问题,后来才发现这是一个坑。

  • 在我们首次首次进入app时我们会去极光注册登录,这个结果的返回是异步的,而设置别名时,注册登录还没返回成功,所以我们的别名是设置失败的(可在极光后台测试,会提示没有这个别名),第二次近入,因为已经注册登录成功了,所以一切就正常了

  • 解决办法: 极光提供了登录成功的通知,我们可以收到通知后再去设置别名,这个时候就没有问题了

2.解决

这里写图片描述

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  //注册极光
  [JPUSHService setupWithOption:launchOptions appKey:appKey
                          channel:channel
                 apsForProduction:isProduction
            advertisingIdentifier:nil];

 //JPush 监听登陆成功
 [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(kJPushnetworkDidLogin:)
                                                 name:kJPFNetworkDidLoginNotification
                                               object:nil];

}
/**
 *  登录成功,设置别名,移除监听
 *
 *  @param notification 信息
 */
- (void)kJPushnetworkDidLogin:(NSNotification *)notification {
    NSLog(@"极光推送已登录");
    //本处用的token做为别名
    [JPUSHService setAlias:self.pushTokenStr callbackSelector:nil object:nil];
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:kJPFNetworkDidLoginNotification
                                                  object:nil];
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值