Android Inizializzazione e login

Esempio

  1. Crea una nuova applicazione qui: crea un'applicazione
  2. Scegli l'applicaton standalone e conferma la creazione dell'app tramite SMS.
  3. Compila il nome del pacchetto per Android come nome del pacchetto corrente. È possibile ottenere il nome del pacchetto all'interno del file manifest Android, all'inizio.
  4. Ottieni l' impronta digitale del certificato eseguendo questo comando nella tua shell / cmd:
keytool -exportcert -alias androiddebugkey -keystore path-to-debug-or-production-keystore -list -v

Puoi anche ottenere questa impronta digitale dall'SDK stesso:

String[] fingerprints = VKUtil.getCertificateFingerprint(this, this.getPackageName());
Log.d("MainActivity", fingerprints[0]);
  1. Aggiungi l'impronta digitale ricevuta nell'impronta digitale del certificato di firma per Android: campo nelle impostazioni dell'app Vk (dove hai inserito il nome del pacchetto)

  2. Quindi aggiungi questo al tuo file gradle:

compile 'com.vk:androidsdk:1.6.5'
  1. Inizializza l'SDK all'avvio usando il seguente metodo. Il modo migliore è chiamarlo nel metodo Applications onCreate.
private static final int VK_ID = your_vk_id;
public static final String VK_API_VERSION = "5.52"; //current version
@Override
    public void onCreate() {
        super.onCreate();
        VKSdk.customInitialize(this, VK_ID, VK_API_VERSION);
}

Questo è il modo migliore per inizializzare VKSdk. Non utilizzare il methid in cui VK_ID deve essere inserito all'interno di strings.xml perché api non funzionerà correttamente dopo di esso.

  1. Il passaggio finale è accedere utilizzando vksdk.
    public static final String[] VK_SCOPES = new String[]{
            VKScope.FRIENDS,
            VKScope.MESSAGES,
            VKScope.NOTIFICATIONS,
            VKScope.OFFLINE,
            VKScope.STATUS,
            VKScope.STATS,
            VKScope.PHOTOS
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        someButtonForLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               VKSdk.login(this, VK_SCOPES); 
            }
        });
 
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        VKSdk.onActivityResult(requestCode, resultCode, data, new VKCallback<VKAccessToken>() {
            @Override
            public void onResult(VKAccessToken res) {
                res.accessToken; //getting our token here.
            }

            @Override
            public void onError(VKError error) {
                Toast.makeText(SocialNetworkChooseActivity.this,
                        "User didn't pass Authorization", Toast.LENGTH_SHORT).show();
            }
        });
    }