iOS için IMA SDK'sı, üçüncü taraf görüntülenebilirlik ve doğrulama ölçümünü etkinleştirmek üzere Interactive Advertising Bureau (IAB) tarafından geliştirilen bir sektör standardı olan Open Measurement (OM) SDK'sını içerir. iOS için IMA SDK kullanılırken, dahil edilen OM SDK, VAST reklam etiketlerindeki <AdVerifications> etiketini otomatik olarak ayrıştırır ve OMID API'yi kullanarak görünürlük verilerini belirtilen ölçüm tedarikçilerine gönderir. IMA SDK, OM SDK v1.4, VAST 2+ üzerindeki GAM AdVerifications uzantılarını ve VAST 4+ üzerindeki AdVerifications düğümünü destekler.Open Measurement'tan yararlanmak için aşağıdaki noktaları göz önünde bulundurun:
Açık Ölçüm'ü kullanmak için iOS için IMA SDK'sının 3.9.0 veya sonraki bir sürümüne sahip olmanız gerekir.
VAST 4.1 veya üzeri bir sürüm kullanılıyorsa reklamlar, VAST 4.1 spesifikasyonuna göre VAST'larında
<AdVerifications>olarak trafik oluşturacak şekilde yapılandırılmalıdır. Aksi takdirde<Extension type="AdVerifications">kullanılmalıdır.AdDisplayContaineröğesini herhangi bir yer paylaşımıyla (şeffaf veya opak) kapatmaktan kaçının. Bu yer paylaşımları OM SDK tarafından engel olarak işaretlenir ve görüntülenebilirliği azaltır.
Ön koşullar
- Reklamlarınız Ad Manager üzerinden yayınlanıyorsa Ad Manager ağınız için bir görüntülenebilirlik sağlayıcısı yapılandırın ve bu görüntülenebilirlik sağlayıcısını satır öğenize atayın.
Test
IMA SDK'yı kullanarak Open Measurement'ı test etmek için OM SDK'yı destekleyen bir IMA sürümü ve test reklam etiketi kullanın.
VAST yanıtınızda <AdVerifications> döndürülmelidir.
Video kontrolü yer paylaşımı engellerini kaydetme
Duraklatma düğmeleri veya ilerleme çubukları gibi video kontrolleri, kullanıcılara oynatma ile ilgili temel bilgiler ve işlemler sunar. Mobil cihazlarda, dokunma işlemlerinin hassas olmaması ve kullanıcı beklentileri nedeniyle, medya öğesi üzerinde büyük ve dokunmaya uygun kontroller oluşturmak yaygın bir uygulama haline geldi. Bu kontroller genellikle kullanıcı dokunduğunda görünür ve kaybolur. Ayrıca, oynatma süresinin büyük bir bölümünde görünmez.
Video kontrollerini yerleştirme örneği için YouTube uygulamasında oluşturma kontrolleriyle ilgili aşağıdaki resme bakın:

IMA SDK'sını kullanırken çoğu yayıncı, bu kontrolleri reklam görüntüleme kapsayıcısının üzerine çoğunlukla şeffaf olan bir görünüm ekleyerek uygular. Genellikle kontroller, temel alınan video oynatıcıyı tamamen kapatan bu görünümün alt öğeleridir. Bu şeffaf yer paylaşımı, dokunma etkinliklerini yakalamak ve ardından dokunulduğunda kontrolleri kullanıcılara göstermek için kullanılır.
Open Measurement SDK kullanılarak reklam görüntülenebilirliği hesaplandığında, medya öğesinin üzerindeki tüm görünümler engel olarak kabul edilir ve görüntülenebilirlik oranını düşürür. Şeffaf bir dokunma yer paylaşımı, reklam görüntüleme kapsayıcısının tamamının üzerinde yer alıyorsa envanterin tamamen görüntülenemez olarak bildirilmesi mümkündür.
Open Measurement SDK, video kontrollerinin kullanıcı deneyimi için gerekli olan "kullanıcı dostu" engeller olarak kabul edilmesini sağlar. Bu kontroller, kullanıcı dostu olarak kaydedildikten sonra reklamın görünürlüğü ölçümünden hariç tutulur.
IAB ve MRC desteğiyle IMA SDK, bu yer paylaşımlarını Open Measurement SDK'ya kaydetmek için bir API sunar. Bu kontroller tamamen şeffaf yer paylaşımları veya küçük düğmeler olmalıdır. Video kontrolleriyle ilgili olmayan diğer görüntülemeler kaydedilmemelidir.
| DO register | KAYDOLMAYIN |
|---|---|
|
|
Aşağıdaki örnek kodda, video denetimleri yer paylaşımlarının reklam görüntüleme kapsayıcısına nasıl kaydedileceği gösterilmektedir:
UIView *myTransparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
// Substitute "myTransparentTapOverlay" and "myPauseButton" with the elements
// you want to register as video controls overlays.
// Make sure to register before ad playback starts.
IMAFriendlyObstruction *overlayObstruction =
[[IMAFriendlyObstruction alloc] initWithView:myTransparentTapOverlay
purpose:IMAFriendlyObstructionPurposeNotVisible
detailedReason:@"This overlay is transparent"];
IMAFriendlyObstruction *pauseButtonObstruction =
[[IMAFriendlyObstruction alloc] initWithView:myPauseButton
purpose:IMAFriendlyObstructionPurposeMediaControls
detailedReason:@"This is the video player pause button"];
[displayContainer registerFriendlyObstruction:overlayObstruction];
[displayContainer registerFriendlyObstruction:pauseButtonObstruction];
Bu engelleri kaldırmak için aşağıdaki yöntemi çağırabilirsiniz:
[displayContainer unregisterAllFriendlyObstructions];