Почему ConversionData appflyer кэшируется?

Я занимаюсь разработкой ионного приложения, и нам нужно использовать глубокие ссылки, и я использую appsflyer. Я вызываю упомянутый ниже метод, передавая devKey и appID

    // initialize appsflyer
initAppsflyer() {

    var onSuccess = function (result) {
        //handle result
        console.log('Appsflyer onSuccess ' + result);

    };

    var onError = function (err) {
        // handle error
        console.log('Appsflyer onError ' + err);
    }
    var options = {
        devKey: '',
        appId: '',
        isDebug: true,
        onInstallConversionDataListener: true
    };
    window.plugins.appsFlyer.initSdk(options, onSuccess, onError);
}

когда я нажимаю на глубокую ссылку, он открывает приложение, и данные загружаются нормально. Но когда я нажимаю на другую ссылку, он показывает данные ранее нажатой ссылки. Кто-нибудь сталкивался с этой проблемой при работе с apssflyer onelink? если так, как преодолеть эту проблему?

2 ответа

Решение

Что вы заметили, так это то, что onInstallConversionDataListener предназначен только для возврата данных об авторских правах на установку, и эти данные не изменятся, пока пользователь не удалит и не переустановит приложение.

Чтобы получить данные о глубоких ссылках, которые обновляются с каждым новым URL-адресом глубоких ссылок, обратитесь к нашему методу onAppOpenAttribution, который предназначен для получения подробных сведений о ссылке, открывшей последнее время при запуске приложения: https://support.appsflyer.com/hc/en. / статьи - американские / 208874366-Deep-Linking-Шаг за шагом #-onappopenattribution-ме-

Если у вас есть дополнительные вопросы, обращайтесь по адресу support@appsflyer.com, и мы будем рады помочь вам.

Лучший, Джо Уильямс, инженер AppsFlyer, США

Выпущена новая версия (4.4.9), которая поддерживает дополнительный обратный вызов для onAppOpenAttribution: https://github.com/AppsFlyerSDK/cordova-plugin-appsflyer-sdk

Также вы можете найти этот пример (Ionic3) полезным

platform.ready().then(() => {

  // init AppsFlyer
  const options = new AppsFlyerInitOptions();
  options.devKey = AppsFlyerConstants.DEV_KEY;
  options.isDebug = true; // Optional
  options.onInstallConversionDataListener = true;

  if (platform.is('ios')){
    options.appId = AppsFlyerConstants.APP_ID;
  }

  try {
    const onSuccess: Function = (res: any) => {
      // do something with  JSON.parse(res)
    };
    const onError: Function = (err: any) => {
      //..
    };

    const onAppOpenAttributionSuccess: Function = (res: any) => {
      // do something with  JSON.parse(res)
    };
    const onAppOpenAttributionError: Function = (err: any) => {
      //..
    };

    window.plugins.appsFlyer.registerOnAppOpenAttribution(onAppOpenAttributionSuccess, onAppOpenAttributionError);

    window.plugins.appsFlyer.initSdk(options, onSuccess, onError);
  }
  catch (e) {
    console.error("ERROR: AppsFlyer not initiated", e);
  }

 //...
});
Другие вопросы по тегам