Разрешение не предоставлено даже после добавления в манифест и через java в android - PullRequest
0 голосов
/ 07 мая 2020

Я пытался протестировать простой Admob в android, поэтому я использовал приведенный ниже код, и когда я запускаю приложение, реклама не появляется, поэтому, когда я проверяю разрешение приложения, оно показывает Разрешение не запрашивается

Я добавил

  1. <uses-permission android:name="android.permission.INTERNET"/> в androidManifest
  2. Также используется Tedpermission и ted show Permission Granted на тосте.

Мой вопрос: почему я не вижу рекламы в своем приложении?

enter image description here

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sanoj.admobtest" >

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" >
        <activity android:name=".MainActivity" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

предоставление разрешения через TedPermission

public class MainActivity extends AppCompatActivity {

    Button btShow;
    AdView adView1,adView2;
    InterstitialAd interstitialAd;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        PermissionListener permissionlistener = new PermissionListener() {
            @Override
            public void onPermissionGranted() {
                Toast.makeText(MainActivity.this, "Permission Granted", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onPermissionDenied(List<String> deniedPermissions) {
                Toast.makeText(MainActivity.this, "Permission Denied\n" + deniedPermissions.toString(), Toast.LENGTH_SHORT).show();
            }


        };
        TedPermission.with(this)
                .setPermissionListener(permissionlistener)
                .setDeniedMessage("If you reject permission,you can not use this service\n\nPlease turn on permissions at [Setting] > [Permission]")
                .setPermissions(Manifest.permission.INTERNET, Manifest.permission.ACCESS_NETWORK_STATE)
                .check();

        btShow = findViewById(R.id.bt_show);
        adView1 = findViewById(R.id.ad_view1);
        adView2 = findViewById(R.id.ad_view2);

        MobileAds.initialize(this,"ca-app-pub-2471429062443535~8344634230");

        AdRequest adRequest = new AdRequest.Builder().build();
        adView1.loadAd(adRequest);
        adView2.loadAd(adRequest);

        interstitialAd = new InterstitialAd(this);
        interstitialAd.setAdUnitId("ca-app-pub-2471429062443535/3691073350");
        interstitialAd.loadAd(new AdRequest.Builder().build());

        btShow.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                interstitialAd.show();
            }
        });
    }
}

Activity_main. xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/bt_show"
        android:text="Show Ad"
        android:textAllCaps="false"
        android:layout_centerInParent="true"
        />

    <com.google.android.gms.ads.AdView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/ad_view1"
        android:layout_centerHorizontal="true"
        xmlns:ads="http://schemas.android.com/apk/res-auto"
        ads:adSize="BANNER"
        ads:adUnitId="ca-app-pub-2471429062443535/8153062545"
        >
    </com.google.android.gms.ads.AdView>

    <com.google.android.gms.ads.AdView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/ad_view2"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        xmlns:ads="http://schemas.android.com/apk/res-auto"
        ads:adSize="BANNER"
        ads:adUnitId="ca-app-pub-2471429062443535/8144844752"
        >

    </com.google.android.gms.ads.AdView>

</RelativeLayout>

1 Ответ

0 голосов
/ 07 мая 2020

Inte rnet Разрешение не будет указано в Разделе разрешений . Это нормальное разрешение, которое будет предоставлено, поскольку оно указано в файле манифеста .

Разделы разрешений включают только опасные разрешения (например, Местоположение, Хранилище и т. Д. c ...). Однако Inte rnet разрешение не опасное разрешение, это нормальное разрешение .

Отметьте эту ссылку на узнать больше об опасных разрешениях.

Возможно, ваша проблема связана с вашим apiKey или unitId.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...