برای ارائه آگهی و کسب درآمد، Google Mobile Ads SDK for React Native را در برنامه React Native خود ادغام کنید. این راهنما شامل نصب و مقداردهی اولیه Google Mobile Ads SDK for React Native و انتخاب قالب آگهی است.
پیشنیازها
پیشاز ادامه دادن، موارد زیر را دریافت کنید:
- React Native نسخه 0.85.0 یا بالاتر.
- حساب AdMob و شناسه برنامه. برای دریافت شناسه برنامه، راهاندازی برنامه در AdMob را ببینید.
موارد Android زیر:
- Android API سطح ۲۴ یا جدیدتر.
- جدیدترین نسخه «استودیو Android».
- افزایه Android Gradle (AGP) نسخه ۸.۰ یا بالاتر.
موارد iOS زیر:
- iOS نسخه ۱۳.۰ یا بالاتر.
- Xcode نسخه ۱۶.۰ یا بالاتر و ابزارهای خط فرمان فعالشده.
- CocoaPods
نصب Google Mobile Ads SDK for React Native
برای نصب Google Mobile Ads SDK for React Native، کارهای زیر را انجام دهید:
- پوشه
gma-sdk-react-nativeرا از Google Drive بارگیری کنید. بایگانی zip را در دایرکتوری جداگانهای خارج از دایرکتوری پروژه کاریتان استخراج کنید. این فرایند ممکن است از تداخل با فایلهای پیکربندی پروژهتان جلوگیری کند.
در ریشه پروژه، دایرکتوری
local_packages/ایجاد کنید.در این دایرکتوری، فایل
mobile-ads-0.1.0.tgzرا کپی کنید:mkdir -p local_packages cp EXTRACT_DIR/gma-sdk-react-native/google-mobile-ads/mobile-ads-0.1.0.tgz local_packages/EXTRACT_DIR را با مسیر دایرکتوریای که بایگانی را در آن استخراج کردهاید جایگزین کنید.
بسته را با مدیر بسته موردنظرتان نصب کنید:
npm
npm install ./local_packages/mobile-ads-0.1.0.tgzکاموا
yarn add ./local_packages/mobile-ads-0.1.0.tgz
پیکربندی برنامه
برای پیکربندی برنامهتان با وابستگیهای پلاتفرم، شناسههای برنامه AdMob را به فایل app.json ریشه پروژهتان اضافه کنید.
برای آزمایش، از شناسههای نمونه برنامه AdMob نشاندادهشده در مثال زیر استفاده کنید:
{
"name": "APP_NAME",
"displayName": "APP_NAME",
"googleMobileAds": {
"android_app_id": "ca-app-pub-3940256099942544~3347511713",
"ios_app_id": "ca-app-pub-3940256099942544~1458002511"
}
}
درطول زمان ساخت، Google Mobile Ads SDK for React Native ویژگی android_app_id را به فایل AndroidManifest.xml و ویژگی ios_app_id را در فایل Info.plist ساختهشده شما بهعنوان کلید GADApplicationIdentifier اضافه میکند.
برای گزینههای مختص پلاتفرم یا پیکربندی دستی، یکی از پلاتفرمهای زیر را انتخاب کنید:
Android
اگر چندین پیکربندی ساخت را مدیریت میکنید یا React Native را در برنامه Android موجودی ادغام میکنید، شناسه برنامه AdMob خود را در عنصر <application> فایل AndroidManifest.xml پروژه خود بهجای فایل app.json اضافه کنید:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application>
<!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="SAMPLE_APP_ID"
tools:replace="android:value"/>
</application>
</manifest>
Gradle بهطور خودکار وابستگیهای Android را درطول زمان ساخت حل میکند.
iOS
مراحل زیر را تکمیل کنید:
وابستگیهای CocoaPods را از فهرست راهنمای
ios/پروژهتان نصب کنید:pod install --repo-updateیا بهجای آن، وابستگیهای CocoaPods را از دایرکتوری ریشه پروژهتان نصب کنید:
npx pod-installپیوند خودکار CocoaPods اسکریپت فاز ساخت Xcode را پیکربندی میکند که ویژگی
ios_app_idرا از فایلapp.jsonدر فایلInfo.plistساختهشده شما اضافه میکند.در فایل
Info.plistبرنامهتان، کلیدSKAdNetworkItemsرا در عنصر<dict>برای Googlecstr6suwn9.skadnetworkو خریداران طرف سوم منتخب اضافه کنید.مثال زیر فایل
Info.plistکاملی را نشان میدهد که حاوی آرایهSKAdNetworkItemsموردنیاز است:نمونه کامل
<key>SKAdNetworkItems</key> <array> <dict> <key>SKAdNetworkIdentifier</key> <string>cstr6suwn9.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>4fzdc2evr5.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>2fnua5tdw4.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>ydx93a7ass.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>p78axxw29g.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>v72qych5uu.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>ludvb6z3bs.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>cp8zw746q7.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3sh42y64q3.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>c6k4g5qg8m.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>s39g8k73mm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>wg4vff78zm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3qy4746246.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>f38h382jlk.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>hs6bdukanm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>mlmmfzh3r3.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>v4nxqhlyqp.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>wzmmz9fp6w.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>su67r6k2v3.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>yclnxrl5pm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>t38b2kh725.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>7ug5zh24hu.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>gta9lk7p23.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>vutu7akeur.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>y5ghdn5j9k.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>v9wttpbfk9.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>n38lu8286q.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>47vhws6wlr.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>kbd757ywx3.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>9t245vhmpl.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>a2p9lx4jpn.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>22mmun2rn5.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>44jx6755aq.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>k674qkevps.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>4468km3ulz.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>2u9pt9hc89.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>8s468mfl3y.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>klf5c3l5u5.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>ppxm28t8ap.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>kbmxgpxpgc.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>uw77j35x4d.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>578prtvx9j.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>4dzt52r2t5.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>tl55sbb4fm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>c3frkrj4fj.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>e5fvkxwrpn.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>8c4e2ghe7u.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3rd42ekr43.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>97r2b46745.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3qcr597p9d.skadnetwork</string> </dict> </array>
مقداردهی اولیه Google Mobile Ads SDK for React Native
قبلاز بار کردن آگهیها، روش initialize را برای
مقداردهی اولیه Google Mobile Ads SDK for React Native فراخوانی کنید. روش initialize را یکبار در راهاندازی برنامه فراخوانی کنید،
مثلاً در مؤلفه ریشه App.tsx.
مثال زیر Google Mobile Ads SDK for React Native را مقداردهی اولیه میکند:
import {InitializationStatus, initialize} from '@google/mobile-ads';
import {useEffect, useState} from 'react';
import {Text, View} from 'react-native';
/**
* Root application component demonstrating Google Mobile Ads SDK initialization.
*/
export function App() {
const [isInitialized, setIsInitialized] = useState<boolean>(false);
useEffect(() => {
// Initialize the Google Mobile Ads SDK.
initialize({}, (status: InitializationStatus) => {
console.log('Mobile Ads SDK initialized successfully:', status);
setIsInitialized(true);
});
}, []);
return (
<View>
<Text>
{isInitialized ? 'Mobile Ads SDK Ready' : 'Initializing SDK...'}
</Text>
</View>
);
}
انتخاب قالب آگهی
پساز مقداردهی اولیه Google Mobile Ads SDK for React Native، میتوانید آگهیها را پیادهسازی کنید. AdMob قالبهای آگهی زیر را ارائه میدهد:
| قالب | شرح | اسناد |
|---|---|---|
| باز شدن برنامه | وقتی کاربران برنامه شما را باز میکنند یا به آن برمیگردند، این آگهی ظاهر میشود و روی صفحه بار کردن یا صفحه اسپلش قرار میگیرد. | راهاندازی آگهی در صفحه باز شدن برنامه |
| بینابینی | آگهیهای تمامصفحهای که میانای برنامه میزبان را میپوشانند. این آگهیها در نقاط انتقال طبیعی در جریان برنامه ظاهر میشوند، مثلاً بین فعالیتها یا درطول مکث بین مراحل بازی. | راهاندازی آگهیهای بینابینی |
| پاداش | آگهیهای تمامصفحهای که به کاربران برای تماشای آگهیهای ویدیویی یا تعامل با آگهیهای قابلبازی پاداش میدهند. | راهاندازی آگهیهای پاداشدار |
| بینابینی پاداشدار | قالب آگهی تشویقی که به شما امکان میدهد برای آگهیهایی که بهطور خودکار درطول انتقالهای طبیعی برنامه ظاهر میشوند پاداش ارائه دهید. | راهاندازی آگهیهای بینابینی پاداشدار |