ज़रूरी शर्तें
- Xcode 13 या उसके बाद का वर्शन होना चाहिए.
इस गाइड में नॉन्स और मॉनिटर पाने के लिए, PAL SDK टूल को शुरू करने का तरीका बताया गया है वीडियो रिकॉर्डिंग की सुविधा उपलब्ध है. नॉन्स जनरेट करने के लिए PAL का इस्तेमाल करने वाला सैंपल ऐप्लिकेशन देखने के लिए, GitHub से iOS का उदाहरण डाउनलोड करें.
अपने प्रोजेक्ट में PAL SDK टूल जोड़ें
Swift पैकेज मैनेजर का इस्तेमाल करके, PAL SDK टूल इंस्टॉल करें
प्रोग्रामैटिक ऐक्सेस लाइब्रेरी SDK टूल, Swift पैकेज के साथ काम करता है मैनेजर का वर्शन 2.5.3 से शुरू होगा. फ़ॉलो करें Swift पैकेज इंपोर्ट करने के लिए, नीचे दिया गया तरीका अपनाएं.
Xcode में, PAL SDK Swift पैकेज को इंस्टॉल करने के लिए, फ़ाइल > पैकेज जोड़ें....
स्क्रीन पर दिख रहे प्रॉम्प्ट में, PAL SDK Swift पैकेज GitHub खोजें डेटा स्टोर करने की जगह:
https://github.com/googleads/swift-package-manager-google-programmatic-access-library-ios
PAL SDK Swift पैकेज का वह वर्शन चुनें जिसका आपको इस्तेमाल करना है. नए प्रोजेक्ट के लिए, हमारा सुझाव है कि आप अगला मेजर वर्शन इस्तेमाल करें.
आपका काम पूरा होने के बाद, Xcode आपकी पैकेज डिपेंडेंसी का समाधान करता है और इसे बैकग्राउंड में डाउनलोड करता है. पैकेज जोड़ने के तरीके के बारे में ज़्यादा जानने के लिए डिपेंडेंसी, देखें Apple का लेख.
PAL SDK टूल को मैन्युअल तरीके से डाउनलोड और इंस्टॉल करें
अगर आपको Swift पैकेज मैनेजर का इस्तेमाल नहीं करना है, तो PAL SDK टूल को डाउनलोड करें और इसे मैन्युअल तरीके से अपने प्रोजेक्ट में जोड़ें.
- iOS के लिए PAL SDK टूल डाउनलोड और एक्सट्रैक्ट करें
- अपने प्रोजेक्ट में फ़्रेमवर्क शामिल करने के लिए, Apple डेवलपर गाइड का पालन करें.
नॉन्स जनरेट करें
एक "संज्ञा" एन्क्रिप्ट (सुरक्षित) की गई एक स्ट्रिंग है. इसे PAL का इस्तेमाल करके जनरेट किया जाता है
PALNonceLoader
. PAL SDK टूल के लिए, हर नई स्ट्रीम के साथ एक
नॉन्स जनरेट किया गया नया नंबर. हालांकि, नॉन्स को कई विज्ञापन अनुरोधों के लिए फिर से इस्तेमाल किया जा सकता है
स्ट्रीम करें.
नीचे दिए गए सभी कोड स्निपेट,ViewController.m
PAL iOS सैंपल ऐप्लिकेशन.
नॉन्स का अनुरोध करने के लिए, PAL लाइब्रेरी को इंपोर्ट करें:
@import ProgrammaticAccessLibrary;
आपका स्ट्रीम कोरिलर या &scor
पर अब भी आपका कंट्रोल है, जो कि
हर नई स्ट्रीम के लिए एक बार रीसेट करें. एक ही स्ट्रीम के सभी विज्ञापन अनुरोधों को शेयर किया जाना चाहिए
फ़्रीक्वेंसी कैपिंग के लिए, PALNonceLoader
और स्ट्रीम कोरेलेटर की वही वैल्यू और
ठीक से काम करने दें.
इसके बाद, PALNonceLoader
का एक इंस्टेंस बनाएं और दोनों के लिए स्टब जोड़ें
ऐक्सेस देने के तरीके:
@interface ViewController () <PALNonceLoaderDelegate>
// The nonce loader to use for nonce requests.
@property(nonatomic) PALNonceLoader *nonceLoader;
// The view in which a video would play. In this sample, it is mocked for
// simplification.
@property(nonatomic, weak) IBOutlet UIView *videoView;
@end
...
- (void) viewDidLoad {
[super viewDidLoad];
// The default value for 'allowStorage' and 'directedForChildOrUnknownAge' is
// 'NO', but should be updated once the appropriate consent has been gathered.
// Publishers should either integrate with a CMP or use a different method to
// handle storage consent.
PALSettings *settings = [[PALSettings alloc] init];
settings.allowStorage = YES;
settings.directedForChildOrUnknownAge = NO;
self.nonceLoader = [[PALNonceLoader alloc] initWithSettings:settings];
self.nonceLoader.delegate = self;
}
#pragma mark - PALNonceLoaderDelegate methods
- (void)nonceLoader:(PALNonceLoader *)nonceLoader
withRequest:(PALNonceRequest *)request
didLoadNonceManager:(PALNonceManager *)nonceManager {
}
- (void)nonceLoader:(PALNonceLoader *)nonceLoader
withRequest:(PALNonceRequest *)request
didFailWithError:(NSError *)error {
}
इसके बाद, नॉन्स का अनुरोध करें, इसकी प्रॉपर्टी को पॉप्युलेट करें, और इसका इस्तेमाल इन कामों के लिए करें नॉन्स मैनेजर शुरू करें:
@interface ViewController () <PALNonceLoaderDelegate>
// The nonce loader to use for nonce requests.
@property(nonatomic) PALNonceLoader *nonceLoader;
// The nonce manager result from the last successful nonce request.
@property(nonatomic) PALNonceManager *nonceManager;
// The view in which a video would play. In this sample, it is mocked for
// simplification.
@property(nonatomic, weak) IBOutlet UIView *videoView;
@end
...
- (void)viewDidLoad {
...
self.nonceLoader.delegate = self;
[self requestNonceManager];
}
...
#pragma mark - UI Callback methods
/**
* Requests a new nonce manager with a request containing arbitrary test values
* like a user might supply. Displays the nonce or error on success. This
* should be called once per stream.
*
* The PALNonceRequest parameters set here are example parameters.
* You should set your parameters based on your own app characteristics.
*/
- (void)requestNonceManager {
PALNonceRequest *request = [[PALNonceRequest alloc] init];
request.continuousPlayback = PALFlagOff;
request.descriptionURL = [NSURL URLWithString:@"https://example.com/desc?key=val"];
request.iconsSupported = YES;
request.playerType = @"AwesomePlayer";
request.playerVersion = @"4.2.1";
request.PPID = @"123987456";
request.sessionID = @"Sample SID";
// Sample API framework integer. See reference docs for more details.
NSInteger SampleAPIFramework = 501;
request.supportedApiFrameworks = [NSMutableSet setWithArray:@[ SampleAPIFramework ]];
request.videoPlayerHeight = 480;
request.videoPlayerWidth = 640;
request.willAdAutoPlay = PALFlagOn;
request.willAdPlayMuted = PALFlagOff;
request.OMIDPartnerName = @"SamplePartner";
request.OMIDPartnerVersion = @"6.2.1";
if (self.nonceManager) {
// Detach the old nonce manager's gesture recognizer before destroying it.
[self.videoView removeGestureRecognizer:self.nonceManager.gestureRecognizer];
self.nonceManager = nil;
}
[self.nonceLoader loadNonceManagerWithRequest:request];
}
आखिर में, नॉन्स लोडर डेलिगेट के लिए, जनरेट की गई नॉन्स को लॉग करने के लिए यह तरीका अपनाएं:
#pragma mark - PALNonceLoaderDelegate methods
- (void)nonceLoader:(PALNonceLoader *)nonceLoader
withRequest:(PALNonceRequest *)request
didLoadNonceManager:(PALNonceManager *)nonceManager {
NSLog(@"Programmatic access nonce: %@", nonceManager.nonce);
// Capture the created nonce manager and attach its gesture recognizer to the video view.
self.nonceManager = nonceManager;
[self.videoView addGestureRecognizer:self.nonceManager.gestureRecognizer];
}
- (void)nonceLoader:(PALNonceLoader *)nonceLoader
withRequest:(PALNonceRequest *)request
didFailWithError:(NSError *)error {
NSLog(@"Error generating programmatic access nonce: %@", error);
}
डायरेक्ट वीएएसटी कॉल (डीवीसी) करते समय, नॉन्स को
givn
पैरामीटर. नॉन्स को यूआरएल के लिए सुरक्षित माना जाता है—आपको इसे यूआरएल कोड में बदलने की ज़रूरत नहीं है.
आखिर में, आपको कॉन्टेंट चलाने का सेशन भेजने के लिए तरीके जोड़ने होंगे
जानकारी के साथ-साथ SDK टूल पर हुए क्लिक की जानकारी भी देता है. नीचे दिए गए उदाहरण देखें.
sendPlaybackStart
, sendPlaybackEnd
, और sendAdClick
तरीके:
...
// Reports the start of playback for the current content session.
- (void)sendPlaybackStart {
[self.nonceManager sendPlaybackStart];
}
// Reports the end of playback for the current content session.
- (void)sendPlaybackEnd {
[self.nonceManager sendPlaybackEnd];
}
// Reports an ad click for the current nonce manager, if not nil.
- (void)sendAdClick {
[self.nonceManager sendAdClick];
}
आपके लागू करने के तरीके में, sendPlaybackStart
को "वीडियो प्लेयर" पर कॉल किया जाना चाहिए
शुरू करें" जब प्लेबैक पहली बार शुरू होता है, तो
उपयोगकर्ता की शुरू की गई कार्रवाई (क्लिक-टू-प्ले) या ऐप्लिकेशन की ओर से की जाने वाली कार्रवाई (ऑटोप्ले),
प्लेबैक खत्म होने पर sendPlaybackEnd
को कॉल किया जाना चाहिए और sendAdClick
को कॉल करना चाहिए
हर बार जब दर्शक किसी विज्ञापन पर क्लिक करता है, तो उसे कॉल किया जाता है.
(ज़रूरी नहीं) तीसरे पक्ष के विज्ञापन सर्वर के ज़रिए Google Ad Manager सिग्नल भेजें
Ad Manager के लिए, तीसरे पक्ष के विज्ञापन सर्वर के अनुरोध को कॉन्फ़िगर करें. आपके बाद इन चरणों को पूरा करने के बाद, नॉन्स पैरामीटर PAL SDK टूल से अपने-आप रजिस्टर होता है. फिर उसे Google Ad Manager तक पहुंचाता है. यह चालू करता है के ज़रिए बेहतर तरीके से कमाई कर सकते है.
अपने तीसरे पक्ष के विज्ञापन सर्वर को कॉन्फ़िगर करें, ताकि सर्वर की Ad Manager से अनुरोध किया है. यहां ऐसे विज्ञापन टैग का उदाहरण दिया गया है जिसे तीसरे पक्ष का विज्ञापन सर्वर:
https://pubads.serverside.net/gampad/ads?givn=%%custom_key_for_google_nonce%%&...
ज़्यादा जानकारी के लिए, Google Ad Manager का सर्वर-साइड लागू करना देखें गाइड देखें.
नॉन्स वैल्यू की पहचान करने के लिए, Ad Manager givn=
को ढूंढता है. तीसरे पक्ष का विज्ञापन
सर्वर को अपने खुद के कुछ मैक्रो का समर्थन करना होगा, जैसे
%%custom_key_for_google_nonce%%
पर जाकर, उसे नॉन्स क्वेरी पैरामीटर से बदलें
आपने पिछले चरण में इसकी जानकारी दी थी. ऐसा करने के तरीके के बारे में ज़्यादा जानकारी
तृतीय-पक्ष विज्ञापन सर्वर के दस्तावेज़ों में उपलब्ध होनी चाहिए.