{"adoption": {"forks": 229, "observed_at": "2026-08-28T04:04:25.295059+00:00", "stars": 1335}, "canonical_url": "https://ross.abutalabs.com/products/shareutil", "card": {"archived": false, "artifact_type": "library", "description": "社会化登录分享工具库", "domain": ["mobile-development", "android-tools", "social-media"], "enriched": true, "function": ["sdk", "auth"], "health_score": 20, "homepage": "http://shaohui.me", "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["shaohui10086/ShareUtil"], "name": "shaohui10086/ShareUtil", "platform": ["jvm"], "pushed_at": "2020-11-27T15:57:11+00:00", "repo": "shaohui10086/ShareUtil", "stars": 1335, "tags": ["social-login", "share-sdk", "wechat", "weibo", "qq", "unified-api", "android"], "topics": ["share", "utils"], "urls": [], "use_cases": ["add wechat sharing to android app", "unified social share library for android", "qq weibo wechat login integration", "share images and text to chinese social networks", "get user profile from wechat login", "avoid integrating multiple social sdk jars manually"], "what_it_is": "ShareUtil is an Android library that unifies social sharing and third-party login across WeChat, Weibo, QQ, and QZone behind a single API. It handles platform SDK inconsistencies for sharing text, images, and media, and retrieves user info after OAuth login.", "when_to_avoid": ["you need platforms outside WeChat/QQ/Weibo such as Facebook or Twitter", "you need actively maintained dependencies - the bundled SDK versions and last release date from 2020 are old", "you require reliable share-result callbacks, since the library itself documents they are not fully dependable"], "when_to_choose": ["your Android app needs sharing or login with WeChat, QQ, or Weibo without wrangling each vendor SDK", "you want one consistent API and callback listener across platforms"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/shareutil", "repo": "shaohui10086/ShareUtil", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.295059+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:44:25.154116+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b25409eaf49784e0ac838a4fcc58c8d07008b6c90e1d8d8cfd4efaf4ca0e15c2", "fetched_at": "2026-08-28T04:04:25.295059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shaohui10086/ShareUtil"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.295059+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:44:25.154116+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b25409eaf49784e0ac838a4fcc58c8d07008b6c90e1d8d8cfd4efaf4ca0e15c2", "fetched_at": "2026-08-28T04:04:25.295059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shaohui10086/ShareUtil"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:44:25.154116+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b25409eaf49784e0ac838a4fcc58c8d07008b6c90e1d8d8cfd4efaf4ca0e15c2", "fetched_at": "2026-08-28T04:04:25.295059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shaohui10086/ShareUtil"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.295059+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.295059+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.295059+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:44:25.154116+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b25409eaf49784e0ac838a4fcc58c8d07008b6c90e1d8d8cfd4efaf4ca0e15c2", "fetched_at": "2026-08-28T04:04:25.295059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shaohui10086/ShareUtil"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.295059+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.295059+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:44:25.154116+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b25409eaf49784e0ac838a4fcc58c8d07008b6c90e1d8d8cfd4efaf4ca0e15c2", "fetched_at": "2026-08-28T04:04:25.295059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shaohui10086/ShareUtil"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.295059+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.295059+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.295059+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:44:25.154116+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b25409eaf49784e0ac838a4fcc58c8d07008b6c90e1d8d8cfd4efaf4ca0e15c2", "fetched_at": "2026-08-28T04:04:25.295059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shaohui10086/ShareUtil"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.295059+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.295059+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:44:25.154116+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b25409eaf49784e0ac838a4fcc58c8d07008b6c90e1d8d8cfd4efaf4ca0e15c2", "fetched_at": "2026-08-28T04:04:25.295059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shaohui10086/ShareUtil"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:44:25.154116+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b25409eaf49784e0ac838a4fcc58c8d07008b6c90e1d8d8cfd4efaf4ca0e15c2", "fetched_at": "2026-08-28T04:04:25.295059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shaohui10086/ShareUtil"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:44:25.154116+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b25409eaf49784e0ac838a4fcc58c8d07008b6c90e1d8d8cfd4efaf4ca0e15c2", "fetched_at": "2026-08-28T04:04:25.295059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shaohui10086/ShareUtil"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:44:25.154116+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b25409eaf49784e0ac838a4fcc58c8d07008b6c90e1d8d8cfd4efaf4ca0e15c2", "fetched_at": "2026-08-28T04:04:25.295059+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shaohui10086/ShareUtil"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3562, "days_push": 2105, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}