برای اینکه یک برنامه بیشتر درباره تبلیغاتی که ارائه می شود بداند، تبلیغ را به عنوان GADAdMetadataDelegate خود تنظیم کنید. سپس میتوانید با اجرای متد adMetadataDidChange: در GADAdMetadataDelegate ، به تغییرات فراداده آگهی گوش دهید. هنگامی که این نماینده فراخوانی شد، ویژگی adMetadata در آگهی را بررسی کنید.
adMetadataDidChange: درست پس از بارگیری آگهی یا زمانی که ابرداده یک آگهی پس از بارگیری به صورت ناهمزمان تغییر می کند، فراخوانی می شود. تضمینی وجود ندارد که فراداده آگهی در زمان بارگذاری در دسترس باشد، بنابراین توصیه میکنیم قبل از دسترسی به فراداده آگهی منتظر این تماس باشید.
در اینجا یک نمونه کد نشان می دهد که چگونه می توان ابرداده های تبلیغاتی را برای یک تبلیغ پاداش دار بازیابی کرد:
@interfaceViewController()<GADFullScreenContentDelegate,GADAdMetadataDelegate>
@end@implementationViewController-(void)loadRewardedAd{*request=[request];[GADRewardedAdloadWithAdUnitID:@"ca-app-pub-3940256099942544/4806952744"request:requestcompletionHandler:^(GADRewardedAd*ad,NSError*error){if(error){NSLog(@"Rewarded ad failed to load with error: %@",[errorlocalizedDescription]);return;}self.rewardedAd=ad;self.rewardedAd.fullScreenContentDelegate=self;/// Set the ad to be the delegate of its ad metadata.self.rewardedAd.adMetadataDelegate=self;NSLog(@"Rewarded ad loaded.");}];}/#pragmamarkGADAdMetadataDelegateimplementation-(void)adMetadataDidChange:(id<GADAdMetadataProvider>)ad{NSDictionary<NSString*,id>*adMetadata=_rewardedAd.adMetadata;NSString*adId=adMetadata[@"AdId"];}
پس از بازیابی متادیتا، میتوانید Bundle را برای یافتن کلیدهایی که برایتان مهم هستند بررسی کنید. انواع مختلف تبلیغات ممکن است دارای کلیدهای فراداده تبلیغات متفاوتی باشند. تبلیغات ویدیویی VAST دارای کلیدهای زیر هستند:
کلید
تایپ کنید
توضیحات
AdId
رشته
شناسه آگهی، یا رشته خالی اگر در دسترس نیست.
AdTitle
رشته
عنوان، اگر مشخص نشده باشد خالی است.
CreativeDurationMs
عدد صحیح
مدت زمان خلاقیت انتخاب شده بر حسب میلی ثانیه، -1 اگر غیرخطی باشد.
TraffickingParameters
رشته
پارامترهای قاچاق، یا رشته خالی اگر در دسترس نباشد.
DealId
رشته
اولین شناسه معامله موجود در زنجیره بسته بندی آگهی فعلی، که از بالا شروع می شود، یا رشته خالی اگر این اطلاعات در دسترس نباشد.
AdSystem
رشته
سرور آگهی منبع آگهی، در صورت موجود نبودن خالی است.
CreativeId
رشته
شناسه خلاقیت انتخاب شده برای تبلیغ، در صورت موجود نبودن خالی است.
MediaURL
رشته
URL رسانه انتخاب شده.
Wrappers
آرایه
آرایه با عناصری پر شده است که از درونیترین آگهی بستهبندی شروع میشوند (نزدیک به آگهی درون خطی) و به سمت بیرونیترین آگهی بستهبندی حرکت میکنند. هر عنصر در آرایه یک فرهنگ لغت است که حاوی کلیدها و مقادیر زیر است.
AdId
رشته . شناسه آگهی استفاده شده برای آگهی بسته بندی، اگر در دسترس نباشد خالی است.
AdSystem
رشته . سیستم تبلیغاتی مورد استفاده برای تبلیغات لفاف دار، اگر در دسترس نباشد خالی است.
CreativeId
رشته . شناسه خلاق مورد استفاده برای تبلیغات بسته بندی، اگر در دسترس نباشد خالی است.
تاریخ آخرین بهروزرسانی 2025-08-30 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-08-30 بهوقت ساعت هماهنگ جهانی."],[[["\u003cp\u003eThis guide helps publishers integrate ad metadata with the Google Mobile Ads iOS SDK for rewarded and rewarded interstitial ad formats.\u003c/p\u003e\n"],["\u003cp\u003eYou need to set the ad as its own \u003ccode\u003eGADAdMetadataDelegate\u003c/code\u003e and implement the \u003ccode\u003eadMetadataDidChange:\u003c/code\u003e method to receive ad metadata updates.\u003c/p\u003e\n"],["\u003cp\u003eAd metadata may not be available immediately when an ad loads, so waiting for the \u003ccode\u003eadMetadataDidChange:\u003c/code\u003e callback is recommended.\u003c/p\u003e\n"],["\u003cp\u003eVAST video ads provide specific metadata keys like AdId, AdTitle, CreativeDurationMs, and more, which can be accessed through the ad's \u003ccode\u003eadMetadata\u003c/code\u003e property.\u003c/p\u003e\n"]]],[],null,["# Ad Metadata\n\nSelect platform: [Android](/ad-manager/mobile-ads-sdk/android/ad-metadata \"View this page for the Android platform docs.\") [iOS](/ad-manager/mobile-ads-sdk/ios/ad-metadata \"View this page for the iOS platform docs.\")\n\n\u003cbr /\u003e\n\nThis guide is intended for publishers integrating ad metadata with the Google\nMobile Ads iOS SDK.\n\nPrerequisites\n-------------\n\n- Google Mobile Ads SDK minimum version 7.41.0.\n- Complete the steps in either of the guides below:\n - [Rewarded ads](/ad-manager/mobile-ads-sdk/ios/rewarded)\n - [Rewarded interstitial\n ads](/ad-manager/mobile-ads-sdk/ios/rewarded-interstitial)\n\nFetching ad metadata\n--------------------\n\nTo have an app know more about ads that are served, set the ad to be its own\n`GADAdMetadataDelegate`. Then you can listen for ad metadata changes by\nimplementing the `adMetadataDidChange:` method on `GADAdMetadataDelegate`. Once\nthis delegate is called, check the `adMetadata` property on the ad.\n\n`adMetadataDidChange:` is called just after an ad loads or when an ad's\nmetadata changes asynchronously after it loads. It is not guaranteed that ad\nmetadata is available at load time, so we recommend waiting for this callback\nbefore accessing an ad's metadata.\n\nHere is a code example showing how to retrieve the ad metadata for a rewarded\nad: \n\n @interface ViewController () \u003cGADFullScreenContentDelegate, GADAdMetadataDelegate\u003e\n\n @end\n\n @implementation ViewController\n - (void)loadRewardedAd {\n *request = [ request];\n [GADRewardedAd\n loadWithAdUnitID:@\"ca-app-pub-3940256099942544/4806952744\"\n request:request\n completionHandler:^(GADRewardedAd *ad, NSError *error) {\n if (error) {\n NSLog(@\"Rewarded ad failed to load with error: %@\", [error localizedDescription]);\n return;\n }\n self.rewardedAd = ad;\n self.rewardedAd.fullScreenContentDelegate = self;\n\n /// Set the ad to be the delegate of its ad metadata.\n self.rewardedAd.adMetadataDelegate = self;\n\n NSLog(@\"Rewarded ad loaded.\");\n }];\n }\n\n /#pragma mark GADAdMetadataDelegate implementation\n - (void)adMetadataDidChange:(id\\\u003cGADAdMetadataProvider\\\u003e)ad {\n NSDictionary\\\u003cNSString\\*, id\\\u003e \\*adMetadata = _rewardedAd.adMetadata;\n NSString \\*adId = adMetadata\\[@\"AdId\"\\];\n }\n\nAfter retrieving the metadata, you can check the Bundle for the keys you care\nabout. Different types of ads might have different ad metadata keys associated\nwith them. VAST video ads have the following keys:\n\n| Key | Type | Description |\n|-------------------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `AdId` | String | The ID of the ad, or the empty string if not available. |\n| `AdTitle` | String | The title, empty if not specified. |\n| `CreativeDurationMs` | Integer | The selected creative duration in milliseconds, `-1` if non-linear. |\n| `TraffickingParameters` | String | Trafficking parameters, or the empty string if not available. |\n| `DealId` | String | The first deal ID present in the wrapper chain for the current ad, starting from the top, or the empty string if this information is not available. |\n| `AdSystem` | String | The source ad server of the ad, empty if not available. |\n| `CreativeId` | String | The ID of the selected creative for the ad, empty if not available. |\n| `MediaURL` | String | The URL of the selected media. |\n| `Wrappers` | Array | The array is populated with elements beginning at the innermost wrapper ad (close to the inline ad) moving outwards to the outermost wrapper ad. Each element in the array is a dictionary that contains the following keys and values. `AdId` : *String*. Ad ID used for wrapper ad, empty if not available. `AdSystem` : *String*. Ad system used for wrapper ad, empty if not available. `CreativeId` : *String*. Creative ID used for wrapper ad, empty if not available. |\n\n| **Note:** Only VAST wrapper ads have `Wrappers` key in the ad metadata. VAST inline ads don't contain `Wrappers` metadata."]]