【技術(shù)整理】國外第三方登錄與分享調(diào)研

本次在iOS與Android兩端分別調(diào)研Google, Facebook, Line, WhatsApp。其中WhatsApp沒有提供第三方登錄功能。下面,將在配置登錄的各個(gè)環(huán)節(jié)區(qū)分客戶端對Google, Facebook, Line進(jìn)行說明。

注冊App需要提交什么

iOS

第三方 提交內(nèi)容
Google Bundle ID, App Store ID, Team ID
Facebook Bundle ID
Line bundle ID, iOS Scheme

iOS Scheme: your bundle identifier is com.example.app, set the iOS scheme as line3rdp.com.example.app.

Android

第三方 提交內(nèi)容
Google debug & release SHA-1 fingerprint
Facebook debug與release各自用的密鑰散列
Line Android package name, Android package signature(Optional),Android scheme(Optional)
獲得 SHA-1 fingerprint
// Debug
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

// Release
keytool -list -v -keystore your_keystore_name -alias your_alias_name
開發(fā)密鑰散列
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
發(fā)布密鑰散列
keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64

注冊后第三方提供給我們什么

iOS

第三方 提供給我們
Google OAuth Client ID
Facebook CFBundleURLSchemes, FacebookAppID, LSApplicationQueriesSchemes
Line ChannelID

Android

第三方 提供給我們
Google OAuth Client ID
Facebook facebook_app_id, fb_login_protocol_scheme
Line Channel ID

Facebook代碼中的各種key值是在https://developers.facebook.com/docs/facebook-login/ios 的文檔頁中選擇好新建的項(xiàng)目后,自動生成的

如何安裝SDK

iOS

第三方 安裝方法
Google pod
Facebook pod, 下載SDK到本地
Line pod, 下載SDK到本地

Android

第三方 安裝方法
Google build.gradle加dependencies
Facebook maven, 下載SDK到本地
Line build.gradle加dependencies, 下載SDK到本地

實(shí)現(xiàn)第三方登錄的方法

iOS

第三方 登錄方法
Google 添加GIDSignInButton,或自定義按鈕,將GIDSignInButton做為屬性加到按鈕中
Facebook 添加FBSDKLoginButton,或調(diào)用登錄頁顯示方法
Line 調(diào)用登錄頁顯示方法

Android

第三方 登錄方法
Google 調(diào)用登錄頁顯示方法
Facebook 1. 添加LoginButton,并將按鈕綁定CallbackManager
2. 自定義按鈕,調(diào)用登錄頁顯示方法
Line 調(diào)用登錄頁顯示方法

登錄成功后能獲得的信息

iOS

第三方 獲得的信息
Google uid, accessToken, fullName, givenName, email
Facebook uid, token, email
Line token, user profile ID, display name, status message, and profile picture.

Android

第三方 獲得的信息
Google uid, token, email
Facebook uid, accessToken, email
Line accessToken, line_profile, line_credential, display_name, status_message, user_id, picture_url

Facebook中,要請求額外的讀取權(quán)限,需設(shè)置 FBSDKLoginButton 對象的 readPermissions 屬性。

// Extend the code sample from 6a. Add Facebook Login to Your Code
// Add to your viewDidLoad method:
loginButton.readPermissions = @[@"public_profile", @"email"];

注意

網(wǎng)上提到facebook若是上一個(gè)賬號沒退出,那么換賬號時(shí)會出現(xiàn)無法獲取登錄信息的問題

分享調(diào)研

本次調(diào)研,測試了TikTok的分享功能。TikTok可分享的途徑有:Facebook, Message, SMS, Twitter, WhatsApp, Line,Messenger


image.png

點(diǎn)擊Other, 會出現(xiàn)系統(tǒng)的airdrop等分享方式


image.png

本次, 調(diào)研了Facebook, Line, WhatsApp, Twitter, 都可以成功分享,分享形式是將一段文案+鏈接轉(zhuǎn)發(fā)到各第三方軟件中。其中,F(xiàn)acebook與Twitter在分享出后,會將“文案+鏈接”轉(zhuǎn)換成可點(diǎn)擊的“封面+文案”樣式。其他App只以文本格式分享展示。

Facebook

點(diǎn)擊鏈接后,提示跳入TikTok的App


image.png

Line

點(diǎn)擊后,跳入Line中的網(wǎng)頁,可網(wǎng)頁播放,可跳入App


image.png

WhatsApp

點(diǎn)擊鏈接后,直接跳入TikTok


image.png

Twitter

點(diǎn)擊后,跳入Twitter中的網(wǎng)頁,可網(wǎng)頁播放,可跳入App


image.png

Messenger

點(diǎn)擊后,跳入Messenger中的網(wǎng)頁,可網(wǎng)頁播放,可跳入App

image.png

關(guān)于是否被禁用的問題(針對facebook, messenger)

每天是否能分享多次?

通過實(shí)驗(yàn),短時(shí)間內(nèi)連續(xù)分享30多次,仍可以正常分享,沒有被禁的情況出現(xiàn)。

http://www.itdecent.cn/p/e92bbc8a44ad中有人提?到:

分享網(wǎng)址次數(shù)過多,F(xiàn)acebook會自動屏蔽該網(wǎng)址。解決的辦法就是使用短域名服務(wù)。不僅如此,縮短鏈接還能追蹤click的點(diǎn)擊數(shù)量,每天的瀏覽量,用戶的國家分布情況。特別要說明的是,縮短網(wǎng)址要在登陸的情況下,才能追蹤詳細(xì)的信息,比如用戶來自哪個(gè)國家,單位時(shí)間內(nèi)多少用戶的點(diǎn)擊等等詳細(xì)信息。

是否有可能由于某些情況將整個(gè)App的分享功能封掉

由于開發(fā)過程實(shí)現(xiàn)facebook分享需要去facebook開發(fā)者網(wǎng)站申請平臺id,所以,在違反facebook規(guī)定的話,該App是會被facebook封掉的。

facebook政策:https://developers.facebook.com/policy/

其中,在我看來有風(fēng)險(xiǎn)的方面有:

1.8 應(yīng)用的負(fù)面反饋應(yīng)始終低于我們的限值。
5.2 不得提供或推廣侵犯任何第三方權(quán)利的內(nèi)容。
5.5.a 在美國,您必須采取一切必要步驟遵守?cái)?shù)字千年版權(quán)法的適用安全港原則,包括任命代理人接收侵權(quán)申訴通知、制定屢犯侵權(quán)人終止政策以及實(shí)施通知和撤除程序。
5.5.b 在其他國家,您必須遵守當(dāng)?shù)匕鏅?quán)法并在接收到侵權(quán)申訴通知后實(shí)施恰當(dāng)?shù)耐ㄖ统烦绦颉?/p>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容