我有一个简单的Android客户端,需要与简单的C#HTTP侦听器"对话".我想通过在POST请求中传递用户名/密码来提供基本级别的身份验证.
MD5哈希在C#中是微不足道的,并且为我的需求提供了足够的安全性,但我似乎无法在android端找到如何做到这一点.
编辑:只是为了解决有关MD5弱点的问题 - C#服务器运行在我的Android客户端用户的PC上.在许多情况下,他们将使用自己的局域网上的Wi-Fi访问服务器,但他们可能会自己冒险从互联网上访问它.此外,服务器上的服务需要使用MD5的传递到我无法控制的第三方应用程序.
可能重复:
如何获取Admob的设备ID
我正在我的Android设备上测试adMob并跟随文档,我正在尝试让设备ID执行adRequest.但是,我无法在logCat中找到设备ID!我做错了什么?
AdRequest adRequest = new AdRequest();
adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
adRequest.addTestDevice("test");
Run Code Online (Sandbox Code Playgroud)
编辑:它不是重复,其他帖子的那些方法对我不起作用.
在实施AdMob时,您可以定义一系列测试ID,以便Google知道向这些设备投放测试广告,而不是真实广告.但是,它需要"散列设备ID".这对我来说似乎有点模糊.他们在谈论什么ID以及他们希望我使用什么样的哈希方法?
我在谈论应该进入的位:
request.testDevices = @[ @"hashed-device-id" ];
Run Code Online (Sandbox Code Playgroud) 您可以轻松添加带有横幅广告的测试设备,这样您就不会因意外点击而被禁止.但是我找不到如何将测试设备添加到插页式广告中.我假设如果你不小心点击它们,你也可以被禁止.
您可以为这些添加测试设备吗?如果是,如何添加?我无法在官方谷歌指南上找到它,也无法在SA上找到它.如何获取测试广告横幅并测试为adMob工作的插页式广告?确实看起来很有希望,但没有关于如何添加测试设备的答案.
可能重复:
如何获取Admob的设备ID
我的活动有一个ListView,我在底部放了一个广告.当我在模拟器上运行应用程序时,我会看到测试广告.当我在手机上播放时,我会收到一个实际的广告.我想在手机上测试而不是真正的广告.
我按照AdMob网站上的说明查看了logcat中的消息,说明如何手动将设备ID添加到AdRequest.问题是这条消息永远不会出现在logcat中.这是一个运行4.1的RAZR.在Aracem回答的SO帖子中,我读到编码后的字符串在Developer Options首选项面板中可用,我找到了它.当我阅读此命令的指南时,设备ID的格式是字母数字(例如"E83D20734F72FB3108F104ABC0FFC738"),但我的手机中的值包含字母,数字和短划线(例如"MQKF-RB61-BBKS-E").
我已将编码的设备ID添加到XML googleads:testDevices中,我还手动将AdRequest添加到我的onCreate中,并将addTestDevice与此字符串一起使用.都没有工作.
我注意到的一件事是有效的命名空间是googleads,而不是示例中显示的广告.当我使用广告时,我在XML中遇到前缀错误.我猜测从4.x切换到6.1,命名空间发生了变化.
我可以通过最小的项目实现这一点,其中onCreate只执行调用super和setContentView.
布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/list"
android:layout_above="@+id/adView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<com.google.ads.AdView
xmlns:googleads="http://schemas.android.com/apk/lib/com.google.ads"
android:id="@id/adView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
googleads:adSize="BANNER"
googleads:adUnitId="@string/admob_id"
googleads:loadAdOnCreate="true"
googleads:testDevices="TEST_EMULATOR, MQKF-RB61-BBKS-E" />
Run Code Online (Sandbox Code Playgroud)
表现
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="16" />
<application android:label="@string/app_name" >
<activity
android:name="mainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" /> …Run Code Online (Sandbox Code Playgroud) android ×4
admob ×3
ads ×1
cryptography ×1
eclipse ×1
hash ×1
interstitial ×1
ios ×1
java ×1
md5 ×1
objective-c ×1