天天看點

facebook授權和分享以及google支付的FAQ

由于是公司要打開國外市場,需要接入facebook,和google支付,本人隻是接入了facebook,google支付是我們部門老大接入的,是以有不足之處請各位見諒。

facebook接入遇到了一些問題,糾結了一個星期,幸好遇到了飄大神也就是這個文章http://blog.csdn.net/piao_polar/article/details/46742043(主要還是進群想飄大神詳細詢問了一下,佩服飄大神的開源精神),在此把在公司的寫的FAQ接入文檔拿來分享一下

一.FB的問題(這部分有些是根據飄大神的文章做的修改)

1. FB的AppID怎麼取得

接入SDK之前請檢視是否準備FB開發者賬,建立完成可在FB開發者控制台取得AppID

2. 接入FB那些功能點不需要稽核,那些必須要稽核

a) 不需要稽核的功能點:

使用FB進行第三方登入:Facebook Login 

擷取已登入FB賬号的相關資訊,權限:public_profile

擷取已登入FB賬号的同應用好友資訊,權限:user_friends

使用FB應用邀請功能:App Invites

使用FB分享連結:Sharing

在裝置上存在Facebook用戶端的情況下,分享本地圖檔

b) 需要稽核的功能點:

非測試賬号,在裝置上不存在Facebook用戶端的情況下,直接通過FB API分享本地圖檔 權限:publish_actions 

非測試賬号,擷取使用者的全部好友清單需要權限:taggable_friends

如果是測試的話請到控制台Roles添加測試賬号就可以了

3. 申請Key Hashes

CMD運作視窗===》CD 到java bin檔案下 ===》keytool工具,如下:

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64

其中%HOMEPATH%\.android\debug.keystore代表.keystore檔案的路徑

示例:keytool -exportcert -alias androiddebugkey -keystore C:\Users\Tom\.android\debug.keystore | openssl sha1 -binary | openssl base64

輸入.keystore檔案的密碼,OK,Key Hashes拿到放入控制台Settings中。

4. FB開發者賬号并且配置FB控制台

用具有測試權限或更高權限的号可以登入,普通賬号無法登入。因為應用沒有設定成對外可用的狀态。

解決方案:去FB控制台,Status&Review分頁下,把右上角“Do you want to make this app and all its live features available to the general public?”邊上那個大大的開關設定成開的狀态。

控制台按如下填寫

facebook授權和分享以及google支付的FAQ

5. 應用邀請分享成功,但是接受者沒有收到邀請資訊

1) Applink參數沒有按照FB的要求來建立,FB公共兩種方式:第一種是FB托管,第二種是自定義的。咱們一般用FB托管的形式來建立,如何建立請看以下連結

https://developers.facebook.com/quickstarts/468708583310405/?platform=app-links-host

如果對方已經安裝了這個應用,那麼你得将他的FB賬号設定成測試者,才能再次收到消息。請參見官網說明Testing一節

http://stackoverflow.com/questions/29484815/fbsdkappinvitedialog-in-facebook-ios-sdk-version-4-0-1-invite-successfully-sent

6. FB稽核一般多長時間出結果

FB稽核和蘋果稽核相比,速度很快,經常一個工作日就給結果。

7. FB稽核怎麼過

FB稽核傳回的錯誤說明太格式化,也比較簡略。也許會讓人感覺莫名是以。而且似乎沒有申訴過程,對稽核結果不滿意隻好說明寫詳細點再送出一次。

由于稽核的是權限而不是app本身,也不通過FB來發行。我們可以針對稽核出一個版本,反正到時候稽核過了,真正上架的版本可以另出。

8. FB稽核拒絕理由彙總

1) 拒絕理由:我們無法在此平台上重制您所請求的功能的個性化體驗。請送出使用此功能的應用版本,并附上詳細的步驟訓示。

   由于FB的稽核人員和蘋果的稽核不一樣,他們大部分看不懂中文。

   解決方案:步驟和描述最好用英文寫的細緻點,送出的配圖也加上1.2.3的順序,和足夠的标注。

   藏在比較深的功能,可以專門做一個稽核版本,放在容易觸發的地方。比如我原先分享截圖是在戰鬥結束後分享,稽核總是說順利進行分享,最後我送出FB稽核的版本直接在登入界面放了一個分享按鈕,就解決這個問題了。

