0

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

方法 1安装广播

我安装了一个名为 cordova 的插件cordova-plugin-installreferrer和一个 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. 并尝试了以下代码:

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

收到以下错误:ReferenceError: referrer is not defined

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

4

1 回答 1

1

在您的方法 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) => {
}); 

并检查它是否有效。代码引用自官方回购

于 2020-10-17T17:09:24.557 回答