我试图将mobfox广告添加到一个简单的webview应用程序中,我按照他们的指南进行操作。但是我无法弄明白,尤其是MainActivity.java部分。得到不同的错误,如类,接口或枚举等等。有人可以告诉我如何将mobfox代码添加到java文件中吗?尝试了很多,但我无法使它工作。使用Android工作室。提前谢谢。
MainActivity.java代码
package com.webapp.webviewapp1;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.KeyEvent;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends ActionBarActivity {
private WebView view; //membuat variabel view agar bisa akses method onKeyDown
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
view = (WebView) this.findViewById(R.id.webView);
view.getSettings().setJavaScriptEnabled(true);
view.setWebViewClient(new MyBrowser());
view.loadUrl("http://www.google.com"); //try js alert
view.setWebChromeClient(new WebChromeClient()); // adding js alert support
}
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
//ketika disentuh tombol back
if ((keyCode == KeyEvent.KEYCODE_BACK) && view.canGoBack()) {
view.goBack(); //method goback() dieksekusi untuk kembali pada halaman sebelumnya
return true;
}
// Jika tidak ada history (Halaman yang sebelumnya dibuka)
// maka akan keluar dari activity
return super.onKeyDown(keyCode, event);
}
}
Mobfox横幅广告代码
// ...
import com.mobfox.sdk.bannerads.Banner;
import com.mobfox.sdk.bannerads.BannerListener;
// ...
Banner banner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
banner = (Banner) findViewById(R.id.banner);
final Activity self = this;
banner.setListener(new BannerListener() {
@Override
public void onBannerError(View banner, Exception e) {
Toast.makeText(self, e.getMessage(), Toast.LENGTH_SHORT).show();
}
@Override
public void onBannerLoaded(View banner) {
Toast.makeText(self, "loaded", Toast.LENGTH_SHORT).show();
}
@Override
public void onBannerClosed(View banner) {
Toast.makeText(self, "closed", Toast.LENGTH_SHORT).show();
}
@Override
public void onBannerFinished() {
Toast.makeText(self, "finished", Toast.LENGTH_SHORT).show();
}
@Override
public void onBannerClicked(View banner) {
Toast.makeText(self, "clicked", Toast.LENGTH_SHORT).show();
}
@Override
public void onNoFill(View banner) {
Toast.makeText(self, "no fill", Toast.LENGTH_SHORT).show();
}
});
banner.setInventoryHash("<your-publication-hash>");
banner.load();
}
//permission dialog for marshmello and above
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
banner.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
//add this so video ads will work properly
@Override
protected void onPause() {
super.onPause();
banner.onPause();
}
@Override
protected void onResume() {
super.onResume();
banner.onResume();
}
// ...
答案 0 :(得分:1)
虽然我没有加入技术支持团队,但我对整合过程非常熟悉。
正如斯坦尼斯拉夫所说,似乎你忘记将你的publication-hash添加到代码中:
banner.setInventoryHash("<your-publication-hash>"); // replace the content inside the parenthesis with your hash
此外,请确保您的模块build.gradle和.xml文件已正确设置,并且您已获得AndroidManifest.xml上的所有必需权限。 请再次查看官方说明,确保您没有错过任何一步 -
https://github.com/mobfox/MobFox-Android-SDK#mobfox-android-sdk-core-lib