SafetyNet Safe Browsing не работает
Я пытаюсь реализовать простую регистрацию запроса URL-адреса Android с помощью руководства по безопасному просмотру по адресу https://developer.android.com/training/safetynet/safebrowsing.html чтобы получить вредоносные или фишинговые угрозы для некоторых URL-адресов.
Я использую фрагмент (для активности с вкладками) для реализации API, и он должен получить запрос с информацией о вредоносном сайте, но всегда является ответом, что вредоносный сайт не является реальной угрозой.
например, этот сайт: http://malware.testing.google.test/testing/malware/ с использованием инструмента отчетов о прозрачности: https://transparencyreport.google.com/safe-browsing/search?url=http:%2F%2Fmalware.testing.google.test%2Ftesting%2Fmalware%2F показывает, что сайт является вредоносным, но в моем приложении показано, что это надежный сайт.
вот мой код:
public class ThreatList extends Fragment{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_threat, container, false);
new LoadThreatData().execute();
return view;
}
@Override
public void onResume(){
super.onResume();
}
@SuppressLint("StaticFieldLeak")
private class LoadThreatData extends AsyncTask<Void, Integer, Void>{
@Override
protected Void doInBackground(Void... voids) {
SafetyNet.getClient(getActivity()).initSafeBrowsing();
Log.d("Threats", "init");
return null;
}
@Override
protected void onPostExecute(Void result){
String url = "http://malware.testing.google.test/testing/malware/"; //"go.trackmyclicks202.com";//"http://ianfette.org/"; //"http://malware.wicar.org/data/eicar.com";
SafetyNet.getClient(getActivity()).lookupUri(
url,
"MY_API_KEY_FROM_GOOGLE_DEVELOPERS_CONSOLE",
SafeBrowsingThreat.TYPE_POTENTIALLY_HARMFUL_APPLICATION,
SafeBrowsingThreat.TYPE_SOCIAL_ENGINEERING)
.addOnSuccessListener(getActivity(), new OnSuccessListener<SafetyNetApi.SafeBrowsingResponse>() {
@Override
public void onSuccess(SafetyNetApi.SafeBrowsingResponse sbResponse) {
// Indicates communication with the service was successful.
// Identify any detected threats.
if (sbResponse.getDetectedThreats().isEmpty()) {
// No threats found.
Log.e("Threats", "no threats found");
Toast.makeText(
getActivity(),
"no threats",
Toast.LENGTH_SHORT)
.show();
//always get in here
} else {
// Threats found!
Log.e("Threats", sbResponse.toString());
Toast.makeText(
getActivity(),
sbResponse.toString(),
Toast.LENGTH_SHORT)
.show();
}
}
})
.addOnFailureListener(getActivity(), new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// An error occurred while communicating with the service.
if (e instanceof ApiException) {
// An error with the Google Play Services API contains some
// additional details.
ApiException apiException = (ApiException) e;
Log.d(TAG, "Error: " + CommonStatusCodes
.getStatusCodeString(apiException.getStatusCode()));
Toast.makeText(
getActivity(),
"error1",
Toast.LENGTH_SHORT)
.show();
// Note: If the status code, apiException.getStatusCode(),
// is SafetyNetstatusCode.SAFE_BROWSING_API_NOT_INITIALIZED,
// you need to call initSafeBrowsing(). It means either you
// haven't called initSafeBrowsing() before or that it needs
// to be called again due to an internal error.
} else {
// A different, unknown type of error occurred.
Log.d(TAG, "Error: " + e.getMessage());
Toast.makeText(
getActivity(),
"error2",
Toast.LENGTH_SHORT)
.show();
}
}
});
}
}
}
В граделе используют:
compile 'com.google.android.gms:play-services-safetynet:11.8.0'
В манифесте поставить разрешение:
<uses-permission android:name="android.permission.INTERNET" />
Я не знаю, что я делаю не так, я использую API V4 самой последней версии, но независимо от того, какой URL используется, всегда показывайте, что это не угроза, API V3 теперь устарела, поэтому я не использую Это.
API уже включен, и я получаю свой ключ API и все необходимые конфигурации, но на панели API из консоли разработчиков Google показано, что для конкретного API нет трафика или использования, любая помощь, пожалуйста!!!