我已将 Appodeal 集成到我的 android 应用中。
我正在尝试在 OnCreate 方法中显示横幅广告,但它仅在我重新加载活动时才有效。
有人知道如何解决这个问题吗?
我尝试通过在启动时从不同的 Activity 加载 Activity 来执行其他方法,但没有奏效。
主要活动代码:
package com.jodastudios.universalskyremote;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.AttributeSet;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;
import com.appodeal.ads.AdType;
import com.appodeal.ads.Appodeal;
import com.appodeal.ads.api.App;
import com.google.android.material.tabs.TabLayout;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
public static final String TAG = "MainActivity";
private ViewPager viewPager;
private TabLayout tabLayout;
private PageAdapter pageAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tabLayout = (TabLayout) findViewById(R.id.tabLayout);
viewPager = (ViewPager) findViewById(R.id.viewPager);
pageAdapter = new PageAdapter(getSupportFragmentManager(),tabLayout.getTabCount());
viewPager.setAdapter(pageAdapter);
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
viewPager.setOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
String ip = sp.getString("IP_ADDRESS","_");
if(ip == "_"){
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("First time use");
builder.setCancelable(false);
builder.setMessage("Welcome to our app! To get started, go to Settings and change your IP address or search for Sky boxes automatically");
builder.setPositiveButton("Settings", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent=new Intent(MainActivity.this,PreferenceActivity.class);
startActivity(intent);
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.show();
}
Appodeal.initialize(this, "XXXXXXXX", Appodeal.BANNER | Appodeal.INTERSTITIAL, true);
Appodeal.setTesting(true);
Appodeal.setBannerViewId(R.id.appodealBannerView);
if(Appodeal.isLoaded(Appodeal.BANNER)){
Appodeal.show(this,Appodeal.BANNER_BOTTOM);
Toast toast = Toast.makeText(this,"Showed banner",Toast.LENGTH_SHORT);
toast.show();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main,menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
if(item.getItemId() == R.id.settings){
Intent intent = new Intent(getApplicationContext(),PreferenceActivity.class);
startActivity(intent);
}
if(item.getItemId() == R.id.about){
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("About this app");
builder.setMessage("Developed by Joda Studios\nPublished by Joda Studios");
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.show();
}
if(item.getItemId() == R.id.help){
Intent intent = new Intent(getApplicationContext(),HelpPage.class);
startActivity(intent);
}
if(item.getItemId() == R.id.saved){
Intent intent = new Intent(getApplicationContext(),SavedChannels.class);
startActivity(intent);
}
return super.onOptionsItemSelected(item);
}
}