如何在 Ionic 中使用 Google Play Install Referrer API?

How to use Google Play Install Referrer API in Ionic?

过去一周我一直在努力弄清楚如何在 Ionic 应用程序中使用 Google Play Install Referrer API。我尝试使用以下方法:

方法 1InstallBroadcast

我安装了一个名为 cordova-plugin-installreferrer 的 cordova 插件和一个 npm 模块 install-referrer。当我尝试在开发模式下构建应用程序时,我得到的响应是空数组。但是当我在生产模式下构建它时,出现 plugin_not_found 错误。 (PS: 我已经把它添加到 app.module.ts 中的提供程序中)

import { InstallReferrer } from 'install-referrer/ngx';
...
constructor(
  private installReferrer: InstallReferrer
) {
  this.installReferrer.getReferrer().then(data => {
      alert(JSON.stringify(data));
  }).catch((err) => {
      alert(JSON.stringify(err));
  });
}

我还意识到 InstallBroadcast 现在已弃用。我们必须切换到 Play Install Referrer API.

方法 2Play Install Referrer API

我尝试安装一个名为 cordova-install-referrer-api 的 cordova 插件。并尝试了以下代码:

declare var referrer: any;
...
initializeApp() {
  try{
    referrer.get().then((referrer) => {
      alert(JSON.stringify(referrer));
    });
  }catch(err){
    alert(err);
  }
...

出现以下错误:ReferenceError: referrer is not defined

请帮我正确获取推荐人,如果我做错了什么也请告诉我。

在您的方法 2 中:您已经声明了一个变量 referrer 但我在您的代码中看不到初始化,并且您遇到的错误也未定义。所以,我认为你还没有定义它。

删除声明的变量并用此替换您的代码:

cordova.plugins.referrer.get().then((referrer) => {
    console.log(referrer);
    // Remove these comments, just an example from the original API
    // Result:
    // {
    //     clickTimestamp: 0,
    //     installBeginTimestamp: 0,
    //     referrer: "utm_source=google-play&utm_medium=organic"
    // } 

}).catch((error) => {
}); 

并检查它是否有效。代码引用自 Official Repo.