为什么缓存appsflyer的ConversionData?
Why the ConversionData of appsflyer is cached?
我正在开发一个离子应用程序,我们需要使用 deeplinks,而我正在使用 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);
}
当我点击深度 link 时,它会打开应用程序并正常加载数据。但是当我点击另一个 link 时,它显示了之前点击的 link 的数据。有人在使用 apssflyer onelink 时遇到过这个问题吗?如果是,如何解决这个问题?
您注意到 onInstallConversionDataListener 仅用于 return 安装归因数据,除非用户卸载并重新安装应用程序,否则此数据不会更改。
要获取随着每个新的深度link URL更新的深度linking数据,请参考我们的onAppOpenAttribution方法,该方法旨在return深度link 最近触发应用程序打开的 link 的详细信息:
https://support.appsflyer.com/hc/en-us/articles/208874366-Deep-Linking-Step-by-Step#the-onappopenattribution-method-
如果您还有其他问题,请联系支持人员@appsflyer.com,我们很乐意为您提供帮助。
最好的,
乔·威廉姆斯
AppsFlyer U.S。支持工程师
新版本(4.4.9)发布,支持onAppOpenAttribution
额外回调:https://github.com/AppsFlyerSDK/cordova-plugin-appsflyer-sdk#registerOnAppOpenAttribution
您还可以找到 this example (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);
}
//...
});
我正在开发一个离子应用程序,我们需要使用 deeplinks,而我正在使用 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);
}
当我点击深度 link 时,它会打开应用程序并正常加载数据。但是当我点击另一个 link 时,它显示了之前点击的 link 的数据。有人在使用 apssflyer onelink 时遇到过这个问题吗?如果是,如何解决这个问题?
您注意到 onInstallConversionDataListener 仅用于 return 安装归因数据,除非用户卸载并重新安装应用程序,否则此数据不会更改。
要获取随着每个新的深度link URL更新的深度linking数据,请参考我们的onAppOpenAttribution方法,该方法旨在return深度link 最近触发应用程序打开的 link 的详细信息: https://support.appsflyer.com/hc/en-us/articles/208874366-Deep-Linking-Step-by-Step#the-onappopenattribution-method-
如果您还有其他问题,请联系支持人员@appsflyer.com,我们很乐意为您提供帮助。
最好的, 乔·威廉姆斯 AppsFlyer U.S。支持工程师
新版本(4.4.9)发布,支持onAppOpenAttribution
额外回调:https://github.com/AppsFlyerSDK/cordova-plugin-appsflyer-sdk#registerOnAppOpenAttribution
您还可以找到 this example (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);
}
//...
});