標準流程
- 用戶點擊「微信/ QQ/ Google 登入」。
- SDK 回調返回用戶資訊,包含
avatarUrl(頭像網絡地址)。
- App 直接用
Glide/Picasso/Coil 加載該 URL 顯示,無需下載存儲。
用戶修改頭像
// 1. 用戶從相冊/相機選擇圖片
// 2. 壓縮轉 Base64 或上傳至自有服務器/對象存儲 (OSS)
String localPath = compressAndSave(uri);
String newAvatarUrl = uploadToOSS(localPath);
// 3. 更新本地緩存與服務器用戶資料
User user = UserManager.getCurrentUser();
user.setAvatarUrl(newAvatarUrl);
UserManager.updateUser(user);
// 4. 介面刷新
Glide.with(this).load(newAvatarUrl).circleCrop().into(ivAvatar);
關鍵點
- 第三方頭像 URL 可能有效期限制(微信 5 分鐘),建議登入時**同步下載存儲至自有存儲**,後續使用自有域名 URL。
- 修改頭像後,第三方平台頭像不變,僅本地 App 顯示新頭像。
- 若需同步修改第三方頭像,需調用對應開放平台 API(微信不支援,Google 支援 People API)。