Android facebook VK 登录与分享 开源SDK

xiaoxiao2021-02-28  107

自己封好的SDK 直接调用 就可以登录 包含facebook VK 登录分享

首先导入SDK 在项目gradle 添加FB,VK的引用 如果你不需要修改源码 直接导入arr文件 比较方便

repositories { mavenCentral() } dependencies { //compile 'com.facebook.android:facebook-android-sdk:4.+' compile 'com.facebook.android:facebook-android-sdk:4.25.0' compile 'com.vk:androidsdk:1.6.8' compile project(':mqsdk') }

一.在 清单文件添加声明 记得添加网络权限

<!-- facebook --> <activity android:name="com.mq.mqsdk.MyFacebook" android:theme="@style/fun" /> <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id" /> <!-- VK --> <activity android:name="com.mq.mqsdk.MyVK" android:theme="@style/fun"></activity> <activity android:name="com.vk.sdk.VKServiceActivity" android:label="ServiceActivity" android:theme="@style/VK.Transparent" />

在Strings 添加 facebook 和VK 的AppId id是fb和VK后台创建项目生成的

<string name="facebook_app_id">741826486001816</string> <integer name="com_vk_sdk_AppId">6017658</integer>

二 声明自己的MyApplication 在MyApplication 的 onCreate添加VK 初始化

<application android:name=".MyApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); VKSdk.initialize(getApplicationContext()); } }

三准备工作已经完成 可以直接调用 实现 FB VK的登录与分享

3.1 facebook 登录分享

/*** * facebook登陆 */ initSDK.SDKManager().setFacebook(MainActivity.this, new initSDK.onMQFacebookListener() { @Override public void Process(Profile profile, String Token) { Toast.makeText(MainActivity.this, "用户数据是" + profile.getName(), Toast.LENGTH_SHORT).show(); } }); /*** * facebook 分享 */ initSDK.SDKManager().setFacebookShare(MainActivity.this, "标题", "描述", "www.baidu.com", new initSDK.onMqFacebookShareLinstener() { @Override public void Process(int code) { switch (code) { case initSDK.SUCCESS: Toast.makeText(MainActivity.this, "分享成功", Toast.LENGTH_SHORT).show(); break; case initSDK.CANCEL: Toast.makeText(MainActivity.this, "分享取消", Toast.LENGTH_SHORT).show(); break; case initSDK.ERROR: Toast.makeText(MainActivity.this, "分享错误", Toast.LENGTH_SHORT).show(); break; } } });

3.2 VK登录分享

/*** * VK登录 */ initSDK.SDKManager().setVKlogin(MainActivity.this, new initSDK.onMQVKLoginListener() { @Override public void process(VKAccessToken res, VKResponse response) { final String userId = res.userId.toString(); final String token = res.accessToken.toString(); Toast.makeText(MainActivity.this, "用户数据是" + response.json, Toast.LENGTH_SHORT).show(); } }); /*** * VK分享 */ final Bitmap b = BitmapFactory. decodeResource(getResources(), R.mipmap.ic_launcher); initSDK.SDKManager().setVKShare(MainActivity.this, "标题", "描述", b, "www.baidu.com", new initSDK.onMQVKShareLinstener() { @Override public void process(int code) { switch (code) { case initSDK.SUCCESS: Toast.makeText(MainActivity.this, "分享成功", Toast.LENGTH_SHORT).show(); break; case initSDK.CANCEL: Toast.makeText(MainActivity.this, "分享取消", Toast.LENGTH_SHORT).show(); break; case initSDK.ERROR: Toast.makeText(MainActivity.this, "分享错误", Toast.LENGTH_SHORT).show(); break; } } });

四 后台密钥 fb 和VK 如果后台不配置密钥 可以在没有客户端的情况下 登录分享网页版

这里用代码生成 然后配置到后台。

/** * facebook 后台需要配置的 key hashes * 可以在这里生成 配置在后台 */ private void getKeyHash() { try { PackageInfo info = getPackageManager().getPackageInfo( "com.mq.mqsdkdemo", PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); System.out.println("这里可以获取facebook KeyHash" + Base64.encodeToString(md.digest(), Base64.DEFAULT)); } } catch (PackageManager.NameNotFoundException e) { } catch (NoSuchAlgorithmException e) { } } /** * VK 后台需要配置的 签名 * 可以在这里生成 配置在后台 */ private void getVKkey() { String[] fingerprints = VKUtil.getCertificateFingerprint(this, this.getPackageName()); for (String fingerprint : fingerprints) { System.out.println("这里可以获取VK签名" + fingerprint); } }

附SDKDemo 下载地址

http://download.csdn.net/detail/jin290/9834725

转载请注明原文地址: https://www.6miu.com/read-37185.html

最新回复(0)