سیگنال های امن داده های رمزگذاری شده ای هستند که در دستگاه مشتری جمع آوری شده و با پیشنهاد دهندگان منتخب به اشتراک گذاشته می شوند. این راهنما نحوه جمعآوری و ارسال سیگنالهای ایمن به Google Ad Manager را با استفاده از IMA SDK به شما نشان میدهد.
API سیگنال های امن به نسخه 3.18.1 یا بالاتر IMA SDK برای iOS نیاز دارد.
برای انتخاب سیگنالها و مناقصهدهندگان و فعال کردن اشتراکگذاری ایمن سیگنال، به اشتراکگذاری سیگنالهای ایمن با پیشنهاد دهندگان مراجعه کنید.
از یک ارائه دهنده سیگنال شخص ثالث استفاده کنید
برای استفاده از سیگنالهای ایمن، باید یک کلاس آداپتور جمعآوری سیگنال در برنامه خود مستقر کنید تا سیگنالها را جمعآوری کند، آنها را رمزگذاری کند و به IMA SDK ارسال کند.
دستورالعملهای ارائهدهنده شخص ثالث خود را برای راهاندازی حساب با آنها، شامل چارچوبها و راهاندازی آداپتور سیگنالهای امن آنها در برنامه خود دنبال کنید.
IMA SDK برای iOS به طور خودکار هر آداپتور سیگنال های ایمن را بدون هیچ گونه تغییر اضافی در کد شما مقداردهی اولیه می کند.
در اینجا مثالی از نحوه اضافه کردن یک آداپتور سیگنال امن به پروژه خود آورده شده است:
ارسال داده های سفارشی
علاوه بر استفاده از یک ارائه دهنده سیگنال شخص ثالث، می توانید سیگنال ها را با داده های سفارشی جمع آوری، رمزگذاری و ارسال کنید. قبل از اینکه بتوانید سیگنالهای ایمن با دادههای سفارشی ارسال کنید، باید سیگنالهای سفارشی را در Ad Manager روشن کنید.
برای هر درخواست جریان، موارد زیر را انجام دهید:
- یک شی
IMASecureSignals
حاوی داده های سفارشی رمزگذاری شده شما به عنوان یک رشته ایجاد کنید. - با تنظیم ویژگی
IMAStreamRequest.secureSignals
، شیIMASecureSignals
را به درخواست جریان خود اضافه کنید:
هدف-C
app/ViewController.m
- (void)requestStream {
// Create a stream request. Use one of "Livestream request" or "VOD request",
// depending on your type of stream.
IMAStreamRequest *request;
if (kStreamType == StreamTypeLive) {
// Livestream request. Replace the asset key with your value.
request = [[IMALiveStreamRequest alloc] initWithAssetKey:kLiveStreamAssetKey
networkCode:kNetworkCode
adDisplayContainer:self.adDisplayContainer
videoDisplay:self.imaVideoDisplay
userContext:nil];
} else {
// VOD request. Replace the content source ID and video ID with your values.
request = [[IMAVODStreamRequest alloc] initWithContentSourceID:kVODContentSourceID
videoID:kVODVideoID
networkCode:kNetworkCode
adDisplayContainer:self.adDisplayContainer
videoDisplay:self.imaVideoDisplay
userContext:nil];
}
IMASecureSignals *signals =
[[IMASecureSignals alloc] initWithCustomData:@"My encoded signal string"];
request.secureSignals = signals;
[self.adsLoader requestStreamWithRequest:request];
}
سویفت
app/ViewController.swift
func requestStream() {
// Create a stream request. Use one of "Livestream request" or "VOD request".
let signals = IMASecureSignals(customData: "My encoded signal string")
if ViewController.requestType == StreamType.live {
// Livestream request.
let request = IMALiveStreamRequest(
assetKey: ViewController.assetKey,
networkCode: ViewController.networkCode,
adDisplayContainer: adDisplayContainer!,
videoDisplay: imaVideoDisplay,
userContext: nil)
request.secureSignals = signals
adsLoader?.requestStream(with: request)
} else {
// VOD stream request.
let request = IMAVODStreamRequest(
contentSourceID: ViewController.contentSourceID,
videoID: ViewController.videoID,
networkCode: ViewController.networkCode,
adDisplayContainer: adDisplayContainer!,
videoDisplay: imaVideoDisplay,
userContext: nil)
request.secureSignals = signals
adsLoader?.requestStream(with: request)
}
}