Aşağıda, üst kısmında Grid Layout ve alt kısmında Admob Banner reklamı bulunan bir Android uygulama arayüzü örneği bulacaksınız:
1. XML Layout Dosyası (activity_main.xml)
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ads="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <!-- GridView (Üst Kısım) --> <GridView android:id="@+id/gridView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@id/adView" android:layout_alignParentTop="true" android:numColumns="3" android:columnWidth="100dp" android:stretchMode="columnWidth" android:gravity="center" android:verticalSpacing="8dp" android:horizontalSpacing="8dp" android:padding="8dp"/> <!-- Admob Banner (Alt Kısım) --> <com.google.android.gms.ads.AdView android:id="@+id/adView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" ads:adSize="BANNER" ads:adUnitId="ca-app-pub-3940256099942544/6300978111"> </com.google.android.gms.ads.AdView> </RelativeLayout>
2. build.gradle (Module) Bağımlılıklar
dependencies { implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.material:material:1.9.0' // Admob için implementation 'com.google.android.gms:play-services-ads:22.5.0' // GridView için gerekli diğer bağımlılıklar implementation 'androidx.constraintlayout:constraintlayout:2.1.4' }
3. MainActivity.kt
import android.os.Bundle import android.widget.ArrayAdapter import android.widget.GridView import androidx.appcompat.app.AppCompatActivity import com.google.android.gms.ads.AdRequest import com.google.android.gms.ads.AdView import com.google.android.gms.ads.MobileAds class MainActivity : AppCompatActivity() { private lateinit var gridView: GridView private lateinit var adView: AdView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // GridView'i başlat ve verileri ayarla gridView = findViewById(R.id.gridView) val items = listOf( "Öğe 1", "Öğe 2", "Öğe 3", "Öğe 4", "Öğe 5", "Öğe 6", "Öğe 7", "Öğe 8", "Öğe 9" ) val adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, items) gridView.adapter = adapter // Admob'u başlat MobileAds.initialize(this) {} adView = findViewById(R.id.adView) val adRequest = AdRequest.Builder().build() adView.loadAd(adRequest) } override fun onResume() { super.onResume() adView.resume() } override fun onPause() { super.onPause() adView.pause() } override fun onDestroy() { super.onDestroy() adView.destroy() } }
4. AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <!-- Admob için gerekli izinler --> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_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/Theme.MyApplication"> <!-- Admob App ID (Test ID kullanılmıştır, kendi ID'nizle değiştirin) --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-3940256099942544~3347511713"/> <activity android:name=".MainActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
Özellikler ve Notlar:
GridView Özellikleri:
3 sütunlu grid yapısı
Dinamik olarak veri eklenebilir
Öğeler arasında boşluklar bulunur
Admob Banner Özellikleri:
Uygulamanın alt kısmında sabit banner
Test reklam birimi kullanılmıştır (canlı yayın için kendi reklam birim ID'nizi eklemelisiniz)
Yaşam döngüsü yönetimi (onResume, onPause, onDestroy)
Düzen:
RelativeLayout kullanılarak gridView ve adView doğru şekilde konumlandırılmıştır
GridView, adView'in üstünde olacak şekilde ayarlanmıştır
Test Reklamları:
Uygulamayı test ederken
AdRequest.Builder().build()kullanabilirsinizCanlı yayın için kendi reklam birim ID'nizi eklemelisiniz
Bu yapı, uygulamanızda reklam geliri elde etmek isterken aynı zamanda kullanıcı dostu bir grid arayüzü sunmak için idealdir. GridView yerine RecyclerView ile GridLayoutManager kullanarak daha esnek bir yapı da oluşturabilirsiniz.
Hiç yorum yok:
Yorum Gönder