{"id":1451,"date":"2021-07-29T15:26:45","date_gmt":"2021-07-29T07:26:45","guid":{"rendered":"https:\/\/badgameshow.com\/fly\/?p=1451"},"modified":"2021-07-29T15:28:01","modified_gmt":"2021-07-29T07:28:01","slug":"android-%e9%98%b2%e6%ad%a2%e6%a9%9f%e5%99%a8%e4%ba%ba%e9%a9%97%e8%ad%89-google%e5%9c%96%e5%bd%a2%e9%a9%97%e8%ad%89-recaptcha","status":"publish","type":"post","link":"https:\/\/badgameshow.com\/fly\/android-%e9%98%b2%e6%ad%a2%e6%a9%9f%e5%99%a8%e4%ba%ba%e9%a9%97%e8%ad%89-google%e5%9c%96%e5%bd%a2%e9%a9%97%e8%ad%89-recaptcha\/","title":{"rendered":"Android \u9632\u6b62\u6a5f\u5668\u4eba\u9a57\u8b49 Google\u5716\u5f62\u9a57\u8b49 reCAPTCHA"},"content":{"rendered":"<h1>Android \u9632\u6b62\u6a5f\u5668\u4eba\u9a57\u8b49 Google\u5716\u5f62\u9a57\u8b49 reCAPTCHA<\/h1>\n<h5>Google\u5728\uff086\/9\uff09\u91cb\u51fa\u4e86\u652f\u63f4Android\u5e73\u53f0\u7684reCAPTCHA API\uff0cGoogle reCAPTCHA\u662fGoogle\u958b\u767c\u7684\u9632\u5835\u6a5f\u5668\u4eba\u9a57\u8b49API\uff0c\u539f\u672c\u662f\u8a2d\u8a08\u7d66\u7db2\u9801\u4f7f\u7528\uff0c\u5f8c\u4f86\u767c\u73fe\u5b83\u4e5f\u53ef\u4ee5\u5728APP\u4e0a\u4f7f\u7528\uff0c\u9019\u6a23\u5728\u4e00\u4e9b\u4f8b\u5982\u7533\u8acb\u5e33\u865f\u7684\u6d41\u7a0b\u4e0a\u5c31\u80fd\u52a0\u4e0a\u5b83\u3002<\/h5>\n<hr \/>\n<h4>\u6587\u7ae0\u76ee\u9304<\/h4>\n<ol>\n<li><a href=\"#a\">reCAPTCHA\u5b98\u7db2\u7533\u8acb\u91d1\u9470<\/a><\/li>\n<li><a href=\"#b\">\u5c0e\u5165Safetynet<\/a><\/li>\n<li><a href=\"#c\">\u5e03\u5c40&#038;\u65b9\u6cd5\u4ecb\u7d39<\/a><\/li>\n<li><a href=\"#d\">\u7a0b\u5f0f\u78bc\u7bc4\u4f8b<\/a><\/li>\n<li><a href=\"#e\">\u6548\u679c\u5c55\u793a<\/a><\/li>\n<\/ol>\n<hr \/>\n<p><a id=\"a\"><\/a><\/p>\n<h4>1.reCAPTCHA\u5b98\u7db2\u7533\u8acb\u91d1\u9470<\/h4>\n<h5>\u5b98\u65b9\u7db2\u7ad9<\/h5>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/www.google.com\/recaptcha\/admin\" target=\"_blank\" rel=\"noopener\">https:\/\/www.google.com\/recaptcha\/admin<\/a><\/p>\n<h5>\u9078\u64c7\u65b9\u5f0f(\u5957\u4ef6\u662f\u4f60\u7684\u5305\u540d)<\/h5>\n<p><a href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/07\/messageImage_1627542477421.jpg\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/07\/messageImage_1627542477421.jpg\" width=\"80%\"\/><\/a><\/p>\n<h5>\u5f85\u6703\u8981\u8f38\u5165\u7684\u91d1\u9470<\/h5>\n<p><a href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/07\/messageImage_1627542704804.jpg\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/07\/messageImage_1627542704804.jpg\"\/><\/a><\/p>\n<h5>\u91d1\u9470\u50f9\u683c\u8a08\u7b97<\/h5>\n<p><a href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/07\/messageImage_1627541033807.jpg\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/07\/messageImage_1627541033807.jpg\"\/><\/a><\/p>\n<p><a id=\"b\"><\/a><\/p>\n<h4>2.\u5c0e\u5165Safetynet<\/h4>\n<pre><code class=\"language-Gradle line-numbers\">dependencies {\n     implementation 'com.google.android.gms:play-services-safetynet:17.0.1'\n}\n<\/code><\/pre>\n<p><a id=\"c\"><\/a><\/p>\n<h4>3.\u5e03\u5c40&amp;\u65b9\u6cd5\u4ecb\u7d39<\/h4>\n<h5>\u5e03\u5c40<\/h5>\n<pre><code class=\"language-XML line-numbers\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\n&lt;androidx.constraintlayout.widget.ConstraintLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"\n    xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\"\n    tools:context=\".MainActivity\"&gt;\n\n    &lt;Button\n        android:onClick=\"check\"\n        android:id=\"@+id\/btn_robot\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\"\n        android:layout_marginTop=\"132dp\"\n        android:text=\"\u9a57\u8b49\"\n        android:textSize=\"20sp\"\n        app:layout_constraintEnd_toEndOf=\"parent\"\n        app:layout_constraintHorizontal_bias=\"0.498\"\n        app:layout_constraintStart_toStartOf=\"parent\"\n        app:layout_constraintTop_toTopOf=\"parent\" \/&gt;\n\n    &lt;TextView\n        android:id=\"@+id\/result\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"92dp\"\n        app:layout_constraintEnd_toEndOf=\"@+id\/btn_robot\"\n        app:layout_constraintStart_toStartOf=\"@+id\/btn_robot\"\n        app:layout_constraintTop_toBottomOf=\"@+id\/btn_robot\" \/&gt;\n\n\n&lt;\/androidx.constraintlayout.widget.ConstraintLayout&gt;\n<\/code><\/pre>\n<h5>\u65b9\u6cd5\u4ecb\u7d39<\/h5>\n<h6>\u6dfb\u52a0\u91d1\u9470<\/h6>\n<pre><code class=\"language-Kotlin line-numbers\">verifyWithRecaptcha(\"6LfnVckbAAAAAHdhba1jkIZXymHK14MlOn03V4st\")\n<\/code><\/pre>\n<p><a id=\"d\"><\/a><\/p>\n<h4>4.\u7a0b\u5f0f\u78bc\u7bc4\u4f8b<\/h4>\n<pre><code class=\"language-Kotlin line-numbers\">import android.os.Bundle\nimport android.view.View\nimport android.widget.TextView\nimport androidx.appcompat.app.AppCompatActivity\nimport com.google.android.gms.safetynet.SafetyNet\n\nclass MainActivity : AppCompatActivity() {\n\n    override fun onCreate(savedInstanceState: Bundle?) {\n        super.onCreate(savedInstanceState)\n        setContentView(R.layout.activity_main)\n    }\n\n    fun check(view: View) {\n        val result: TextView = findViewById(R.id.result)\n        SafetyNet.getClient(this)\n            .verifyWithRecaptcha(\"6LfnVckbAAAAAHdhba1jkIZXymHK14MlOn03V4st\")\n            .addOnSuccessListener { response -&gt;\n                if (response.tokenResult?.isNotEmpty() == true) {\n                    result.text = \"\u8a8d\u8b49\u6210\u529f\"\n                }\n            }.addOnFailureListener {\n                result.text = \"\u8a8d\u8b49\u5931\u6557\"\n            }\n    }\n}\n<\/code><\/pre>\n<p><a id=\"e\"><\/a><\/p>\n<h4>5.\u6548\u679c\u5c55\u793a<\/h4>\n<p><a href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/07\/1627543439239.gif\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/07\/1627543439239.gif\" width=\"50%\"\/><\/a><\/p>\n\n<div style=\"font-size: 0px; height: 0px; line-height: 0px; margin: 0; padding: 0; clear: both;\"><\/div>","protected":false},"excerpt":{"rendered":"<p>Android \u9632\u6b62\u6a5f\u5668\u4eba\u9a57\u8b49 Google\u5716\u5f62\u9a57\u8b49 reCAPTCHA Google\u5728\uff086\/9\uff09\u91cb\u51fa\u4e86\u652f\u63f4A &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"pgc_sgb_lightbox_settings":"","footnotes":""},"categories":[5],"tags":[13,15,198],"class_list":["post-1451","post","type-post","status-publish","format-standard","hentry","category-android","tag-android","tag-kotlin","tag-recaptcha"],"_links":{"self":[{"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/posts\/1451","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/comments?post=1451"}],"version-history":[{"count":2,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/posts\/1451\/revisions"}],"predecessor-version":[{"id":1457,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/posts\/1451\/revisions\/1457"}],"wp:attachment":[{"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/media?parent=1451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/categories?post=1451"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/tags?post=1451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}