技术CTO-关注编程入门知识,提供编程入门教程

您的位置: 首页 > 移动开发 > ios > 正文

百度云推送,setupChannel, isFirstLaunch

来源: 技术CTO 阅读:

为什么我百度云推送推送不了,日志报错setupChannel, isFirstLaunch,证书已经反复弄过好几遍了,只上传了开发证书,也不会出现错乱的的情况,在线等大神,求解答,求解答。。。

在didFinishLaunchingWithOption里面注册apn的推送,然后设置BPush setupChannel 和设置delegate,
然后再获取到apn的deviceToken的时候,拿到deviceToken转成字符串,调用BPush的registerDeviceToken,参数是deviceToken字符串,然后BPush的bindChannel
最后在BPush的delegate回调OnMethod....里面可以查看百度推送绑定的结果以及绑定成功后的pushkey和pushChannel
差不多就这么多
引用 1 楼 xxo1986cxm 的回复:
在didFinishLaunchingWithOption里面注册apn的推送,然后设置BPush setupChannel 和设置delegate,
然后再获取到apn的deviceToken的时候,拿到deviceToken转成字符串,调用BPush的registerDeviceToken,参数是deviceToken字符串,然后BPush的bindChannel
最后在BPush的delegate回调OnMethod....里面可以查看百度推送绑定的结果以及绑定成功后的pushkey和pushChannel
差不多就这么多

 无视apn == apns  
我也是在didFinishLaunchingWithOption里注册的,但就是不走回调方法,获取不到device token,日志提示只有setupChannel, isFirstLaunch ,代理也都注册了

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//百度推送
 [BPush setupChannel:launchOptions];
  [BPush setDelegate:self];
  //apns注册  
    [application registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound];
}

-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
  /*
     接收到苹果的token,先和本地的对比一下,如果不一样再绑定百度的推送
     */
    const unsigned *tokenBytes = [deviceToken bytes];
    NSString *hexToken = [NSString stringWithFormat:@"%08x%08x%08x%08x%08x%08x%08x%08x",
                          ntohl(tokenBytes[0]), ntohl(tokenBytes[1]), ntohl(tokenBytes[2]),
                          ntohl(tokenBytes[3]), ntohl(tokenBytes[4]), ntohl(tokenBytes[5]),
                          ntohl(tokenBytes[6]), ntohl(tokenBytes[7])];
 //将苹果返回的Token注册给百度
        [BPush registerDeviceToken:deviceToken];
        //该方法返回绑定成功时(delegate设定的OnMethod:response:),app才能接收消息,至少绑定一次,token变更需要重新绑定
        [BPush bindChannel];
}

- (void)onMethod:(NSString*)method response:(NSDictionary*)data
{
  //参考demo自行判断成功与否,获取pushkey和chaneelkey
}


很久以前用过(可能不是最新的sdk),大概是这样,测试过是可以的,仅供参考(没有处理最新的ios8apns)
剩下的什么配置plist啥的按照文档就可以了,自己看看吧,可能现在方法变了也不一定

^_^ 如果您热爱技术、热爱编程,想与更多的朋友一起交流学习,欢迎加入本站官方QQ群:345733473 ^_^