# GoogleInteractiveMediaAds Framework Reference

# IMAFriendlyObstruction

    @interface IMAFriendlyObstruction : NSObject

An obstruction that is marked as "friendly" for viewability measurement purposes.
- `


  ### [view](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAFriendlyObstruction#/c:objc(cs)IMAFriendlyObstruction(py)view)


  ` The view causing the obstruction.

  #### Declaration

  Swift

      var view: UIView { get }

  Objective-C

      @property (nonatomic, readonly) UIView *_Nonnull view;

- `


  ### [purpose](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAFriendlyObstruction#/c:objc(cs)IMAFriendlyObstruction(py)purpose)


  ` The purpose for registering the obstruction as friendly.

  #### Declaration

  Swift

      var purpose: https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Enums/IMAFriendlyObstructionPurpose.html { get }

  Objective-C

      @property (nonatomic, readonly) https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Enums/IMAFriendlyObstructionPurpose.html purpose;

- `


  ### [detailedReason](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAFriendlyObstruction#/c:objc(cs)IMAFriendlyObstruction(py)detailedReason)


  ` Optional, detailed reasoning for registering this obstruction as friendly.
  If the `detailedReason` is not null, it must follow the IAB
  standard by being 50 characters or less and only containing characters
  `A-z`, `0-9`, or spaces.

  #### Declaration

  Swift

      var detailedReason: String? { get }

  Objective-C

      @property (nonatomic, readonly, nullable) NSString *detailedReason;

- `


  ### [-initWithView:purpose:detailedReason:](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAFriendlyObstruction#/c:objc(cs)IMAFriendlyObstruction(im)initWithView:purpose:detailedReason:)


  ` Initializes a friendly obstruction.

  #### Declaration

  Swift

      init(view: UIView, purpose: https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Enums/IMAFriendlyObstructionPurpose.html, detailedReason: String?)

  Objective-C

      - (nonnull instancetype)initWithView:(nonnull UIView *)view
                                   purpose:(https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Enums/IMAFriendlyObstructionPurpose.html)purpose
                            detailedReason:(nullable NSString *)detailedReason;

  #### Parameters

  |---|---|
  | ` view ` | The view causing the obstruction. |
  | ` purpose ` | The purpose for registering the obstruction as friendly. |
  | ` detailedReason ` | Optional, detailed reasoning for registering this obstruction as friendly. |

  #### Return Value

  A new IMAFriendlyObstruction instance