Skip to content
This repository has been archived by the owner on Mar 28, 2024. It is now read-only.
/ SocialHelper Public archive

SocialHelper 可以帮你快速完成国内以及国外很多平台的授权登录、分享功能。全部采用三方平台最新的Api实现;平台太多需要慢慢迭代上去,个人精力有限,已停更。需要更新SDK的需要自己fork一下去更新。

License

Notifications You must be signed in to change notification settings

devzwy/SocialHelper

Repository files navigation

SocialHelper

SocialHelper 可以帮你快速完成国内以及国外很多平台的授权登录、分享功能。全部采用三方平台最新的Api实现;平台太多需要慢慢迭代上去,我会一直维护这个库。由于测试比较困难,每加入一个平台我都要去做测试,大家不要催。

由于该类型库的测试太麻烦,欢迎小伙伴们与我一起维护该库,点击邮箱1/邮箱2/邮箱3与我联系,帮忙测试自己拥有的平台。我会在文末永久印下参与测试的小伙伴,愿岁月静好~

待办

  • 🎉 微信平台 授权获取用户资料分享[支持文本、图片、音乐、视频、网页、小程序]
  • 🍀 QQ平台
  • 🏁 Facebook平台
  • 💃🏻 Google
  • 🚑 Line
  • 📝 ...

如何使用

注意Demo是无法直接运行看到结果的。因为平台有限制报名、签名、以及相关key的校验;

1.引入依赖 Packaging status

下面的版本号(1.0.0)换成上面图片中的最新版本(去掉v) 点击Sync Now

implementation("top.wdsf:SocialHelper:1.0.0")

2.初始化

别忘了在AndroidManifest.xml注册自己的Application~

class MyApplication:Application() {
    override fun onCreate() {
        super.onCreate()
        SocialHelper.init(SocialConfig.Build(context = this)
            .logEnable(enable = BuildConfig.DEBUG)
            .logTag(tag = "SocialHelper")
            .weChat(appId = "替换为你的微信appid",appSecretKey = "替换为你的微信appSecretKey")
            .otherPlatform()
            .build())
    }
}

3.调用Api(后文有每个平台接入还需要完成的工作,别忘了)

//授权码获取 有配置appSecretKey时同步获取accessToken,否则仅获取authCode
SocialHelper.startAuth(
                platform = Platform.WECHAT,
                onSocialAuthListener = object : OnSocialAuthListener<WeChatAuth> {
                    /**
                     * 授权登陆错误回传
                     */
                    override fun onSocialAuthError(platform: Platform, errorMsg: String) {
                        logE("onSocialAuthError() -> platform:${platform.name},errorMsg:${errorMsg}")
                    }

                    /**
                     * 成功回调
                     */
                    override fun onSocialAuthSuccess(platform: Platform, data: WeChatAuth) {
                        logD("onSocialAuthSuccess() -> platform:${platform.name},data:${data.toJsonStr()}")
                    }
                }
            )
//获取用户资料

SocialHelper.getUserInfo(platform = platform,mSocialAuth = data,onSocialUserInfoListener = object :OnSocialUserInfoListener<WeChatUserInfoRespData>{
/**

* 失败回调
  */
  override fun onGetUserInfoError(platform: Platform, errorMsg: String) {
  logE("onGetUserInfoError() -> platform:${platform.name},errorMsg:${errorMsg}")
  }

/**

* 成功回调
  */
  override fun onGetUserInfoSuccess(
  platform: Platform,
  data: WeChatUserInfoRespData
  ) {
  logD("onSocialAuthSuccess() -> platform:${platform.name},data:${data.toJsonStr()}")
  }
  })

各平台集成你还需要完成的工作

1.微信集成

授权流程: 调起客户端获取授权码(authCode) - 使用授权码获取AccessToken(需要appSecretKey) 获取用户资料: 在成功获取到accessToken后即可获取用户资料(获得unicode)

这里建议前端获取授权码即可,其他工作交给后台完成,本SDK不强制传入微信appSecretKey,当用户在调用授权Api时如果没有配置appSecretKey时将返回authCode,不会去获取accessToken。

  • 在同包名下创建wxapi包,并新建WXEntryActivity(名称不要变)继承自SocialWxEntryActivity
class WXEntryActivity:SocialWxEntryActivity() {
}
  • 在AndroidManifest.xml中注册该Activity
<activity android:name=".wxapi.WXEntryActivity"
            android:exported="true"
            android:taskAffinity="这里写你的包名"
            android:launchMode="singleTask"
            />
  • 最后记得App要签名后再运行,否则可能无法调起微信~

About

SocialHelper 可以帮你快速完成国内以及国外很多平台的授权登录、分享功能。全部采用三方平台最新的Api实现;平台太多需要慢慢迭代上去,个人精力有限,已停更。需要更新SDK的需要自己fork一下去更新。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published