2) 拒絕理由:使用者必須在使用者消息字段輸入所有内容

分享不能有預置内容。比如你試圖在分享截圖的時候,自動填充“XXX遊戲真好玩,你也一起來玩吧”之類的話,稽核有可能會駁回。

以上隻是上一個版本的,最新版本的貌似預設内容有些問題,有用戶端存在的話預設内容分享不出去會無效化,沒有用戶端分享時可以設定預設内容,以上隻存在于分享本地圖檔功能

   解決方案:同拒絕理由1),依然是出稽核版本的時候别填充,正式版本暗度陳倉就是了。

3) 拒絕理由:需要public_actions權限

比如:您的應用使用社交插件或分享對話框将内容分享至Facebook。這些操作不需要publish_actions權限,也不需要接受稽核。

例如:有分享截圖的需求,申請publish_actions的時候遇到。這個其實是稽核人員的考慮不周的問題。如上述稽核功能點部分所說,如果使用者的裝置上沒有FB app,那麼分享本地檔案是需要這個權限的。

   解決方案:再次送出,且在重制步驟中強調,在一個沒有安裝FB app的裝置中分享本地圖檔是需要權限的。還可以上傳包含這個的截圖(換成你自己在相應權限下的截圖)給他看提高說服力,然後祈禱下次稽核的人員能認真和專業點。

二.google支付的問題

1). 使用Google支付必用步驟

1. APK包必須簽名,且不能使用eclipse或者androidstudio自帶的debug.keystore簽名。

2. APK包中AndroidManifest.xml必須去掉debuggable項設定。

3. APK包上傳谷歌背景,可以設定為beta或alpha版本,上傳後必須釋出,背景顯示釋出成功後方可進行測試。

4. APK上傳後必須添加商品項,且商品項必須激活。

5. 必須準備谷歌測試賬号,不能用送審app的賬号做測試賬号。

6. 谷歌測試賬号必須有可用餘額,也就是或者充值或者綁定信用卡,并且餘額必須大于你要測試的商品項價格。

7. 測試賬号必須添加到谷歌背景測試清單中。

8. 必須在谷歌背景設定測試賬号可用于該應用測試。

9. 必須在浏覽器中登入測試賬号,并在同一個浏覽器中打開谷歌背景為此應用生成的測試連結,之後選擇接受測試邀請

10. 使用谷歌背景生成的支付key重新打包APK

11. 重新打包的APK中包名、AndroidManifest.xml中versioncode/versionname、簽名檔案、商品項id必須與谷歌背景釋出版本一緻。

12. 準備測試裝置,裝置上必須安裝有可用的谷歌服務。

13. 在測試裝置上登入測試賬号,檢視谷歌商店中是否登入的是測試賬号,商店中必須有可購買的app。

14. 可以進行谷歌充值測試。 

2). Google支付提示商品不可購買等無法支付情況

需要檢查如下:

測試裝置是否有可用谷歌架構;

測試裝置是否有可用VPN;

測試裝置是否有登入可用測試賬号;

測試裝置上谷歌商店是否登入的可用測試賬号;

測試裝置上谷歌商店是否有可以支付的項并能彈出支付界面;

測試連結是否被打開,并接受了測試邀請;

測試商品id是否存在;

測試賬号是否有餘額;

測試APK是否簽名正确;

測試APK是否使用了正确的谷歌支付KEY;

測試APK是否是釋出版本;

測試APK是否版本号與谷歌背景的一緻;

3. Google支付提示商品已經購買,不可再次購買

檢查如下:

谷歌支付分為購買和消費兩步,這種是已經執行了購買但是沒有消費,此時需要調用查詢漏單接口,來消費掉商品。

繼續閱讀