2014-10-29 3 views
12

Я пытаюсь использовать новый API Fabric, который Twitter предлагает пользователям войти в мое приложение. Я точно следил за учебником (по крайней мере, я думаю, что у меня есть, возможно, я допустил некоторые ошибки) here после настройки моего проекта со всеми необходимыми шагами; Теперь, когда я нажал на кнопку входа и аутентификации кнопку возвращает успешный ответ, но когда я иду, чтобы получить щебетать сессии после того, что я получаю исключение, которое выглядит какTwitter Fabric Войти для Android

Caused by: java.lang.IllegalStateException: Must start Twitter Kit with Fabric.with() first  

(опять же, я последовал за учебник по T до этого момента, но если вы можете что-то придумать, я бы попробовал это)

+0

Оформить заказ по следующей ссылке: https://androidbeasts.wordpress.com/2015/07/22/twitter-fabric-integration/ – Aakash

ответ

14

Fabric SDK отделяет функциональность в модули под названием Kits. Вы должны указать, какие комплекты вы хотите использовать через Fabric.with(). Обычно это делается путем расширения класса приложений Android.

package com.example.app; 
import android.app.Application; 

public class MyApplication extends Application { 
    @Override 
    public void onCreate() { 
     super.onCreate(); 

     TwitterAuthConfig authConfig = 
        new TwitterAuthConfig("consumerKey", 
             "consumerSecret"); 

     Fabric.with(this, new Twitter(authConfig)); 

     // Example: multiple kits 
     // Fabric.with(this, new Twitter(authConfig), 
     //     new Crashlytics()); 
    } 
} 

Подробнее: https://dev.twitter.com/twitter-kit/android/integrate

См канонический пример приложения на: https://github.com/twitterdev/cannonball-android

+0

Получил работу, спасибо большое! –

+0

Привет, Луис, не могли бы вы помочь мне с моим вопросом [здесь] (http://stackoverflow.com/questions/27190313/making-rest-api-calls-from-an-android-app-using-twitterapiclient-class) ... спасибо заранее –

+0

Спасибо большое! Я использовал интеграцию Android Fabric Auto Fabric и полностью пропустил этот маленький штрих кода. Мне нужно было изменить свой API-ключ и секрет для клиента, и я понятия не имел, где его найти. – LukeWaggoner

2

Последние Twitter Интеграция с Android студии

Это ниже ссылки предоставляют пример кода, вы можете использовать этот код для интеграции twitter latest sdk (Fabric). это обеспечить все функции, мы можем легко интегрировать меньше времени принять

Twitter Sample code

Reference Code Plz check it

+1

Здравствуйте, У меня возникли проблемы с использованием набора для входа в твиттер Fabric. Из плагина Android Studio Farbic на экране выбора набора для установки опция «Неизвестно» вместо «Установить». Кто-нибудь еще столкнулся с этой проблемой? Я должен упомянуть, что с проектом с нуля этого не происходит. –

4

Мой случай ошибки: должен начинаться с Fabric.with() перед вызовом Twitter Kit

Решение:

До этого я использовал: Fabric.with (это новый Crashlytic с()); & Fabric.with (это новый Twitter (authConfig)); И, наконец, не работает.

Перед Интеграция Twitter мой код

- Fabric.with (это, новый Crashlytics());

После Интеграция Twitter я заменить

- ткань.с (это новый Twitter (authConfig), новый Crashlytics());

Теперь работает как шарм,

3

Вот как я реализовал Twitter Войти с помощью ткани:

  1. ключ Declare щебет и секрет:

    private static final String TWITTER_KEY = "r5nPFPbcDrzoJM9bIBCqyfHPK"; 
    private static final String TWITTER_SECRET = "oJ8y2KPIySPpoBX3eCcqgcnmPGXLI94BR4g9ZztnApSmXQG9Ij "; 
    
    //Twitter Login Button 
    TwitterLoginButton twitterLoginButton; 
    
  2. OnCreate() способ:

    //Initializing TwitterAuthConfig, these two line will also added automatically while configuration we did 
    TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET); 
    Fabric.with(this, new Twitter(authConfig)); 
    
    setContentView(R.layout.activity_main); 
    
    //Initializing twitter login button 
    twitterLoginButton = (TwitterLoginButton) findViewById(R.id.twitterLogin); 
    
    //Adding callback to the button 
    twitterLoginButton.setCallback(new Callback<TwitterSession>() { 
        @Override 
        public void success(Result<TwitterSession> result) { 
         //If login succeeds passing the Calling the login method and passing Result object 
         login(result); 
        } 
    
        @Override 
        public void failure(TwitterException exception) { 
         //If failure occurs while login handle it here 
         Log.d("TwitterKit", "Login with Twitter failure", exception); 
        } 
    }); 
    

3.override onActivityResult():

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     //Adding the login result back to the button 
     twitterLoginButton.onActivityResult(requestCode, resultCode, data); 
    } 

4.Finally, Логин():

public void login(Result<TwitterSession> result) { 

//Creating a twitter session with result's data 
     TwitterSession session = result.data; 

     //Getting the username from session 
     final String username = session.getUserName(); 

     //This code will fetch the profile image URL 
     //Getting the account service of the user logged in 
     Twitter.getApiClient(session).getAccountService() 
       .verifyCredentials(true, false, new Callback<User>() { 
        @Override 
        public void failure(TwitterException e) { 
         //If any error occurs handle it here 
        } 

        @Override 
        public void success(Result<User> userResult) { 
         //If it succeeds creating a User object from userResult.data 
         User user = userResult.data; 

         //Getting the profile image url 
         String profileImage = user.profileImageUrl.replace("_normal", ""); 

         Log.d("done","name-->"+username + "url-->"+profileImage); 
         // Toast.makeText(this,"name-->"+username + "url-->"+profileImage,Toast.LENGTH_LONG).show(); 

        } 
       }); 
    } 

У вас есть имя пользователя и profilepicture URL в login() для где бы вы ни находились.

+0

Можете ли вы рассказать мне, как я могу перенаправить пользователя на экран входа в twitter (если он не входит в систему) приложения, если он установлен или в браузере? –

 Смежные вопросы

  • Нет связанных вопросов^_^