IOS 15 Uno Platform App 跟踪提示未出现
Uno Platform App tracking prompt does not appear in IOS 15
我正在更新我的基于 Uno 的应用程序,并且在测试中 - 应用程序跟踪提示不再出现。我已经实现了这个并且它在 iOS 14 中正常工作。在 iOS 14 中我可以进入隐私设置并看到用户已经选择是否要被跟踪。我在 iOS 15 中没有看到任何这些。在我的研究中,我似乎需要重写 appDelegate 中的 onActivated 方法并将提示代码放在那里。我的项目中没有 appDelegate class,所以我尝试在 app.iOS 中添加一个,但找不到示例中的 formsApplicationdelegate。此外,当我查看 iOS 中的设置时,它没有显示该应用程序具有 tracking/no 跟踪选项。我猜这会在我收到显示提示后显示?我确实验证了设置在我的 info.plist 中。最好的方法是什么?
这是我当前的实现:
info.plist:
<key>NSUserTrackingUsageDescription</key>
<string>The App would like to access the identifier for analytics purposes</string>
MainPage.xaml.cs:
#if __IOS__
using AppTrackingTransparency;
#endif
public sealed partial class MainPage : Page
{
public MainPage()
{
#if __IOS__
try
{
ATTrackingManager.RequestTrackingAuthorization((status) => {
if (status == ATTrackingManagerAuthorizationStatus.Authorized)
{
//do something
}
else if (status == ATTrackingManagerAuthorizationStatus.Denied)
{
//do something
}
});
}
catch (Exception e)
{
//do something
}
#endif
}
}
In my research, it appears that I need to override the onActivated method in appDelegate and put the prompt code in there. I dont have an appDelegate class in my project (...)
App
class(在 App.xaml.cs 中)继承自 Windows.UI.Xaml.Application
,后者又继承自 UIApplicationDelegate
。
这意味着您应该能够在 App.xaml.cs 中执行以下操作。
#if __IOS__
public override void OnActivated(UIKit.UIApplication application)
{
// Your code.
}
#endif
我正在更新我的基于 Uno 的应用程序,并且在测试中 - 应用程序跟踪提示不再出现。我已经实现了这个并且它在 iOS 14 中正常工作。在 iOS 14 中我可以进入隐私设置并看到用户已经选择是否要被跟踪。我在 iOS 15 中没有看到任何这些。在我的研究中,我似乎需要重写 appDelegate 中的 onActivated 方法并将提示代码放在那里。我的项目中没有 appDelegate class,所以我尝试在 app.iOS 中添加一个,但找不到示例中的 formsApplicationdelegate。此外,当我查看 iOS 中的设置时,它没有显示该应用程序具有 tracking/no 跟踪选项。我猜这会在我收到显示提示后显示?我确实验证了设置在我的 info.plist 中。最好的方法是什么?
这是我当前的实现:
info.plist:
<key>NSUserTrackingUsageDescription</key>
<string>The App would like to access the identifier for analytics purposes</string>
MainPage.xaml.cs:
#if __IOS__
using AppTrackingTransparency;
#endif
public sealed partial class MainPage : Page
{
public MainPage()
{
#if __IOS__
try
{
ATTrackingManager.RequestTrackingAuthorization((status) => {
if (status == ATTrackingManagerAuthorizationStatus.Authorized)
{
//do something
}
else if (status == ATTrackingManagerAuthorizationStatus.Denied)
{
//do something
}
});
}
catch (Exception e)
{
//do something
}
#endif
}
}
In my research, it appears that I need to override the onActivated method in appDelegate and put the prompt code in there. I dont have an appDelegate class in my project (...)
App
class(在 App.xaml.cs 中)继承自 Windows.UI.Xaml.Application
,后者又继承自 UIApplicationDelegate
。
这意味着您应该能够在 App.xaml.cs 中执行以下操作。
#if __IOS__
public override void OnActivated(UIKit.UIApplication application)
{
// Your code.
}
#endif