我正在开发离子应用程序,我们需要使用深层链接,而我正在使用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时有人遇到过此问题吗?如果可以的话,如何解决这个问题?
答案 0 :(得分:1)
已发布新版本(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);
}
//...
});
答案 1 :(得分:0)
您要注意的是,onInstallConversionDataListener仅用于返回安装归因数据,除非用户卸载并重新安装该应用程序,否则该数据不会更改。
要获取随每个新的深层链接URL更新的深层链接数据,请参阅我们的onAppOpenAttribution方法,该方法旨在返回最近触发应用程序打开的链接的深层链接详细信息: https://support.appsflyer.com/hc/en-us/articles/208874366-Deep-Linking-Step-by-Step#the-onappopenattribution-method-
如果您还有其他问题,请联系support@appsflyer.com,我们很乐意为您提供帮助。
最好, 乔·威廉姆斯 AppsFlyer美国支持工程师