本篇將著墨在開發者實作部分,
由於Google Play Billing Library中已經有一個很完整的範例程式。
所以本篇會直接拿來使用,並暫時不講解程式碼。
按照底下步驟做便能完成APK與Google Play Developer Console連動。
- 下載Google Play Billing Library
- 打開Android SDK manager並下載安裝Google Play Billing Library
- 路徑為: /{SDK路徑}/sdk/extras/google/play_billing
- 將範例程式Import到Eclipse當中
- 在Eclipse中點擊File -> Import -> Android -> Existing Android Code Into Workspace
- 範例程式路徑為: /{SDK路徑}/sdk/extras/google/play_billing/samples/TrivialDrive
- 將Package Name更名
- 原先的Package為com.example.android.trivialdrivesample, 由於com.example.android會無法上傳至Google Play Developer Console. 所以需要先行更名。
- 前往Google Play Developer Console建立一個新的應用程式
- 點擊"新增應用程式"
- 填入標題
- 倘若您無法進入此頁面,代表您沒有支付25美金的上架費
- 將此應用程式的Public Key複製起來
- 將剛才的Key填入程式碼當中
- 在MainActivity.java中可以看到下列程式碼,將之取代成剛才的Key
- 此應用程式有三個內購項目,我們必須先記下他的名稱,才方便我們等下在Google Play Developer Console建立內購項目
- 從程式碼可以得知"premium"是屬於非消耗品,"gas"屬於消耗品,"infinite_gas"屬於訂閱項目
- 將此Project輸出成signed的APK, 不能使用debug key.
- 對專案按右鍵Android Tools -> Export Signed Application Package...
- 到此處整個Project應該不會有任何錯誤,若有錯誤需先處理再做此步驟
- 上傳剛才的APK至Google Play Developer Console
- 將APK上傳至ALPHA階段,才能作測試用
- 至應用程式內產品加入剛才的三項產品
- 在API v3中,納入管理的產品和為納入管理的產品是一樣的
- "premium"和"gas"為納入管理的產品,"infinite_gas"則為訂閱
- 在訂閱項目中,有一個免費試用期,建議填寫7天,好方便測試
- 將需要的資訊填好後,記得儲存並啟用
- 將其他的Google帳號加入測試帳號中,之後才能透過此帳號進行購買測試。
- 您無法使用發佈此App的Google帳號進行內購測試
- 被加入的帳號必須登陸信用卡資訊才能進行測試
- 接下來您可以決定是否要發佈,發佈前仍需要將其他資訊填好,直到發佈應用程式的按鈕亮起
- 如果沒有發佈,第11步驟的測試帳號仍可測試內購已簽章的APK,為測試購買
- 如果發佈,第11步驟的測試帳號的購買行為是測試購買,其他帳號則是真實購買
- 發佈後,將您的Android手機登入剛才加入測試的Google帳號,安裝Signed好的APK檔,便能測試購買
- 發佈後,需要等待幾個小時才能順利購買,這期間您可能在購買過程中發生錯誤,包括"需要認證,請登入Google帳號"等錯誤訊息
- 底下是此範例程式的執行結果
String base64EncodedPublicKey = "CONSTRUCT_YOUR_KEY_AND_PLACE_IT_HERE";
// SKUs for our products: the premium upgrade (non-consumable) and gas (consumable) static final String SKU_PREMIUM = "premium"; static final String SKU_GAS = "gas"; // SKU for our subscription (infinite gas) static final String SKU_INFINITE_GAS = "infinite_gas";
請注意,納入管理的產品屬於測試訂單,不會扣錢。
可是訂閱則是真實訂單,是會扣錢的,
所以前面才會提醒要填寫7天的免費試用期,
在測試的時候記得7天內要記得取消訂閱,
才不會被扣到款。
超過7天沒有取消就會被扣款了,
所以前面才會提醒要填寫7天的免費試用期,
在測試的時候記得7天內要記得取消訂閱,
才不會被扣到款。
超過7天沒有取消就會被扣款了,
只能透過商家電子錢包進行退款。
而且Google Play屬於國外交易,
大部分的信用卡都會收取國外交易手續費的喔。
另外要提醒的是,
所有在Google Play Developer Console的動作,
都不會馬上生效,
需要等待幾個小時甚至一兩天才會生效。
建議每一個動作都要想清楚再做!
另外要提醒的是,
所有在Google Play Developer Console的動作,
都不會馬上生效,
需要等待幾個小時甚至一兩天才會生效。
建議每一個動作都要想清楚再做!
如果想要給別的朋友或帳號測試,
可以將signed的APK傳給別人並將帳號加入測試。
或者建立一個Google網上論壇,
並在Google Play Developer Console將此論壇加入至ALPHA測試人員也可。
如何使用Google網上論壇可參照此篇文章。
針對測試購買的結論
針對測試購買的結論
- 不發佈APP,只有測試帳號才能測試購買。發佈APP,所有帳號都能購買,只是測試帳號屬於測試購買,其他帳號屬於真實購買。
- 對於測試帳號,納入管理的產品屬於測試購買,訂閱是真實購買,所以將訂閱設定試用期,可免去退款動作。
- 因為發佈ALPHA版本並不會在Google Play上公開,所以建立Google網上論壇只是方便特定測試人員能在Google Play上下載,並非必要動作。
- 所有在Google Play Developer Console的動作都不會馬上生效,請至少等待數個小時甚至一天。
沒有留言:
張貼留言