ios - 为基于 Ionic 4 Angular 和 Cordova 的 iOS 应用实现应用跟踪透明度

标签 ios cordova ionic-framework

我的应用程序更新已被苹果拒绝,因为它需要应用程序跟踪透明度,我在我的 ios info.plist 文件中添加了以下几行<key>NSUserTrackingUsageDescription</key><string>Your data will be used to connect external sites to allow you to log-in and track your orders using your email.</string>我试过这个插件 https://github.com/chemerisuk/cordova-plugin-idfa

getInfo(){
    return this.platform
      .ready()
      .then(() => cordova.plugins.idfa.getInfo())
  }
但是当我运行 ionic cordova build iOS 时它显示错误。
错误是:在cordova.plugins中找不到idfa属性
是否有任何官方的 ionic cordova 插件来实现应用程序跟踪透明度?
或者任何人都有用于此目的的自定义解决方案?
请帮忙。

最佳答案

我在博客上找到了解决方案
首先,将此添加到您的 appname-Info.plist 文件中,该文件位于platforms/ios/appname/appname-Info.plist

<key>NSUserTrackingUsageDescription</key>
<string>Your Description</string>
现在安装 Cordova 插件
Cordova 插件添加 Cordova 插件idfa
npm i cordova-plugin-idfa --save
然后将以下内容添加到 app.component
askTrackingPermission() {
      if (this.platform.is('ios')) {
        if (window.cordova) {
          //console.log('trying to request permission ');
          window.cordova.exec(win, fail, 'idfa', "requestPermission", []);
        }
      }
      function win(res) {
        //console.log('success ' + JSON.stringify(res));
      }
      function fail(res) {
        //console.log('fail ' + JSON.stringify(res));
      }
  }
 
readTrackingPermission() {
    if (this.platform.is('ios')) {
      if (window.cordova) {
        window.cordova.exec(win, fail, 'idfa', "getInfo", []);
      }
    }
    function win(res) {
      //console.log('success  ' + JSON.stringify(res));
    }
    function fail(res) {
      //console.log('fail ' + JSON.stringify(res));
    }
  }
不要忘记如下声明窗口
声明让窗口:任何;
导入后
最后从 initializeApp 函数调用
initializeApp() {
this.platform.ready().then(() => {
if (this.platform.is('ios')) {
this.askTrackingPermission();
this.readTrackingPermission();
}
});
}

关于ios - 为基于 Ionic 4 Angular 和 Cordova 的 iOS 应用实现应用跟踪透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67358211/

相关文章:

android - 如何在 Android 上实现 ionic io 推送通知

jquery - PhoneGap 和 JQuery 移动设备加载页面时出现问题(又一个 "Access-Control-Allow-Origin")

ionic-framework - 使用 Socket.IO 创建 VOIP 聊天应用程序

angularjs - Wakanda ionic 应用程序 session

iphone - 从短信中收到的网址打开我的 iPhone 应用程序

ios - Swift UIDocumentPickerViewController 不像操作表弹出窗口那样显示

android - Phonegap inAppBrowser ,目标 _self 不起作用

ios - 旋转的 Spring 动画在它开始的地方结束

ios - UITableViewCell backgroundView 绘制矩形未被调用

android - 带有自定义图像的 ionic ionic 选项卡图标