quickblox 推送通知在生产模式下不起作用

Posted

技术标签:

【中文标题】quickblox 推送通知在生产模式下不起作用【英文标题】:quickblox push notification doesnt work in production mode 【发布时间】:2014-08-10 11:34:18 【问题描述】:

我将 quickblox 添加到我的应用中

在开发模式下,推送通知系统运行良好。

但是,当我将应用程序置于生产模式时,后端系统说推送已发送,但未收到推送。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    [QBSettings setLogLevel:QBLogLevelDebug];
    [QBSettings setApplicationID:kAppID];
    [QBSettings setAuthorizationKey:kAuthorizationKey];
    [QBSettings setAuthorizationSecret:kAuthorizationSecret];
    [QBSettings setAccountKey:@kAccountKey];

    [QBSettings useProductionEnvironmentForPushNotifications:NO];

//switch to production mode 
#ifndef DEBUG
   [QBSettings setLogLevel:QBLogLevelNothing];
   [QBSettings useProductionEnvironmentForPushNotifications:YES];
#endif


    return YES;

然后在我的应用程序的某个地方我有这段代码

-(void)sendPushMessage:(QBChatAbstractMessage *)absMessage toUser:(NSInteger)userId andDelegate:(NSObject<QBActionStatusDelegate>*)delegate
    NSString *fullName = [self fullName];
    NSString *mesage;
    if(fullName)
    mesage =[NSString stringWithFormat:@"%@ says: %@",fullName, absMessage.text];
    else 
        mesage = absMessage.text;
    
    NSMutableDictionary *payload = [NSMutableDictionary dictionary];
    NSMutableDictionary *aps = [NSMutableDictionary dictionary];
    [aps setObject:@"default" forKey:QBMPushMessageSoundKey];
    [aps setObject:mesage forKey:QBMPushMessageAlertKey];

    [aps setObject:[self dictionaryRepresentation] forKey:@"user_info"];
    [payload setObject:aps forKey:QBMPushMessageApsKey];

    NSLog(@"payload:%@",payload);
    QBMPushMessage *message = [[QBMPushMessage alloc] initWithPayload:payload];
    [QBMessages TSendPush:message toUsers:[@(userId) stringValue] delegate:delegate];

在开发环境中,这段代码运行良好。 我多次检查了我的生产 APNS 证书,删除它,重新制作它,重新安装它 并且在生产模式下没有任何工作

我尝试从管理页面向自己发送生产推送通知

并收到了这个

这些是它被发送给的用户

为什么?

【问题讨论】:

【参考方案1】:

您是否使用 AdHoc ipa 构建测试生产推送?

如果你用调试模式测试它 - 它不会工作

阅读本主题quickblox makes the same token for development and production

我已经写了一个如何使这项工作的答案

【讨论】:

以上是关于quickblox 推送通知在生产模式下不起作用的主要内容,如果未能解决你的问题,请参考以下文章

推送通知在沙盒模式下不起作用

颤振:fcm ios 推送通知在发布模式下不起作用

IOS 推送通知在 ad hoc 模式下不起作用

Quickblox“离线用户的自动推送通知”不起作用

IOS unregisterForRemoteNotifications 在飞行模式下不起作用

将通知从 iOS 推送到 Android 不起作用