Ich versuche zu FCM mit der Klaps Bibliothek verbinden:Falsche Ausnahme Codierung, wenn sie FCM mit Smack Bibliothek verbinden
Hier ist, was ich versucht habe. Es funktioniert, aber ich bekomme eine Ausnahme, wenn die Verbindung versucht, sich anzumelden.
new Thread(new Runnable(){
XMPPTCPConnectionConfiguration.Builder configBuilder = XMPPTCPConnectionConfiguration.builder();
private Handler umm;
@Override
public void run() {
configBuilder.setSecurityMode(XMPPTCPConnectionConfiguration.SecurityMode.disabled);
configBuilder.setServiceName("fcm-xmpp.googleapis.com");
configBuilder.setHost("fcm-xmpp.googleapis.com");//MAYBE PROBLEM HERE??
configBuilder.setPort(5236);
configBuilder.setCompressionEnabled(false);
configBuilder.setSendPresence(true);
configBuilder.setSocketFactory(SSLSocketFactory.getDefault());
InterfaceClass.FCMconnection = new XMPPTCPConnection(configBuilder.build());
umm = yes;
try {
InterfaceClass.FCMconnection.connect();
Log.v("pony", "white horse");
//InterfaceClass.FCMloggin.start();
android.os.Message y4 = android.os.Message.obtain();
y4.what = LOGINTOFCM;
umm.sendMessage(y4);
//the rest of the thread is just exception handling in catch clauses
Sobald mein Handler empfängt die Nachricht, die ich mit der Verbindung einzuloggen versuchen wie folgt aus:
try { FCMconnection.login("[email protected]","SERVER_KEY");
Log.d("black","r2d2");
} catch (XMPPException e) {//exception thrown here
e.printStackTrace();
Log.d("black","maity "+e);
ich folgende excecption erhalten: „smack.sasl.SASLErrorException: SASLError mit X-OAuth2 : incorrect- encoding "
Jetzt aus der Dokumentation heißt es klar zu implementieren SASL einfachen Mechanismus, , aber ich weiß nicht wie? Hier ist, was die Dokumentation sagt:
„Die Verbindung hat zwei wichtige Anforderungen:..
Sie müssen einen Transport Layer Security (TLS) Verbindung initiieren Beachten Sie, dass CCS zur Zeit nicht die Erweiterung STARTTLS unterstützen CCS erfordert einen SASL PLAIN-Authentifizierungsmechanismus unter Verwendung von @ gcm.googleapis.com (FCM-Absender-ID) und des Serverschlüssels als Kennwort, wobei die Absender-ID und der Serverschlüssel die Werte sind, die Sie bei der Konfiguration Ihrer Client-App erhalten haben für Ihre Plattform für Informationen zum Erhalt dieser Anmeldeinformationen. "
Hat jemand eine Idee, was könnte diese Ausnahme verursachen? Wie sollte ich eine Verbindung zu FCM mit der Smack-Bibliothek herstellen?
Vielen Dank für einen Hinweis.