如果您想讓Beta測試人員測試最終會成爲付費應用的應用,該怎麼辦?如果你不想使用Google API,比如檢查Gmail帳戶,該怎麼辦?在android上,如何在不使用Google API的情況下只允許測試用戶訪問
0
A
回答
0
請注意,這不適用於通過Google發佈測試版。這是爲了你自己做的。
我現在正在測試一系列中文課程應用程序,並決定使用電話號碼來允許測試者訪問。請注意,您不能總是從電話設備獲取電話號碼。但主要是你可以。下面是執行檢查類:
package org.this_voice.ruzhechu01;
import android.telephony.TelephonyManager;
import android.content.Context;
import java.util.Set;
import java.util.HashSet;
import java.util.Arrays;
public class BetaPhoneCheck extends Object {
private String accessGranted = "false";
private Context appContext = null;
private static final Set<String> ACCESS_LIST = new HashSet<String> (Arrays.asList(
new String[] {"2074583598"}));
public BetaPhoneCheck(Context context) {
appContext = context;
}
public boolean hasAccess(){
String thisNumber = getDevicePhoneNumber();
thisNumber = thisNumber.replace("-", ""); //FIXME use fhandler's regex code
return ACCESS_LIST.contains(thisNumber);
}
/*
* not guaranteed to work...
*/
private String getDevicePhoneNumber() {
TelephonyManager mTelephonyMgr;
mTelephonyMgr = (TelephonyManager)
appContext.getSystemService(Context.TELEPHONY_SERVICE);
return mTelephonyMgr.getLine1Number();
}
}
下面是訪問失敗佈局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/title"
style="?textTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/app_name" />
<TextView
android:id="@+id/textView1"
style="?textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_access" />
<Button
style="?button"
android:id="@+id/accessExit"
android:layout_width="fill_parent"
android:layout_height="36dp"
android:text="Exit"
android:onClick="exit" />
</LinearLayout>
下面是的strings.xml:
<string name="no_access">BETA ACCESS FAILURE\n\nMake sure your phone is in service.\n\nEmail developer if you are unable to access your Beta App.\n\n</string>
,這裏是從主力的onCreate代碼活動:
boolean hasAccess = new BetaPhoneCheck(this).hasAccess();
if (! hasAccess){
setContentView(R.layout.no_access);
} else {
而對於清單燙髮:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
希望當他們想推動應用出來公測這節省了人們一些時間。請享用。
0
我已經要求人們向我發送他們的UUID,並在啓動Activity中對UUID進行檢查。儘管如此,這並不能擴展到大量用戶。如果你想這樣做,你需要一個web服務來檢查UUID與數據庫中允許的id的列表。
+0
查看後,手機上沒有任何內容標記爲UUID。你以編程方式拉它。因此,電話或無線MAC地址,除非有人願意對沒有技術傾向的測試用戶進行大量解釋。 –
相關問題
- 1. 允許在沒有授權的情況下訪問單個API?
- 2. 允許註冊用戶在未登錄的情況下訪問其帳戶
- 3. 允許用戶使用CakePHP訪問API
- 4. 我允許在以下情況下使用last.fm API嗎?
- 5. 如何在不允許用戶安裝Chrome網上應用店的情況下使用谷歌瀏覽器api?
- 6. 允許Android市場訪問,但不允許Google商戶帳戶訪問
- 7. 只允許用戶只讀訪問woocommerce
- 8. 如何僅允許我的應用在未登錄的情況下訪問Firebase?
- 9. 如何在不使用https的情況下在Google上搜索?
- 10. SocketException(0x80004005)試圖在安全性不允許的情況下訪問套接字
- 11. 如何從不同的測試情況下訪問測試步驟在getXMLHolder
- 12. 允許用戶在未登出的情況下選擇帳戶
- 13. 如何在不允許用戶下載並使用Android手機的情況下存儲音樂?
- 14. 如何在無法訪問iPhone的情況下測試iPhone?
- 15. 如何在不引入XSS的情況下允許用戶控制的CSS?
- 16. 如何在不使用dom的情況下測試Sass函數?
- 17. 如何在不強制用戶允許的情況下在Facebook選項卡上顯示用戶名
- 18. 如何在不使用「Google fit」API的情況下獲取Android設備活動
- 19. 在不允許用戶書寫的情況下更新用戶信息
- 20. PHP - 允許用戶只訪問一次
- 21. 如何在不允許訪問整個auth數據庫的情況下顯示zumero用戶信息?
- 22. 如何在不使用onSignalStrengthsChanged()的情況下訪問SignalSteength?
- 23. 如何在不使用.controller()的情況下訪問$ location服務?
- 24. 在未經允許的情況下登錄用戶Google oAuth屏幕
- 25. 如何在不使用C#/ UWP中的NetworkCredential的情況下訪問API?
- 26. 是否可以在沒有Google API的情況下從Android訪問Google App Engine?
- 27. Android應用程序如何在未經許可的情況下訪問鈴聲?
- 28. 是否允許在Google Play商店上運行Android應用測試版測試?
- 29. 如何在不使用Jquery或AJAX的情況下訪問此API?
- 30. 如何在不使用appengine的情況下使用google-api-services-plus-v1
我不確定此檢查是否符合Google Play商店規則和TOS! – Pavlos
不幸的是,getLine1Number並不總是有效。它只適用於一些運營商。而@Pavlos- Google Play並非唯一的應用商店。關於我的大部分beta測試版都沒有經過任何應用商店,我通過電子郵件和sideload提交。 –