1

我正在为 Unity 游戏实施 IronSource Facebook Audience Network 中介。在文档中,它提到SetAdvertiserTrackingEnabled了第 9 步中的设置。很抱歉,如果这听起来很愚蠢,但是如果我使用 IronSource 中介而不是实际的 Audience Network SDK,我该怎么做?我在这里错过了什么吗?

Ironsource 集成文档:https ://developers.ironsrc.com/ironsource-mobile/unity/facebook-mediation-guide/#step-9

4

2 回答 2

1

最简单的方法是执行以下操作:

  1. 打开 Assets/IronSource/Plugins/iOS/iOSBridge.m

  2. 导入 FBAdSettings

     #import "iOSBridge.h"
     #import <FBAudienceNetwork/FBAdSettings.h>
     #import <UIKit/UIKit.h>
    
  3. 在初始化 IronSource 之前调用 setAdvertiserTrackingEnabled

     - (instancetype)init {
         [FBAdSettings setAdvertiserTrackingEnabled:YES];
         if(self = [super init]){
             [IronSource setRewardedVideoDelegate:self];
    
于 2021-02-05T08:44:11.653 回答
1

我对 Objective-C 不是很熟悉,但我按照 FAN 的建议做了,并添加了一个 C# 脚本

using UnityEngine;
using System.Runtime.InteropServices;

#if UNITY_IOS

namespace AudienceNetwork
{
public static class AdSettings
{
[DllImport("__Internal")] 
private static extern void FBAdSettingsBridgeSetAdvertiserTrackingEnabled(bool advertiserTrackingEnabled);

public static void SetAdvertiserTrackingEnabled(bool advertiserTrackingEnabled)
{
FBAdSettingsBridgeSetAdvertiserTrackingEnabled(advertiserTrackingEnabled);
}
}
}

#endif

所以在我可以简单地设置 FAN 标志之后:

AudienceNetwork.AdSettings.SetAdvertiserTrackingEnabled(true);

使用 iOS 支持包,我还做了一个简单的脚本来根据 iOS 首选项中的当前 IDFA/ATT 设置进行设置(用户可以随时更改它)。

using Unity.Advertisement.IosSupport;

public void iOS_SetFanFlag()
{
    bool setFanFlag;

    if ((int)ATTrackingStatusBinding.GetAuthorizationTrackingStatus() == 3)
       setFanFlag = true; //If==3, App is AUTHORIZED in settings
    else setFanFlag = false;  //DENIED, RESTRICTED or NOT DETERMINED (==2,1,0)
    
    AudienceNetwork.AdSettings.SetAdvertiserTrackingEnabled(setFanFlag);

}

情况是 - 这必须在 IronSource 初始化之前设置,我不确定如何检查/测试它是否正常工作。

于 2021-03-25T16:14:35.970 回答