2016-07-02 21 views
9

Sto cercando di inviare dal mio iOS-Objective-C app un messaggio usando:Impossibile collegarsi a FCM. Errore di dominio = com.google.fcm Codice = 2001

NSInteger iTime = [NSDate timeIntervalSinceReferenceDate]; 
    NSString *strID = [NSString stringWithFormat:@"%@%ld", setting.uid, (long)iTime]; 
    NSDictionary *msg = @{@"title": @"My iOS-APP", 
          @"text": @"Message from the app"}; 
    [[FIRMessaging messaging]sendMessage:msg to:setting.uid withMessageID:strID timeToLive:240]; 

mia app connettersi correttamente a FCM nel AppDelegate. Ma quando si invia il messaggio di cui sopra, dopo un paio di minuti ottengo il seguente errore:

Unable to connect to FCM. Error Domain=com.google.fcm Code=2001 "(null)" 

Ricerca negli ultimi giorni ho trovato un sacco di suggerire, ma anche la loro applicazione, non mi successo nell'invio il messaggio. Spero che qualcuno là fuori abbia avuto lo stesso problema e abbia trovato la soluzione.

+0

FCM può solo inviare messaggi a monte a un server applicazioni. Quindi il tuo setting.uid deve essere l'ID mittente del tuo progetto Firebase. Quindi, quando il tuo server dell'app riceve il messaggio, può inoltrarlo a un client con l'uid. Sembra che tu stia provando a fare una messaggistica da dispositivo a dispositivo che non è ancora possibile –

risposta

0

UPDATE: aggiunto alla classe delle Notifiche:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sendDataMessageFailure:) name:FIRMessagingSendErrorNotification object:nil]; 

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sendDataMessageSuccess:) name:FIRMessagingSendSuccessNotification object:nil]; 

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didDeleteMessagesOnServer) name:FIRMessagingMessagesDeletedNotification object:nil]; 

e ottenere il feedback:

NSConcreteNotification 0x15df4f120 { 
    name = com.firebase.messaging.notif.send-success; 
    userInfo = { 
     messageID = ZisMh2OdBsVgjhUlWx9xKnZ3nTk1489164725; 
    } 
} 

così cuce il messaggio è stato inviato, ora la domanda è: come recuperare il messaggio, ho pensato che sarà consegnato come notifica push.

13

Questo errore di codice 2001 viene visualizzato perché, quando si invia il messaggio, l'applicazione è già collegata a FCM. Stai tentando di connettersi di nuovo a FCM che è il motivo per cui il messaggio. Alcune parti del codice Quando provi a inviare un messaggio, tenti di connetterti di nuovo.

Problemi correlati